目标:我想将计算所得的列公式转换为度量,因为EARLIER
函数无法用于度量。
查询以进行修改:
VAR sumed_exp =
DIVIDE(
SUM(Retention[Week n-1]),
SUM(Retention[Week n-2])
)
VAR PrevDay =
CALCULATE (
LASTDATE ( Retention[Report Date] ),
Retention[Report Date] < EARLIER ( Retention[Report Date] )
RETURN
CALCULATE(
sumed_exp,
PrevDay
)
说明: 基本上我想要最后一个表示的值是:
sum
中所有值的divided
sum
列在第n-2周中的所有值答案 0 :(得分:2)
这是标准的DAX Pattern for a cumulative total。
您在MAX
中使用EARLIER
而不是FILTER
。
VAR PrevDay =
CALCULATE (
LASTDATE ( Retention[Report Date] ),
FILTER (
ALL ( Retention[Report Date] ),
Retention[Report Date] < MAX ( Retention[Report Date] )
)
)
RETURN
CALCULATE(
DIVIDE(
SUM(Retention[Week n-1]),
SUM(Retention[Week n-2])
),
Retention[Report Date] = PrevDay
)
请注意,这是当前过滤器上下文中的最大值,而不是整个列中的最大值。