PQ-计算总分再国际排名中国排名
要求:计总分,国际排名、中国排名
知识点:each _、List.SortList.Distinct List.PositionOf
let
源 =Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的类型 =Table.TransformColumnTypes(源,{{"序号", Int64.Type}, {"单位", typetext}, {"姓名", type text}, {"英语", Int64.Type}, {"数学",Int64.Type}, {"语文", Int64.Type}}),
总分 = Table.AddColumn(更改的类型, "总分", each List.Sum(List.Skip(Record.ToList(_),3))),
//添加一列,先在每个位置记录转列表,再跳过3个数据(序号、单位、姓名)再列表求和
国际排名 = Table.AddColumn(总分, "国际排名", each List.PositionOf(List.Sort(总分[总分],Order.Descending),[总分])+1),
//添加一列,先把总分步骤中的[总分]一列转为表,再列表排序(从大到小),再找[总分]的这个数据在列表中的位置+1,
中国排名 = Table.AddColumn(国际排名, "中国排名", each List.PositionOf(List.Distinct(List.Sort(总分[总分],Order.Descending)),[总分])+1),
//添加一列,先把总分步骤中的[总分]一列转为表,再列表排序(从大到小),再列表去重,再找[总分]的这个数据在列表中的位置+1,
排序的行 = Table.Sort(中国排名,{{"总分", Order.Descending}})
in
排序的行