Power BI 度量值 | 累计聚合

经常碰到本年至今、本月至今的数据计算,其实还有一类计算是,从历史最早日期至今的累计计算,比如从开业到现在总共卖出了多少件商品,累计实现了多少销售额等。

本年累计称为YTD,历史至今的累计是不是可以称为HTD呢:) ;这样的时间段很可能是跨年的,所以时间智能函数并不适用,不过不用时间智能函数依然可以很简单的进行计算。

模拟数据如下:

只是计算一个整体累计销售额很简单,我们想要计算的是从最初到任意一个日期的累计销售额,为了能一次计算出各种粒度的历史至今,可以先构造一个日期表并建立关系。(参考:玩PowerBI必备的日期表制作方式汇总

然后写个度量值,

历史至今 累计收入 = CALCULATE(    SUM('订单表'[销售额]),    FILTER(            ALL('日期表'),            '日期表'[日期]<=MAX('日期表'[日期])))

然后在矩阵中看看结果,

结果正是历史所有订单的累计销售额,这个度量值的关键是用MAX函数获取当前上下文的日期,然后返回小于等于当前日期的所有销售额的合计。

这个度量值写法有一个问题,就是它把日期表中所有的日期都计算了一遍,其实大于最后一个订单日期的无须计算,因为结果并不会发生变化。

为了解决这个问题,可以先把最后一个订单日期找出来:

订单最大日期 = MAXX(ALL('订单表'),'订单表'[订单日期])

然后在历史累计中增加个判断条件,

历史至今 累计收入 优化 = IF( MIN('日期表'[日期])<=[订单最大日期],    CALCULATE(        SUM('订单表'[销售额]),        FILTER(             ALL('日期表'),             '日期表'[日期]<=MAX('日期表'[日期]))))

再来看一下结果,

正是期望的效果。

历史至今的聚合计算,不一定只是累计求和,还可以找出历史上最大的订单金额,或者历史至今的平均订单金额,这些情况只需要改一下聚合函数就行了,比如平均订单金额就是把SUM改成AVERAGE,

历史至今 平均订单订单 = IF( MIN('日期表'[日期])<=[订单最大日期], CALCULATE(         AVERAGE('订单表'[销售额]),                FILTER(                   ALL('日期表'),                   '日期表'[日期]<=MAX('日期表'[日期]))))

最大最小订单同理,不再一一列出,结果如下:


(0)

相关推荐

  • Calculate计值流,DAX最重要知识点,没有之一!【兼5月送书福利】

    - 1 - 所有对Calculate函数的疑问,几乎全都跟它的计值流有关系. 首先,看一个群里朋友问的问题:求各菜品名称的最大日期对应的销售量.  1.为什么先写好度量[最大日期],然后在Calcul ...

  • 为什么我的公式总是出错?

    想知道为什么公式总是出现错误?首先要了解下工作中常见的Excel错误值.目前主要有以下8种,具体如下: 接下来,我们详细看看对应错误值的解决办法. 1.##### 出现#####,主要原因有两种:列宽 ...

  • 查找、求和、最大一次全搞定,这简直就是万能的套路!

    学员的问题,从不同系统导出来的单号两边是不一样,左边是单个,右边是多个,现在想将右边对应的金额.最后日期引用过来. 相当于字符多的引用字符少的,关于这个,卢子早期分享过一个通用的查找套路. 早期案例回 ...

  • 厉害了,lookup还能这样玩

    学员群聊天的话,作为今天的标题. 关于LOOKUP函数,有不少人还是停留在死记公式的状态,其实,只要稍微变动一下就可以完成非常多的效果. 1.获取最大值对应的城市 最大值用MAX函数,将这个作为查找值 ...

  • Power BI 度量值 | 滚动聚合

    上一篇文讲了累计聚合,这篇文章继续讲一下滚动聚合,比如常用的MAT计算,Moving Annual Total,滚动年度总计,即向前滚动12月的合计数. 滚动年度求和,也经常用于财务上的滚动预算,看完 ...

  • Power BI度量值和新建表,到底有什么区别?

    PowerBI中,有三个地方可以使用DAX,分别是度量值.新建列和新建表,这三个功能并成一排摆放在这里,如图所示, 之前的文章中曾介绍了度量值和计算列的异同(收藏 | Power BI计算列和度量值, ...

  • 收藏 | Power BI计算列和度量值,一文帮你搞清楚

    对于初学者,总是会把度量值和计算列搞混,我也经常碰到这样的问题,有些星友用文章中的代码总是报错,发给我一看,才知道TA把本来是度量值的DAX用在了计算列上,或者相反. 即使是已经学习了很长时间的人,对 ...

  • 如何在Power BI文件之间批量复制度量值?

    文/瓶子 目前从事职考行业的数据运营,喜欢钻研power bi和excel来实现自动化. 这几天在星球里面分享关于Tabular Editor内容比较多,应星主邀请,编辑一篇关于TabularEdit ...

  • Power BI如何对度量值分组统计?

    经常碰到有同学问,如何对度量值进行分组统计,比如有一个环比度量值,怎么将环比划分为几个档次,然后统计数量分别是多少? 其实度量值只是一个值,并不存在对它分组的问题,真正的问题应该是,如何对某个维度分组 ...

  • 什么是雪花维度?Power BI里如何降低模型复杂度?

    关系模型是Power BI的独特优势,但是,在日常数据分析中,过多的表间关系,会使得数据模型变得非常复杂而且难以分析. 因此,在合适的情况下,借鉴其他BI工具(如SAP BW等)的"并表&q ...

  • Power BI帕累托分析:数值相等时累计占比计算“错误”问题

    最近有几个星友提到,做帕累托分析时,当有数据相等时,累计占比计算不正确,不知道是怎么回事,PowerBI为什么会出现这个"错误"呢?你是不是也碰到过这个问题? 这篇文章就来谈谈这是 ...

  • Power BI帕累托分析,为什么累计占比是错误的?

    关于帕累托分析,大家用的比较多,有个小问题被很多人问过,就是计算出的累计占比结果是错误的,这里专门写篇文章说明一下. 正常的帕累托分析是这样的,以前的文章中曾经举了个简单的例子, 占比 = DIVID ...

  • 优先级和度量值的关系

    优先级和度量值的关系