这几种数据分组的方式,你应该掌握!

根据某一个维度的数据,进行分组统计,是很常见的做法,比如按年龄对客户进行分组,按考试成绩进行分组统计等,这篇文章介绍一下,在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变量实现了动态分组。

这里只是动态分组的一个小例子,关于动态分组,以后的文章依然会涉及到。

学会分组只是第一步,在分组的基础上进行数据分析才是我们更要掌握的。

加入知识星球,和我一起,精进PowerBI

(0)

相关推荐