AVERAGEX函数丨移动平均

在实际销售中,经常能遇到中国式老板的需求。比如说,我有一份最近的销售清单。

BOSS:我要看最近这5天的销售额平均值!

白茶:没问题,EASY!

BOSS:我还要看最近7天的!

白茶:OK,没问题!

BOSS:我还要你给我预测一下咱的销售趋势!

白茶:…(内心无数次想掀翻桌子)好。

这就是实际的情况,为了应对烦不胜烦的平均需求,我们该怎样进行呢?

这是一份案例数据,连续的,日期没有中断的。将其导入PowerBI中。

看到这里,有的小伙伴会问了,那我日期要是不连续的该怎么进行呢?这个过一段时间白茶会继续讲解,咱先来了解基础。

(示例文件会放到知识星球中,小伙伴们可以搜索“PowerBI丨需求圈”,文章结尾处会有二维码。)

结果如图:

老规矩,建立日期表,建立模型关系,这里就不赘述了。现将原始数据放入折线图中查看。结果如下:

这就是我们需要处理的数据。前期准备工作完成,咱来看看涉及到的知识点。

AVERAGEX函数:

语法=
AVERAGEX(<table>,<expression>)

第一参数是一个表,第二参数是这个表对应每一行的值,可以是表达式,但是结果必须是标量值。

需要注意的是,这是一个迭代函数,会对表中的数据逐行计算。

DATESINPERIOD函数:

语法=
DATESINPERIOD(<dates>,<start_date>,<number_of_intervals>,<interval>)

返回的结果是一段时间。

第一参数是一组日期列;

第二参数代表开始的日期;

第三参数代表移动的间隔;

第四参数代表移动单位,可以是DAY、MONTH、QUARTER、YEAR。

涉及到的相关知识介绍完毕,编写如下代码:

基础代码:

销售 =
SUM ( '示例'[销售金额] )

移动平均代码:

移动平均 =
AVERAGEX ( DATESINPERIOD ( '日期表'[Date], MAX ( '日期表'[Date] ), -7, DAY ), [销售] )

放入折线图中进行对比:

这样的话就求出来7天的移动平均值了。

这里解释一下代码含义:

DATESINPERIOD函数在这里是选定最新日期,向前移动7天。每7天算作一组。

**[销售]**是为每组时间段匹配相关计算值。

AVERAGEX函数求出每组**[销售]**的算数平均值。

但是有的小伙伴就会说了,白茶,你不是说移动么?移动结果呢?

别急,还没结束,咱们继续。

在建模窗口视图下添加“参数”,填写自己的数据参数,点击确定。

修改刚才的公式如下:

移动平均2 =
AVERAGEX (
    DATESINPERIOD ( '日期表'[Date], MAX ( '日期表'[Date] ), - [移动平均 值], DAY ),
    [销售]
)

放在折线图中对比,结果如图:

图中黄线是之前写的代码;红线是移动平均。


小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Fabric丨白茶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值