Power BI 移动平均值的计算

数据结构:

日期维度表,有date, month, year, year-month, quarter, startofmonth(每月的第一天)等维度,时间相关的都与其有关。

业务数据表,有YEAR-MONTH,有每月的平均人头

业务表与日期维度发生多对一的关系(YEAR-MONT--STARTOFMONTH)

但由于每月的平均人头波动比较大,想看一个前十二个月(包括当月)的月平均人头加入对比。

用了DATESINPERIOD函数,有数据出来,但与EXCEL计算的不一致,怀疑是这个生成的数据,是按天,不是按月,也是日期维度的结构有关。

经过思考,在日期维度中加入一列,计算每月第一天对应的前一年的日期:

YTD = DATEADD(V_Dim_Time[StartOfMonth],-12,MONTH)

在业务表中新增计算列,计算HC: 

TTHC=SUM(HC);

新增一计算列计算移动平均值:

avg hc = 

var CurrentDate=max(V_Dim_Time[StartOfMonth]) 

var minDate=max(V_Dim_Time[YTD]) 

var Period = FILTER(ALL(V_Dim_Time[StartOfMonth]),V_Dim_Time[StartOfMonth]>minDate && V_Dim_Time[StartOfMonth]<=CurrentDate) 

var Result=AVERAGEX(Period,TTHC)

 return Result


搞定收工

你可能感兴趣的:(Power BI 移动平均值的计算)