在DAX Power BI中计算N个月的移动平均值

问题描述

我有一种方法可以计算3个月的移动平均值:

     Moving_Avg_3_Months = AVERAGEX(DATESINPERIOD('Calendar FY'[Date],LASTDATE('Calendar FY'[Date]),-3,MONTH),[CUS Revenue Credible All])

是否可以创建一个度量来计算我的[CUS收入可信全部]的移动平均线-而不是N个月。 N = 3或N = 6或N =我想要的任何数字?

解决方法

如果使用不同的移动平均值创建新表,则要使用例如。 TableMovingAverage: [-3,-6,-12,-24,...,N]
并像这样修改您的DAX公式:

Moving_Avg_3_Months = 
    AVERAGEX(
       DATESINPERIOD('Calendar FY'[Date],LASTDATE('Calendar FY'[Date]),SELECTEDVALUE('TableMovingAverage',-3),MONTH),[CUS Revenue Credible All])

SELECTEDVALUE如果指定表中只有一个值,则返回标量;否则,在这种情况下,它返回默认值-3
如果您过滤TableMovingAverage,则可以在不同的移动平均值之间切换