MS Power Query - 消除一组分隔字符串中的重复项

MS Power Query - eliminating duplicates in a set of delimited strings

我有 Excel 看起来像这样的数据:

Sources   Targets   Routes

Lemons    Chair     A,D
Lemons    Chair     D,F
Oranges   Chair     B,F,G
Oranges   Chair     B,C
Oranges   Door      A,G
Oranges   Door      B,C

我正在尝试使用 Power Query 将其压缩为:

Sources   Targets   Routes

Lemons    Chair     A,D,F
Oranges   Chair     B,C,F,G
Oranges   Door      A,B,C,G

也就是说,对于每个 Source/Target 对,我需要

路由源数据中最多有 3 条路由。 我很确定我需要将 Routes 列拆分为 3 列,然后使用 Group。但是我卡住了。

建议?

下面的代码实现了您概述的步骤以及对路线的排序。 它不使用拆分列,但 Text.Split.

SplittedRoutes 步骤是使用转换选项卡上的一些文本转换功能创建的,然后调整为使用 Text.Split。

同样,GroupedRows 步骤是在 Transform 选项卡上使用 Group By 创建的,使用操作 All Rows,然后调整为以下代码。

let
    Source = ExcelData,
    SplittedRoutes = Table.TransformColumns(Source,{{"Routes", each Text.Split(_,",")}}),
    ExpandedRoutes = Table.ExpandListColumn(SplittedRoutes, "Routes"),
    RemovedDuplicates = Table.Distinct(ExpandedRoutes, {"Sources", "Targets", "Routes"}),
    GroupedRows = Table.Group(RemovedDuplicates, {"Sources", "Targets"}, {{"Routes", each Text.Combine(List.Sort(_[Routes]),","), type text}})
in
    GroupedRows