Среднее значение за предыдущие три месяца по сравнению со следующими тремя месяцами

#powerbi #powerbi-desktop

Вопрос:

У меня есть данные за месяц, мой график, как показано ниже .Если пользователь выберет любой месяц, значение предыдущего месяца будет рассчитываться на основе постоянного значения.

Если пользователь выберет июль месяц . предыдущий месяц Предыдущий месяц Апрель,Май,Июнь .эти три значения вычисляются по постоянному значению

Апрель 65.01 * 0.2 =13.00

Май 65,03 * 0,3 =19,05

Июнь 64.02*05 =32.01

Среднее значение Toal 64,7 .Это значение необходимо сохранить в течение следующих трех месяцев

август 64.07 Сентябрь 64.07 Октябрь 64.07 Ноябрь 65.07 Декабрь 66.07

В следующем ноябре значение месяца увеличится на 1 ,значение декабря увеличится на 2

Значения за предыдущий месяц, используемые для измерения времени безотказной работы :

Дата измерения:

 Date = EOMONTH(MAX('DatePA'[Week Date]),-1)
Measure: Measure = EOMONTH([Date],-3)


Up time = 
CALCULATE (
    DIVIDE ( [calc op per day], [calc op per day manne] ),
    FILTER (
        'PA - E2PR',
        AND (
            'PA - E2PR'[Effective Date] < [Date],
            'PA - E2PR'[Effective Date] >= Measuress[Measure]
        ) 
           
    )
)
 

Значения для следующего :

 Datenxt = EOMONTH(MAX(DatePA[Week Date]),0)
   
Measurenxt = EOMONTH([Datenxt],12)


Up time next = 
CALCULATE (
    DIVIDE ( [calc op per day], [calc op per day manne] ),
    FILTER (
        'PA - E2PR',
        AND (
            'PA - E2PR'[Effective Date] > [Datenxt],
            'PA - E2PR'[Effective Date] <= Measuress[Measurenxt]
        )
        
    )
)
 

я использовал три показателя для расчета за предыдущий месяц

 Uptime MINT Average = 
VAR a =
    SELECTEDVALUE ( DatePA[monthno] )
VAR yearend =
    ENDOFYEAR ( calender[Date])
VAR result =
    IF (
        MAX ( 'combine effective date'[month no] ) >= a
            amp;amp; MAX ( 'combine effective date'[Effective Date] ) <= yearend,
        [Increase in Average],
        BLANK ()
    )
RETURN
    result



Increase in Average = 
VAR selectedvalue =
    DATE ( YEAR ( MAX ( DatePA[Week Date] ) ), MONTH ( MAX ( DatePA[Week Date] ) ), DAY ( 2 ) )
VAR a =
    DATE ( YEAR ( selectedvalue ), MONTH ( selectedvalue ) -1 , DAY ( selectedvalue ) )
VAR b =
    DATE ( YEAR ( selectedvalue ), MONTH ( selectedvalue ) -2, DAY ( selectedvalue ) )
VAR c =
    DATE ( YEAR ( selectedvalue ), MONTH ( selectedvalue ) -3, DAY ( selectedvalue ) )
VAR d =
    DATE ( YEAR ( selectedvalue ), MONTH ( selectedvalue ) -4, DAY ( selectedvalue ) )
VAR selectedmonth =
    SELECTEDVALUE ( DatePA[monthno] )
VAR yearend =
    ENDOFYEAR ( calender[Date] )
VAR result =
    IF (
        MAX ( 'combine effective date'[month no] ) >= selectedmonth
            amp;amp; MAX ( 'combine effective date'[Effective Date] ) <= a,
        [previous 3 Mint Average],
        IF (
            MAX ( 'combine effective date'[Effective Date] ) > a
                amp;amp; MAX ( 'combine effective date'[Effective Date] ) <= d,
            [previous 3 Mint Average]   0.01,
            IF (
                MAX ( 'combine effective date'[Effective Date] ) > d,
                [previous 3 Mint Average]   0.02
            )
        )
    )
RETURN
    result


previous 3 Mint Average = 
VAR selectedvalue =
    DATE ( YEAR ( MAX ( DatePA[Week Date] ) ), MONTH ( MAX ( DatePA[Week Date] ) ), DAY ( 2 ) )
VAR a =
    DATE ( YEAR ( selectedvalue ), MONTH ( selectedvalue ) - 1, DAY ( selectedvalue ) )
VAR b =
    DATE ( YEAR ( selectedvalue ), MONTH ( selectedvalue ) -2, DAY ( selectedvalue ) )
VAR c =
    DATE ( YEAR ( selectedvalue ), MONTH ( selectedvalue ) - 3, DAY ( selectedvalue ) )
var d = CALCULATE([Uptime])*0.5
var e = CALCULATE([Uptime])*0.3
var f = CALCULATE([Uptime])*0.2
RETURN
    d   e   f
 

введите описание изображения здесь

я сделал расчеты, но получил неверное значение .любая идея заранее спасибо