如何将具有相同ID的行合并到一个列表中

Hai*_*aiY 3 sql m dax powerquery powerbi

我怎样才能使下表像列表一样。

Id   Name
1    Tim
1    George
2    Rachael
3    Mark
3    Blake
Run Code Online (Sandbox Code Playgroud)

我希望结果是这样的

Id    Name
1     Tim,George
2     Rachael
3     Mark,Blake
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ale*_*son 7

通过将 Group By 中的现有聚合函数替换为 ,只需一步即可完成此操作Text.Combine

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUQrJzFWK1YGw3VPzi9JTwVwjIDcoMTkjMTUHzDcG8n0Ti7LhHKecxGyg0lgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Id = _t, Name = _t]),
    #"Grouped Rows" = Table.Group(Source, {"Id"}, {{"Names", each Text.Combine([Name],","), type text}})
in
    #"Grouped Rows"
Run Code Online (Sandbox Code Playgroud)

为了实现这一点,我使用 GUI 对列进行分组,并告诉它为我的新聚合列Id获取该列的最大值。NameNames

通过...分组

这会生成步骤

= Table.Group(Source, {"Id"}, {{"Names", each List.Max([Name]), type text}})
Run Code Online (Sandbox Code Playgroud)

您所需要做的就是List.Max换成Text.Combine.