前一篇關於排名的博文Power BI Power Query 排名1-非連續排名和連續排名中,我們是基於整個表對分數進行排名,假若有如下形式的數據,我們需要最終的名次是按照分組來歸類排名的,這種排名應該如何實現了?
分組排名非連續排名思路
1、從表中篩選出分數大於當前分數,且分組等於當前分組的行
2、統計篩選出來的總行數,將其+1即為排名
分組排名連續排名思路
1、從表中篩選出分數大於當前分數,且分組等於當前分組的行
2、挑選出第1步得到的表中的分數列,形成新表(想一想為什么不需要分組列?)
3、從第2步的表中求非重復,得到非重復的記錄表
2、統計第3步得到的非重復記錄表的總行數,將其+1即為排名
分組排名非連續排名實現
大致的操作基本上和上一篇博文一樣,我主要是給出各個步驟中的公式和運算結果圖
=Table.SelectRows(更改的類型,(r)=>(r[分組]=[分組] and r[分數]>[分數]))
=Table.RowCount(Table.SelectRows(更改的類型,(r)=>(r[分組]=[分組] and r[分數]>[分數])))+1
分組排名連續排名實現
=Table.SelectColumns(Table.SelectRows(更改的類型,(r)=>(r[分組]=[分組] and r[分數]>[分數])),"分數")
=Table.Distinct(Table.SelectColumns(Table.SelectRows(更改的類型,(r)=>(r[分組]=[分組] and r[分數]>[分數])),"分數"))
=Table.RowCount(Table.Distinct(Table.SelectColumns(Table.SelectRows(更改的類型,(r)=>(r[分組]=[分組] and r[分數]>[分數])),"分數")))+1