今天分享一個可視化小技巧,如何在PowerBI的表格中動態顯示需要的列?
就是這樣的效果,

也就是根據切片器的篩選,來顯示需要的列,做起來很簡單,步驟如下:
01 逆透視表
進入Powerquery編輯其中,對該表格逆透視。
選中基礎列,也就是固定顯示的列,比如[產品名稱],然后逆透視其他列,
逆透視后的表格如下,
是不是很亂的感覺?
02 利用矩陣展現該表
將逆透視后的表,放入到矩陣中。
[產品名稱]拖入【行】,[屬性]放進【列】,
是不是混亂的表格又變得十分整齊了呢:)
03 生成切片器
使用[屬性]生成切片器,就得到了上圖動態列的效果。
那么進一步的,矩陣中的度量值是不是也能這樣動態顯示呢,當然是可以的。
假設有以下三個度量值,生成的矩陣如下,
這種情況下,是不能直接通過切片器來選擇是否顯示某一個度量值的,為了能實現動態的效果,步驟如下:
/1/
新建一個包含各個度量值名稱的表
/2/
生成產品名稱和度量值名稱的笛卡爾積表
這里利用CROSSJOIN來實現
/3/
整合度量值
把上面三個度量值整合為一個,
指標數據 = SWITCH(TRUE(),
SELECTEDVALUE('表'[度量值])="銷售額",[銷售額],
SELECTEDVALUE('表'[度量值])="利潤額",[利潤額],
SELECTEDVALUE('表'[度量值])="銷售額占比",FORMAT([銷售額占比],"0%"))
/4/
同樣使用矩陣進行展現
/5/
利用度量值表生成一個切片器
就能達到動態顯示某個度量值的效果,
總結
無論是現有列,還是度量值,都可以實現動態顯示的效果,並且其原理也是類似的,
1,需要動態展示的列名或者度量值名放到一列中,作為生成切片器的字段,並用此列與維度列生成笛卡爾積;
2,屬性的值也全部整合為一個字段或者一個度量值;
3,利用矩陣和切片器進行動態展現。