Power BI(DAX或Power Query)中3个月滚动平均值的季度总和

时间:2018-08-01 01:06:50

标签: powerbi dax powerpivot powerquery

我有每月的结果,需要以3个月的滚动平均值表示,有时以每月为单位,有时以季度/年的3个月滚动平均值的总和表示。

在每月的水平上,我发现以下公式很有效:

3-Mo Rolling Avg = CALCULATE([Market Performance],DATESINPERIOD(Calendar_Lookup [date],MAX(Calendar_Lookup [date]),-3,MONTH))

/ CALCULATE(DISTINCTCOUNT(Calendar_Lookup [Year_Month]),DATESINPERIOD(Calendar_Lookup [date],LASTDATE(Calendar_Lookup [date]),-3,MONTH))

但是,当我显示季度或年度结果时,它显示的是三个月平均值,而不是该时期的三个月平均值之和。您将如何解决这个问题?

我可以看到的选项是:

  1. 在Power Query或DAX中创建一列以保存三个月平均值,因此我可以根据需要对其求和吗?有关如何执行此操作的任何建议?

  2. 弄清楚如何进行度量的求和。有关如何执行此操作的任何建议?

  3. 在月度,季度和年度级别上制定一系列措施。这不是一个很好的解决方案,因为它不允许我在执行分析时快速工作,因为我必须谨慎采取正确的措施。

任何建议将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:2)

  

但是,当我显示季度或年度结果时,它显示的是三个月平均值,而不是该时期的三个月平均值之和。您将如何解决这个问题?

基于这一部分,听起来您需要迭代器功能之一。在这种情况下,听起来像SUMX

基本布局应类似于

Measure:= SUMX( VALUES(Calendar_Lookup[Year_Month] ) ,  [3-Mo Rolling Avg] )

此度量首先将使用VALUES函数生成每个[Year_Month]的不同列表。然后,它将使用您现有的[3-Mo Rolling Avg]为每个[Year_Month]进行计算,然后对结果求和。