BOSS:咦?我要幹啥來着?哦,對了,白茶?!
白茶:嗯?BOSS,咋地了!
BOSS:咳咳,是這樣的,就是我想知道,咱們這些個門店最直覺的對比情況!就是那種可以選擇任意兩個門店進行各項資料對比的!
白茶:對...對比分析?!
BOSS:我不懂這個那個的,你就告訴我能不能整?
白茶:嗯,能!
在日常工作中,關于對比的可視化思路,主要就是采用扇形圖、樹狀圖、雲詞圖或者蚊香圖之類的可視化方式。
但是白茶覺得,有時候當類别過多,或者KPI過多的時候,這些可視化插件的呈現效果往往沒有一個Table來的直覺。
其實大家在做可視化資料分析的時候,都會有一個誤區,就是執着于使用圖形化插件,但是隻要能把分析的結果說清楚,或者達到促進業務發展的價值,其實用哪種方式去呈現反而不是那麼重要。
先來看看本期的案例資料:
标準的三張表。
需求是什麼?
思路很重要,本期的需求是做對比分析,那麼對比分析至少需要兩個切片器才能達到對比切換的效果,對吧?
是以輸入如下代碼:
分店表B =
DISTINCT ( '分店表' )
複制
建立如下模型關系:
看到右側的虛線,小夥伴們有沒有想起來什麼?
1
2
3
...
答案:未激活關系
白茶之前寫購物籃分析的時候,用的主要思路就是未激活關系,即可以通過函數進行關系激活——USERELATIONSHIP!
思路已經縷好,開始編寫代碼:
FACT_01_銷售數量A =
SUM ( '銷售明細'[銷售數量] )
複制
這是主要篩選器的路徑成本。
FACT_01_銷售數量B =
CALCULATE (
[FACT_01_銷售數量A],
ALL ( '分店表'[分店名] ),
USERELATIONSHIP ( '銷售明細'[所在分店], '分店表B'[分店名] )
)
複制
這是對比篩選的路徑成本。
将二者同時放到一個上下文中進行檢驗:
經過檢驗,寫法上沒有任何問題。
開始建構其他分析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名額已經建構完畢。
那麼如何将這些KPI名額放在同一個表中進行對比呢?
建構中間次元表!
點選界面操作的輸入資料,輸入如下内容:
利用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的條件輸出。
參考文章:《動态資料》
最終效果如下:
小夥伴們❤GET了麼?
(BOSS:幹得漂亮!)
白茶會不定期的分享一些函數卡片
這裡是白茶,一個PowerBI的初學者。