Power|Power Pivot中如何通过添加列计算移动平均?

(一) 通过添加列计算移动平均 表1
Power|Power Pivot中如何通过添加列计算移动平均?
文章图片
表1 前提条件要点:日期列连续不中断
要求:计算5日平均值
1. 解题思路

  • 计算5日平均值则只有在日期大于5日以后的,才会有5日均线
  • 筛选出当前日期往上倒推5日的表,并计算金额的平均值
2. 函数思路
A. 计算均值的起始日期 因为日期是连续的,所以起始日应该是当天往前推第5天
'表1'[日期]>=Earlier('表1'[日期])-5)

B. 计算均值的结束日期 结束日期应该就是当前日期,这里会涉及到Earlier函数
'表1'[日期]

C. 计算最早可达到条件的日期 我们要计算5日均线,那就必须要有5日的数据才可以用于计算
Calculate(LastnonBlank('表1'[日期],1),TopN(5,'表1'))

先筛选出最前的5行,然后取最后一天的日期。
3. 函数合并
既然3个条件都有了,那我们就可以直接写成公式:
if('表1'[日期]>Calculate(LastnonBlank('表1'[日期],1), TopN(5,'表1')), //判断是否满足最小计算数量要求 Averagex(Filter('表1','表1'[日期]=Earlier('表1'[日期])-5), '表1'[金额] ), Blank() )

目标结果:

Power|Power Pivot中如何通过添加列计算移动平均?
文章图片
结果 【Power|Power Pivot中如何通过添加列计算移动平均?】喜欢的别忘了点个赞咯!

    推荐阅读