天天看點

BI技巧丨對比分析

BI技巧丨對比分析

BOSS:咦?我要幹啥來着?哦,對了,白茶?!

白茶:嗯?BOSS,咋地了!

BOSS:咳咳,是這樣的,就是我想知道,咱們這些個門店最直覺的對比情況!就是那種可以選擇任意兩個門店進行各項資料對比的!

白茶:對...對比分析?!

BOSS:我不懂這個那個的,你就告訴我能不能整?

白茶:嗯,能!

BI技巧丨對比分析

在日常工作中,關于對比的可視化思路,主要就是采用扇形圖、樹狀圖、雲詞圖或者蚊香圖之類的可視化方式。

但是白茶覺得,有時候當類别過多,或者KPI過多的時候,這些可視化插件的呈現效果往往沒有一個Table來的直覺。

其實大家在做可視化資料分析的時候,都會有一個誤區,就是執着于使用圖形化插件,但是隻要能把分析的結果說清楚,或者達到促進業務發展的價值,其實用哪種方式去呈現反而不是那麼重要。

BI技巧丨對比分析

先來看看本期的案例資料:

BI技巧丨對比分析
BI技巧丨對比分析
BI技巧丨對比分析

标準的三張表。

需求是什麼?

思路很重要,本期的需求是做對比分析,那麼對比分析至少需要兩個切片器才能達到對比切換的效果,對吧?

是以輸入如下代碼:

分店表B =
DISTINCT ( '分店表' )           

複制

建立如下模型關系:

BI技巧丨對比分析

看到右側的虛線,小夥伴們有沒有想起來什麼?

1

2

3

...

答案:未激活關系

白茶之前寫購物籃分析的時候,用的主要思路就是未激活關系,即可以通過函數進行關系激活——USERELATIONSHIP!

思路已經縷好,開始編寫代碼:

FACT_01_銷售數量A =
SUM ( '銷售明細'[銷售數量] )           

複制

這是主要篩選器的路徑成本。

FACT_01_銷售數量B =
CALCULATE (
    [FACT_01_銷售數量A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '銷售明細'[所在分店], '分店表B'[分店名] )
)           

複制

這是對比篩選的路徑成本。

将二者同時放到一個上下文中進行檢驗:

BI技巧丨對比分析

經過檢驗,寫法上沒有任何問題。

開始建構其他分析KPI。

成交訂單A代碼:

FACT_02_成交訂單A =
COUNTROWS ( VALUES ( '銷售明細'[銷售流水] ) )           

複制

成交訂單B代碼:

FACT_02_成交訂單B =
CALCULATE (
    [FACT_02_成交訂單A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '銷售明細'[所在分店], '分店表B'[分店名] )
)           

複制

顧客數量A代碼:

FACT_03_顧客數量A =
COUNTROWS ( VALUES ( '銷售明細'[客戶流水号] ) )           

複制

顧客數量B代碼:

FACT_03_顧客數量B =
CALCULATE (
    [FACT_03_顧客數量A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '銷售明細'[所在分店], '分店表B'[分店名] )
)           

複制

銷售金額A代碼:

FACT_04_銷售金額A =
SUMX ( '銷售明細', [FACT_01_銷售數量A] * RELATED ( '産品表'[銷售價] ) )           

複制

銷售金額B代碼:

FACT_04_銷售金額B =
CALCULATE (
    [FACT_04_銷售金額A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '銷售明細'[所在分店], '分店表B'[分店名] )
)           

複制

銷售成本A代碼:

FACT_05_銷售成本A =
SUMX ( '銷售明細', [FACT_01_銷售數量A] * RELATED ( '産品表'[成本] ) )           

複制

銷售成本B代碼:

FACT_05_銷售成本B =
CALCULATE (
    [FACT_05_銷售成本A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '銷售明細'[所在分店], '分店表B'[分店名] )
)           

複制

銷售利潤A代碼:

FACT_06_銷售利潤A =
[FACT_04_銷售金額A] - [FACT_05_銷售成本A]           

複制

銷售利潤B代碼:

FACT_06_銷售利潤B =
[FACT_04_銷售金額B] - [FACT_05_銷售成本B]           

複制

至此,所有KPI名額已經建構完畢。

BI技巧丨對比分析

那麼如何将這些KPI名額放在同一個表中進行對比呢?

建構中間次元表!

點選界面操作的輸入資料,輸入如下内容:

BI技巧丨對比分析

利用SWITCH函數将路徑成本合而為一。

KPIA代碼:

KPIA =
VAR T1 =
    SELECTEDVALUE ( 'Measure'[INDEX] )
VAR T2 =
    SWITCH (
        TRUE (),
        T1 = 01, SELECTEDVALUE ( '分店表'[分店名] ),
        T1 = 02, [FACT_01_銷售數量A],
        T1 = 03, [FACT_02_成交訂單A],
        T1 = 04, [FACT_03_顧客數量A],
        T1 = 05, [FACT_04_銷售金額A],
        T1 = 06, [FACT_05_銷售成本A],
        T1 = 07, [FACT_06_銷售利潤A]
    )
RETURN
    T2           

複制

KPIB代碼:

KPIB =
VAR T1 =
    SELECTEDVALUE ( 'Measure'[INDEX] )
VAR T2 =
    SWITCH (
        TRUE (),
        T1 = 01, SELECTEDVALUE ( '分店表B'[分店名] ),
        T1 = 02, [FACT_01_銷售數量B],
        T1 = 03, [FACT_02_成交訂單B],
        T1 = 04, [FACT_03_顧客數量B],
        T1 = 05, [FACT_04_銷售金額B],
        T1 = 06, [FACT_05_銷售成本B],
        T1 = 07, [FACT_06_銷售利潤B]
    )
RETURN
    T2           

複制

這裡主要采用的是SWITCH的條件輸出。

參考文章:《動态資料》

最終效果如下:

BI技巧丨對比分析
BI技巧丨對比分析

小夥伴們❤GET了麼?

(BOSS:幹得漂亮!)

白茶會不定期的分享一些函數卡片

BI技巧丨對比分析

這裡是白茶,一個PowerBI的初學者。