pq |
---|
let f=(x)=>[a=Table.ToList(Table.Sort(x,"ставка"),(i)=>i{1}&Text.From(i{2})), b=List.Distinct(a),c=Record.FromList({1..List.Count(b)},b)][c], g=each Record.Field(dict,[город]&Text.From([ставка])), from = Excel.CurrentWorkbook(){[Name="rez"]}[Content], dict = Record.Combine(Table.Group(from,"город",{"a",f})[a]), to = Table.AddColumn(Table.RemoveColumns(from,"ранг"),"ранг",g) in to |
Спасибо
AlienSx за знание спецификации и функций PQ
pq (v2 — Table.AddRankColumn) |
---|
let f=(x)=>Table.AddRankColumn(x,"ранг","ставка",[RankKind=0]), from = Excel.CurrentWorkbook(){[Name="rez"]}[Content], add = Table.AddIndexColumn(Table.RemoveColumns(from,"ранг"),"id"), cmb = Table.Combine(Table.Group(add,"город",{"a",f})[a]), to = Table.SelectColumns(Table.Sort(cmb,"id"),Table.ColumnNames(from)) in to |