在Power BI中对数据分组

作者: PowerBI星球 | 来源:发表于2019-01-29 20:04 被阅读27次

    根据某一个维度的数据,进行分组统计,是很常见的做法,比如按年龄对客户进行分组,按考试成绩进行分组统计等,这篇文章介绍一下,在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」,获取145页电子书,2天时间入门PowerBI,帮你快速提升工作效率。

    THE END.

    相关文章

      网友评论

        本文标题:在Power BI中对数据分组

        本文链接:https://www.haomeiwen.com/subject/hckfsqtx.html