让我说我的查询中有一个未分类的字符串,如“苹果,香蕉,菠萝,杏子”。我想对该列表进行排序,特别是在列表中首先出现“Bananas”,如果它们出现,其余的则按升序排序。
示例:
[BASKET] | [CONTENT] | [SORTED]
John | Apples,Apricots,Bananas | Bananas,Apples,Apricots
Melissa | Pineapples,Bananas | Bananas,Pineapples
Tom | Pineapples,Apricots,Apples | Apples,Apricots,Pineapples
如何使用Power Query完成此操作?
答案 0 :(得分:1)
廉价版本(a)用严格的alpha排序排序的东西取代香蕉(b)新列中的排序(c)修复香蕉(d)删除额外的列
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Replaced Value" = Table.ReplaceValue(Source,"Bananas","111Bananas",Replacer.ReplaceText,{"Items"}),
MySort = (x) => Text.Combine(List.Sort(Text.Split(x, ",")), ","),
Sorted = Table.AddColumn(#"Replaced Value", "Sorted", each MySort([Items])),
#"Replaced Value1" = Table.ReplaceValue(Sorted,"111Bananas","Bananas",Replacer.ReplaceText,{"Sorted"}),
#"Removed Columns" = Table.RemoveColumns(#"Replaced Value1",{"Items"})
in #"Removed Columns"