比较 2 个表与 ID 列中的分隔值

问题描述 投票:0回答:1

我有 2 个表加载到 Power Query 中,其中包含以逗号分隔的列 (Col1) 内的一组 ID。例如,表 1 Grouped_ID 可以是“123456, 654454, 34565”,但表 2 IDGROUP 可以是“654454, 123456, 34565”。

我想要做的是对于表 1 中的每一行,拆分并列出所有 ID,然后迭代表 2 中的所有 IDGROUP。并检查所有分隔 ID 是否匹配,如果匹配则返回一个值表2.

我尝试过的是拆分每个列表,然后检查匹配项,但它没有提供积极的结果。有没有人可以提供一些建议?

let
            idList1 = Text.Split([FAC_Group_ID], ", "),
            idList2 = Table2[FAC_Group_ID],
            idList2Split = List.Transform(idList2, each Text.Split(_, ", ")),
            matches = List.Transform(idList2Split, each List.Sort(_) = List.Sort(idList1)),
            allMatches = List.AllTrue(matches)
        in
            if allMatches then "Match" else "No Match"
powerquery m
1个回答
0
投票

看起来不必要的复杂。为什么不拆分、排序、重新组合,然后将一个表合并到另一个表中以查找匹配项?

在每个表中,添加自定义列

= Text.Combine(List.Sort(Text.Split([Column1],", ")),",")

然后从一个表到另一个表进行左外合并,以查找它们之间的匹配项

© www.soinside.com 2019 - 2024. All rights reserved.