#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
я сделал расчеты, но получил неверное значение .любая идея заранее спасибо