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

(一) 通过添加列计算移动平均

表1

表1
表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 Pivot中如何通过添加列计算移动平均?)