在 POWERQUERY 列中排序文本

ORDER A TEXT IN A COLUMN POWERQUERY

我想知道您是否可以帮助我解决以下问题:

在 PowerQuery 中,我有一个这样的专栏: 输入

我想像这样对“CANAL / BU”列进行排序:

我尝试对函数进行排序,但对整个列而不是文本进行排序。

你们能帮帮我吗?

问候,

从您的示例来看,您似乎只想对单列中的文本进行排序。

您可以通过以下方式做到这一点:

  • 用“/”将每个文本行拆分成一个列表。
  • 对列表进行排序
  • 使用“/”分隔符重新组合列表。

一行 M 代码可以做到这一点:

    #"Sort Column" = Table.TransformColumns(#"Previous Step",
    {"CANAL/BU", each Text.Combine(List.Sort(Text.Split(_,"/")),"/")})

当然,您也可以通过添加自定义列并在那里进行排序来实现;但是使用 Table.TransformColumns 方法,您不需要额外的列。

以下代码将重现 table 的前几列,并在原位显示排序步骤:

let
    Source = Table.FromRecords(
        {
            [AREA="Channel Marketing",
            #"CANAL/BU"="WT/NT/O",
            GPID=70181170]
        }
    ),
    #"Change Type" = Table.TransformColumnTypes(Source,{{"AREA", type text}, {"CANAL/BU", type text}, {"GPID", Int64.Type}}),

    #"Sort Column" = Table.TransformColumns(#"Change Type",
        {"CANAL/BU", each Text.Combine(List.Sort(Text.Split(_,"/")),"/")})

in
    #"Sort Column"

输出