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)