DAX/PowerBI系列 - 累計總計(Cumulative Total, Running Total)


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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM