Power BI中如何实现移动平均功能

文章介绍了如何在PowerBI中计算移动平均值,分别展示了在数据模式下通过新建列和在报表模式下通过新建度量值的两种方法。对于10日移动平均值的计算,文章提供了优化的公式,同时提到了静态和动态移动平均的实现,动态移动平均与切片器关联,实现了移动平均天数的动态调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、移动平均

 移动平均,是一种常用的统计分析方法,它是指将一定时间范围内的数据,按一定的时间间间隔进行计算平均,然后将平均值形成一条折线。常用的时间间隔有10天、20天、30天、60天等。

当原数据折线图波动比较大时,通过移动平均可以使折线图变得趋于平缓,更有利于发现变化趋势。

二、问题描述

已知2022年7月1日至2022年12月31日日销售金额和需求计算的不同偏移量,见下表。

表:销售记录

表:偏移量

问题:在Power BI中计算不同偏移量下的移动平均值

三、分析

有关移动平均值的计算,这里我们分成两种情况呈现,一种是在Power BI数据模式下,通过新建列来计算移动平均值;二种是Power BI报表模式下,通过新建度量值来计算移动平均值。

(一)Power BI数据模式下,通过新建列来计算移动平均值

新建列,10日移动平均值1 = AVERAGEX(FILTER(ALL('销售记录'),'销售记录'[日期]<=EARLIER('销售记录'[日期]) && '销售记录'[日期]>EARLIER('销售记录'[日期])-10),'销售记录'[销售金额])

上图中7月1日~7月9日也显示了平均值,习惯做法由于7月1日~7月9日不满10天,应显示为空,所以对对上面的公式进行如下优化:

新建列,10日移动平均值2 = AVERAGEX(FILTER(ALL('销售记录'),'销售记录'[日期]<=EARLIER('销售记录'[日期]) && '销售记录'[日期]>EARLIER('销售记录'[日期])-10 && EARLIER('销售记录'[日期])>=MIN('销售记录'[日期])+9),'销售记录'[销售金额])

通过筛选条件EARLIER('销售记录'[日期])>=MIN('销售记录'[日期])+9),将前9天筛选掉。

(二)Power BI报表模式下,通过新建度量值来计算移动平均值

1、静态移动平均

新建度量值,10日移动平均 = CALCULATE(AVERAGE('销售记录'[销售金额]),FILTER(ALL('销售记录'),'销售记录'[日期]<=SELECTEDVALUE('销售记录'[日期]) && '销售记录'[日期]>SELECTEDVALUE('销售记录'[日期])-10 && SELECTEDVALUE('销售记录'[日期])>=MINX(ALL('销售记录'),'销售记录'[日期])+9))

2、动态移动平均

新建度量值,移动平均 = CALCULATE(AVERAGE('销售记录'[销售金额]),FILTER(ALL('销售记录'),'销售记录'[日期]<=SELECTEDVALUE('销售记录'[日期]) && '销售记录'[日期]>SELECTEDVALUE('销售记录'[日期])-SELECTEDVALUE('偏移量'[移动平均天数]) && SELECTEDVALUE('销售记录'[日期])>=MINX(ALL('销售记录'),'销售记录'[日期])+SELECTEDVALUE('偏移量'[移动平均天数])-1))

注意:

(1)新建度量值时用的是SELECTEDVALUE('销售记录'[日期]),而新建列时用的是EARLIER('销售记录'[日期])

(2)通过SELECTEDVALUE('偏移量'[移动平均天数]),与切片器“移动平均天数”动态关联,实现动态移动平均

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值