zoukankan      html  css  js  c++  java
  • DAX/PowerBI系列

    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 出来,噔噔噔噔~~~)

     https://app.powerbi.com/view?r=eyJrIjoiYWMzOTVlNTgtZTMzYS00NGFiLWIxMTUtNzQ4ZWJjOGNjMjI0IiwidCI6ImQxYWY4NDdiLTJjZTEtNDRjYi1iYjUwLWQ1ODAyYmI0M2M4YiIsImMiOjEwfQ%3D%3D

    数据模型:

    要点:

    • 如何得到有业务数据的最后日期
    • 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列公式可以为:

    1 Cumulative Quantity := 
    2     CALCULATE (
    3         SUM ( Transactions[Quantity] ),
    4         FILTER (
    5             ALL ( 'Date'[Date] ),
    6             'Date'[Date] <= MAX ( 'Date'[Date] )
    7         )
    8         ,Transactions
    9     )

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

    玩起来:

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

    扩展:

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

    参考文章:

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

  • 相关阅读:
    根据OpenID列表群发 高级群发消息
    redis的使用:获取redis实例的工具类
    火狐,谷歌浏览器checkbox全选的问题
    ie浏览器中图片周围有黑色边框的样式不兼容的问题
    JAVA学习笔记-04
    JAVA学习笔记-03
    JAVA学习笔记-02
    JAVA学习笔记-01
    第一天
    Storm HBase 集成
  • 原文地址:https://www.cnblogs.com/lizardbi/p/DAX-PATTERN-POWERBI-Cumulative-Total.html
Copyright © 2011-2022 走看看