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

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

表1

表1
表1

前提条件要点:日期列连续不中断
要求:计算5日平均值

1. 解题思路

  • 计算5日平均值则只有在日期大于5日以后的,才会有5日均线
  • 筛选出当前日期往上倒推5日的表,并计算金额的平均值

2. 函数思路

A. 计算均值的起始日期

因为日期是连续的,所以起始日应该是当天往前推第5天

'表1'[日期]>=Earlier('表1'[日期])-5)

B. 计算均值的结束日期

结束日期应该就是当前日期,这里会涉及到Earlier函数

'表1'[日期]<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'[日期])
                   &&'表1'[日期]>=Earlier('表1'[日期])-5),
              '表1'[金额]
              ),
   Blank()
  )

目标结果:


结果
结果

喜欢的别忘了点个赞咯!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容