• 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/

  • 相关阅读:
    【转】2008年中国.NET技术应用趋势分析
    VB计算器(给上学需要应付作业的应个急)
    创业失败的18个原因
    使用ChilkatDotNet组件构建网络爬虫程序
    使用文本编辑器开发和部署一个ASP.NET Web应用程序
    优化 SQL Server 查询性能
    【转】sql性能优化方法
    使用 SOS 对 Linux 中运行的 .NET Core 进行问题诊断
    MultiThread Of Member Functions
    汇编 中断调用表 (中断向量表)
  • 原文地址:https://www.cnblogs.com/lizardbi/p/DAX-PATTERN-POWERBI-Cumulative-Total.html
Copyright © 2020-2023  润新知