PowerBI_一分鐘瞭解POWERBI計算組_基礎運用篇(一)

simone331發表於2024-06-16

在第一篇計算組的文章中,給大家介紹了,POWERBI的計算組功能的基本概念和作用。

本文,旨在透過簡單案例,介紹計算組功能的具體應用場景。

沒有看過第一篇的同學,可以先簡單過一下第一篇,補齊一下概念和開啟計算組功能。

https://www.cnblogs.com/simone331/p/18146080 

一:資料介紹

本文使用了網上的借貸資料用作演示,不涉及商業牟利,只用於學習分享。

本資料集中,包含了時間序列的借貸消費記錄,我們準備用計算組來實現針對《借款金額》、《總待還本金》的環同比分析。

二:計算組建立

2.1 建立計算組

首先進入POWERBI 模型檢視,點選功能欄的計算組按鈕(沒有計算組按鈕的,應該是沒有開啟計算組功能,請參考第一篇文章,先開啟計算組功能)

點選建立後,在功能欄的右側會出現計算組選項,如下:

系統會自動建立一個計算項為:計算項 = SELECTEDMEASURE()

當然名字是可以更改的,這裡我們將他更改一下名字為 本期

可以看到紅色箭頭除,我們是可以繼續生成計算項的

我們來接著建立一個,上週同期和去年同期的度量值

點選上圖的新計算項,新增計算組度量值

上週同期 = 
    CALCULATE(SELECTEDMEASURE(),                ---當前值
        DATEADD('維度表_日期表'[Date],-7,DAY))   ---返回7天前,即上週同期
上月同期 = 
    CALCULATE(SELECTEDMEASURE(),                ---當前值
        DATEADD('維度表_日期表'[Date],-1,MONTH))   ---返回1個月前,即上月同期

三:純度量值方案與計算組方案對比

3.1 純度量值方案

列出所需度量值

請觀察以下兩組DAX的相通之處:

總待還金額 = CALCULATE(SUM(LC[總待還本金]))

總待還金額_上週 = CALCULATE([總待還金額],DATEADD('維度表_日期表'[Date],-7,DAY))

總待還金額_上月 = CALCULATE([總待還金額],DATEADD('維度表_日期表'[Date],-1,MONTH))

  

借款總金額 = CALCULATE(SUM('LC'[借款金額]))

借款總金額_上週 = CALCULATE([借款總金額],DATEADD('維度表_日期表'[Date],-7,DAY))

借款總金額_上月 = CALCULATE([借款總金額],DATEADD('維度表_日期表'[Date],-1,MONTH))

可以看到,計算借款總金額和總待還金額時,本質上我們用了兩組相同的程式碼

只有CALCULATE 的第一引數不一樣,而計算組正好就是解決這一問題的,即類似的程式碼,避免重複

將度量值拉入矩陣

3.2 計算組方案

列出所需計算組的計算組度量值

將行放上我們的計算組,列放上日期,值放上我們需要計算的兩個度量值

3.3 結果對比

我們可以看到,兩種方案的值是一樣的,即計算組實現了和純度量值,一樣的應用效果

四:總結

經過前面的計算組對照驗證

我們發現計算組的優勢:

1:節約度量值,同一邏輯的度量值,我們只需要一組計算組度量值即可,無須重複書寫度量值

本文僅用到了兩個基礎度量值給大家做演示,實際生產環境中,往往有大量基礎度量值,需要書寫環同比分析

假設有10個度量值需要環同比

那麼純度量值方案將會需要 3✖10, 即 30個 度量值

計算組方案則只需要,一個環同比計算組及10個基礎度量值,即 13個 度量值

2:提高資料準確性,由於避免了大量基礎度量值的編寫,所以也避免了重複書寫度量值的過程中,書寫錯誤導致資料出錯的機率

以上就是本次分享的全部內容了

下一篇文章會給大家介紹,基於計算組的任意日期週期資料對比,也是計算組的實際運用案例(會在24年6月下旬更新)

相關文章