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

一、移动平均

Power BI中如何实现移动平均功能_第1张图片

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

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

二、问题描述

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

表:销售记录

Power BI中如何实现移动平均功能_第2张图片

表:偏移量

Power BI中如何实现移动平均功能_第3张图片

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

三、分析

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

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

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

Power BI中如何实现移动平均功能_第4张图片

上图中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中如何实现移动平均功能_第5张图片

(二)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('偏移量'[移动平均天数]),与切片器“移动平均天数”动态关联,实现动态移动平均

Power BI中如何实现移动平均功能_第6张图片

你可能感兴趣的:(Power,BI,Power,BI,移动平均,数据分析)