PowerQuery:如何连接分组值?

如果我有下表(如下图所示),我怎样才能编写一个分组查询来连接分组结果?

可输入

对于这个例子,我想通过LetterColumn进行分组,并连接NumberColumn

所以期望的结果是:

ResultsTable

如果您的表是源,并且如果NumberColumn具有数字types,那么这将工作:

= Table.Group(Source, {"LetterColumn"}, {{"Column", each Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ","), type text}})

Table.Group通过操作完成一个组,它将创build一个由LetterColumn中所有具有相同值的行组成的表。 _[NumberColumn]给出了这个新表中NumberColumn列中值的列表。 List.Transform部分将数字转换为文本值, Text.Combine将这些数字连接在一起,用逗号分隔每个值。

如果你还需要周围的引号,你可以这样做:

= Table.Group(Source, {"LetterColumn"}, {{"Column", each """" & Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ",") & """", type text}})

""""代表“字符,并且组合两个文本值。

您可以使用GUI来执行此操作:

  1. select您的LetterColumn,然后selectTransform / GroupBy: 在这里输入图像描述

  2. select添加列/自定义列: 在这里输入图像描述

  3. 单击新的AllData列右上方的反向箭头以从新的AllData列中提取值:

    在这里输入图像说明 在这里输入图像描述

  4. 删除AllData列。