DAX/PowerBI系列 - 累计总计(Cumulative Total)

2017/07/23 更新:B列公式(见最后)

2019/08/08 更新:在可视化数据的时候,一定要选择日期维度的日期列来作显示不然会得不到期望的结果。

难度: ★☆☆☆(2星)

适用: ★☆☆☆(2星)

概况:

这个模式普遍适用对业务/操作基于时间进行累计统计度量,例如:计算年度累计,月度累计,库存量,库存价值。

正文:

上个图来个直观感受:已知一个表中库存变动,想知道当前库存是多少,这个模式就能够搞定。

你猜猜哪一列才是对的呢?

瞅瞅第四列【Cumulative Quantity】,再瞅瞅第三列非粗体部分

欢迎转载,请保留原文链接和作者信息。O(∩_∩)O谢谢。
DAX/PowerBI系列 - 累计总计(Cumulative Total)
作者:马丁叔叔            
链接:http://www.cnblogs.com/lizardbi/p/DAX-PATTERN-POWERBI-Cumulative-Total.html

 

应用场景:

以下是几个应用场景:


库存分析

  每月月底库存,今日库存

资产负债表

  统计资产,负债,权益

累计余额

欢迎交流与骚扰

最终PowerBI效果显示如下:(耐心等待PowerBI 出来,噔噔噔噔~~~)

数据模型:

要点:


如何得到有业务数据的最后日期
CACULATE中SUM计算

回头看看开篇的图:

  • 瞅瞅C列【Cumulative Quantity】,再瞅瞅B列,还有其他列(非粗体部分)
  • D列没有check最后的Transactions.DateKey,所以显示到了Date的最后一个日期,这个当然不是想要的。
  • S1, S2自己看看公式理解一下
  B列 C列
Cumulative Quantity :=
IF (
MIN ( 'Date'[DateKey] )
<= CALCULATE ( MAX ( Transactions[DateKey] ), ALL ( Transactions ) ),
CALCULATE (
SUM ( Transactions[Quantity] ),
FILTER (
ALL ( 'Date'[Date] ),
'Date'[Date] <= MAX ( 'Date'[Date] )
)
)
)
Cumulative Quantity Unchecked :=
CALCULATE (
SUM ( Transactions[Quantity] ),
FILTER (
ALL ( 'Date'[Date] ),
'Date'[Date] <= MAX ( 'Date'[Date] )
)
)

2017/07/23 更新:

B列公式可以为:

 Cumulative Quantity :=
CALCULATE (
SUM ( Transactions[Quantity] ),
FILTER (
ALL ( 'Date'[Date] ),
'Date'[Date] <= MAX ( 'Date'[Date] )
)
,Transactions
)

这个效果跟上面的结果是一样的,原理是跟FilterContext有关,日期表根据Transactions表过滤掉没有数据的日期。

玩起来:

要把玩上面的PowerBI请戳上(最终PowerBI效果

扩展:

如何评估库存总价值,请见:DAX/PowerBI系列 - 累计总计(Cumulative Total) - 库存总价值

参考文章:

http://www.daxpatterns.com/cumulative-total/

DAX/PowerBI系列 - 累计总计(Cumulative Total)的更多相关文章

  1. DAX/PowerBI系列 - 累计总计(Cumulative Total, Running Total)

    DAX/PowerBI系列 - 累计总计(Cumulative Total) 2017/07/23 更新:B列公式(见最后) 2019/08/08 更新:在可视化数据的时候,一定要选择日期维度的日期列 ...

  2. DAX/PowerBI系列 - 库存总价值(Inventory Value)

    DAX/PowerBI系列 - 库存总价值(Inventory Value) 欢迎交流与骚扰 难度: ★★☆☆☆(2星) 适用: ★★☆☆☆(2星) 概况: 有多少货(库存)当然重要(对于运营人员), ...

  3. (玩起来)DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比

    盆友们,边看文章边玩,请耐心等待PowerBI load出来~~~~ (7.8秒钟) DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比 难度: ★☆☆☆☆ ...

  4. DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)

    DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)参考文章见最后 难度: ◆◆◇◇◇(2星) 应用场景: 其实很多时候对数据汇总都会有层级关系的问题,不过说的不是 ...

  5. DAX/PowerBI系列 - 参数表(Parameter Table)

    DAX/PowerBI系列 - 参数表(Parameter Table) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★☆(4星) 概况: 这个模式比较简单灵活,而且很实用.所用的DAX语句也比较简 ...

  6. DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension)

    跟大家的交流是我的动力. :) DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★ ...

  7. DAX/PowerBI系列 - 玩转阿里云 Alicloud Pricing

    DAX/PowerBI系列 - 玩转 阿里云主机 Ali Cloud ECS 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 欢迎交流与骚扰 这是啥: 双十一就到了,码农门,程序猿们有没有 ...

  8. DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数

    DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数 文末有彩蛋,解决蛋疼问题 难度: ★★☆☆☆(2星) 适用范围: ★★★☆☆(3星) 概况: 基于时间的汇总可能是 ...

  9. DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板

    DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板 难度: ★★☆☆☆(2星) 适用范围: ★★★☆☆(3星) 概况: 当你有多个度量值都需要计算YTD,MoM,而又 ...

随机推荐

  1. Linux Performance tool

    https://www.tecmint.com/command-line-tools-to-monitor-linux-performance/ https://www.tecmint.com/lin ...

  2. crawler_exa4

    优化中... #! /usr/bin/env python # -*- coding:utf-8 -*- # Author: Tdcqma ''' 获取漏洞目标站点:绿盟安全漏洞通告 v1.0: 由于 ...

  3. ProtoBuf3 C++使用篇

    protobuf 是用于结构化数据串行化的灵活.高效.自动化的解决方案.又如 XML,不过它更小.更快.也更简单.你只需要按照你想要的数据存储格式编写一个.proto,然后使用生成器生成的代码来读写这 ...

  4. 【iCore4 双核心板_ARM】例程三十七:SDRAM实验——读写SDRAM

    实验现象: 上电即开始读写SDRAM测试,测试过程中,蓝色LED点亮,如果出现错误,红色LED闪烁,测试成功,绿色LED点亮. 核心代码: int main(void) { /* USER CODE ...

  5. [mvc] 简单的forms认证

    1.在web.config的system.web节点增加authentication节点,定义如下: <system.web> <compilation debug="tr ...

  6. 微信开发时调用jssdk,在安卓设备中成功调用;在ios设备中返回错误消息:config fail,无其他具体错误消息,且接口权限显示获取ok,无法调用

    js代码如下: JavaScript code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...

  7. spring boot 配置注入

    spring boot配置注入有变量方式和类方式(参见:<spring boot 自定义配置属性的各种方式>),变量中又要注意静态变量的注入(参见:spring boot 给静态变量注入值 ...

  8. Maven项目:Malformed POM expected START_TAG or END_TAG ........

    今天在执行maven命令 mvn assembly:assembly -Dmaven.test.skip=true的时候报了个错,大概是Malformed POM expected START_TAG ...

  9. IntelliJ IDEA(2018)安装和破解

    IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具( ...

  10. 大华等其他NVR接入海康IPC H.264方法

    有一次遇到这个问题,因为时间急,没有注意,这次一个朋友也遇到这个问题,各种百度,也没有看到答案 只好自己研究了一下,最终发现以下方式来解决 下面办法可以解决海康IPC不能能过ONVIF连接到大华等其他 ...