如何在第一个位置对具有特定值的逗号分隔字符串进行排序?

How to sort a comma separated string with a specific value on first position?

假设我的查询中有一个未排序的字符串,如 "Apples,Bananas,Pineapples,Apricots"。我想对该列表进行排序,如果出现 "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 完成此操作?

廉价版 (a) 将 Banana 替换为在严格 alpha 排序中首先排序的内容 (b) 在新列中排序 (c) 修复 Banana (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"