PowerQuery:如何连接分组值?
如果我有下表(如下图所示),我怎样才能编写一个分组查询来连接分组结果?
对于这个例子,我想通过LetterColumn
进行分组,并连接NumberColumn
所以期望的结果是:
如果您的表是源,并且如果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来执行此操作:
-
select您的LetterColumn,然后selectTransform / GroupBy:
-
select添加列/自定义列:
-
单击新的AllData列右上方的反向箭头以从新的AllData列中提取值:
-
删除AllData列。