Power BI Power Query 排名2-分组排名

前一篇关于排名的博文Power BI Power Query 排名1-非连续排名和连续排名中,我们是基于整个表对分数进行排名,假若有如下形式的数据,我们需要最终的名次是按照分组来归类排名的,这种排名应该如何实现了?

image

 

分组排名非连续排名思路

1、从表中筛选出分数大于当前分数,且分组等于当前分组的行

2、统计筛选出来的总行数,将其+1即为排名

 

分组排名连续排名思路

1、从表中筛选出分数大于当前分数,且分组等于当前分组的行

2、挑选出第1步得到的表中的分数列,形成新表(想一想为什么不需要分组列?)

3、从第2步的表中求非重复,得到非重复的记录表

2、统计第3步得到的非重复记录表的总行数,将其+1即为排名

 

分组排名非连续排名实现

大致的操作基本上和上一篇博文一样,我主要是给出各个步骤中的公式和运算结果图

=Table.SelectRows(更改的类型,(r)=>(r[分组]=[分组] and r[分数]>[分数]))

image

=Table.RowCount(Table.SelectRows(更改的类型,(r)=>(r[分组]=[分组] and r[分数]>[分数])))+1

image

 

分组排名连续排名实现

=Table.SelectColumns(Table.SelectRows(更改的类型,(r)=>(r[分组]=[分组] and r[分数]>[分数])),"分数")

image

=Table.Distinct(Table.SelectColumns(Table.SelectRows(更改的类型,(r)=>(r[分组]=[分组] and r[分数]>[分数])),"分数"))

image

=Table.RowCount(Table.Distinct(Table.SelectColumns(Table.SelectRows(更改的类型,(r)=>(r[分组]=[分组] and r[分数]>[分数])),"分数")))+1

image

posted @ 2019-08-22 14:42  alexywt  阅读(5803)  评论(0编辑  收藏  举报