Power Query按全级、单位、班别排名
【问题】
【题前话】:上一次学习了
PQ-计算总分再国际排名中国排名
关键是:List.PositionOf(List.Sort(总分[总分],Order.Descending),[总分]) 1
解析:先把上一步骤:总分中的列[总分]以列表的形式放入每一行中,再List.Sort降序,再List.PositionOf本行的数据在整个列表中的位置,再加1
例如:100,在[100,80,60]中的位置是0, 1,就是第一名啦
今天学习一种新的方法
【代码】
let
源 =Excel.CurrentWorkbook(){[Name="表4"]}[Content],
全级排名 =Table.AddColumn(源, "全级排名",each Table.RowCount(Table.SelectRows(源,(r)=>(r[总分]>[总分]))) 1),
单位排名 =Table.AddColumn(全级排名, "单位排名", each Table.RowCount(Table.SelectRows(源,(r)=>(r[单位]=[单位]and r[总分]>[总分]))) 1),
单位班别排名 =Table.AddColumn(单位排名, "单位班别排名", each Table.RowCount(Table.SelectRows(源,(r)=>(r[单位]=[单位]and r[班别]=[班别] and r[总分]>[总分]))) 1)
in
单位班别排名
【解析】
【效果】