根據某一個維度的數據,進行分組統計,是很常見的做法,比如按年齡對客戶進行分組,按考試成績進行分組統計等,這篇文章介紹一下,在PowerBI中如何對數據進行分組。
在PowerQuery編輯器中分組
在PQ中,直接用添加條件列的方式進行分組,假設依據數學成績來進行分組,直接添加條件列,分別填入相應的分數和等級名稱,
點擊確定,表格中就會出現一個新列,
如果對M語言比較熟悉,也可以不用功能界面添加列的方式,直接編寫M語言即可,
Table.AddColumn(
更改的類型, "等級",
each if [數學成績] < 60 then "不及格"
else if [數學成績] < 75 then "及格"
else if [數學成績] < 90 then "良好"
else "優秀"
)
使用DAX函數分組
可以使用IF函數或者SWITCH函數,對於IF,大家都比較熟悉,和在Excel中完全一樣,這里使用更加簡潔的SWITCH函數來進行分組,
SWITCH ( TRUE(),
[數學成績]<60, "不及格",
[數學成績]<75, "及格" ,
[數學成績]<90, "良好" ,
"優秀"
)
分組效果和PQ中完全一致。
動態分組
如果想看看哪些同學的成績在平均分以上,哪些低於平均分,在靜態數據的情況下比較簡單,直接把平均分計算出來,然后每個同學的成績和這個平均分比較一下就可以了。
如果數據是動態的,不斷有新的成績添加進來,那么如果進行快速分組呢?
用DAX依然很簡單,新建列表達式如下,
按平均分 分組=
VAR avg_score = AVERAGEX('成績','成績'[數學成績])
RETURN IF('成績'[數學成績]>=avg_score,"高於平均分","低於平均分")
利用AVERAGEX函數計算出整個成績表的平均成績,並記錄為變量avg_score,然后每個同學的成績分別與它比較就可以了,並且源數據發生變動時,avg_score也會自動更新,這樣就利用VAR變量實現了動態分組。
這里只是動態分組的一個小例子,關於動態分組,以后的文章依然會涉及到。
學會分組只是第一步,在分組的基礎上進行數據分析才是我們更要掌握的。