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

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

难度: ★★☆☆☆(2星)

适用: ★★☆☆☆(2星)

概况:

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

正文:

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

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

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

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

 

应用场景:

以下是几个应用场景:

  • 库存分析   每月月底库存,今日库存
资产负债表
  •   统计资产,负债,权益
累计余额

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

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

数据模型:

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

要点:

  • 如何得到有业务数据的最后日期
  • 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] )
    )
)

玩起来:

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

扩展:

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

参考文章:

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

dax

相关推荐