前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AVERAGEX函数丨移动平均

AVERAGEX函数丨移动平均

原创
作者头像
PowerBI丨白茶
修改2021-09-02 09:29:30
7910
修改2021-09-02 09:29:30
举报
文章被收录于专栏:PowerBIPowerBI

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

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

白茶:没问题,EASY!

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

白茶:OK,没问题!

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

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

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

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

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

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

结果如图:

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

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

AVERAGEX函数:

代码语言:txt
复制
语法=
AVERAGEX(<table>,<expression>)

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

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

DATESINPERIOD函数:

代码语言:txt
复制
语法=
DATESINPERIOD(<dates>,<start_date>,<number_of_intervals>,<interval>)

返回的结果是一段时间。

第一参数是一组日期列;

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

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

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

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

基础代码:

代码语言:txt
复制
销售 =
SUM ( '示例'[销售金额] )

移动平均代码:

代码语言:txt
复制
移动平均 =
AVERAGEX ( DATESINPERIOD ( '日期表'[Date], MAX ( '日期表'[Date] ), -7, DAY ), [销售] )

放入折线图中进行对比:

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

这里解释一下代码含义:

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

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

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

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

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

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

修改刚才的公式如下:

代码语言:txt
复制
移动平均2 =
AVERAGEX (
    DATESINPERIOD ( '日期表'[Date], MAX ( '日期表'[Date] ), - [移动平均 值], DAY ),
    [销售]
)

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

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


小伙伴们❤GET了么?

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档