DAX 滚动平均线
Rolling Average in DAX
我正在尝试计算三个周期的滚动平均值。
例如,
Seq 3,计算为 (0.59 + 0.69 + 0.37) /3
Seq 4,计算为(0.69 +0.37+ 1.05)/3
等等
使用序号是因为需要按期间而不是天或月来计算。
我的 DAX 查询是这样的 -
滚动平均值=
它似乎不起作用。滚动平均值是错误的。有人可以帮忙吗。
应该像这样工作:
Rolling Average =
var maxSEQ = MAX('Average Toil'[SEQ])
var sumSEQ = CALCULATE(SUM('Average Toil'[Average Toil Accrued]),
ALL('Average Toil'), 'Average Toil'[SEQ] <= maxSEQ &&
'Average Toil'[SEQ] >= maxSEQ-2)
var ravg = DIVIDE(sumSEQ, 3)
return
IF(maxSEQ > 2, ravg)
编辑:再想一想,当然它也应该与 ALLSELECTED 一起使用,以防出现您不想显示的内容:
Rolling Average =
var maxSEQ = MAX('Average Toil'[SEQ])
var sumSEQ = CALCULATE(SUM('Average Toil'[Average Toil Accrued]),
ALLSELECTED('Average Toil'), 'Average Toil'[SEQ] <= maxSEQ &&
'Average Toil'[SEQ] >= maxSEQ-2)
var ravg = DIVIDE(sumSEQ, 3)
return
IF(maxSEQ > 2, ravg)
我正在尝试计算三个周期的滚动平均值。
例如,
Seq 3,计算为 (0.59 + 0.69 + 0.37) /3
Seq 4,计算为(0.69 +0.37+ 1.05)/3
等等
使用序号是因为需要按期间而不是天或月来计算。
我的 DAX 查询是这样的 -
滚动平均值=
它似乎不起作用。滚动平均值是错误的。有人可以帮忙吗。
应该像这样工作:
Rolling Average =
var maxSEQ = MAX('Average Toil'[SEQ])
var sumSEQ = CALCULATE(SUM('Average Toil'[Average Toil Accrued]),
ALL('Average Toil'), 'Average Toil'[SEQ] <= maxSEQ &&
'Average Toil'[SEQ] >= maxSEQ-2)
var ravg = DIVIDE(sumSEQ, 3)
return
IF(maxSEQ > 2, ravg)
编辑:再想一想,当然它也应该与 ALLSELECTED 一起使用,以防出现您不想显示的内容:
Rolling Average =
var maxSEQ = MAX('Average Toil'[SEQ])
var sumSEQ = CALCULATE(SUM('Average Toil'[Average Toil Accrued]),
ALLSELECTED('Average Toil'), 'Average Toil'[SEQ] <= maxSEQ &&
'Average Toil'[SEQ] >= maxSEQ-2)
var ravg = DIVIDE(sumSEQ, 3)
return
IF(maxSEQ > 2, ravg)