如何创建将正确值从行解析为列表的新列

How to create new column that parses correct values from a row to a list

我正在努力使用 Power Bi 创建一个公式,将单行值拆分为我想要的值列表。

所以我有一个名为 ID 的列,它的值如下:

"ID001122, ID223344""IRRELEVANT TEXT ID112233, MORE IRRELEVANT;ID223344 TEXT"

重要的是保存ID和后面的6位数字。第一个示例将变成这样的列表:{"ID001122","ID223344"}。第二个例子看起来完全一样,但它只会解析两者之间所有不相关的文本。

我一直在寻找某种类型的循环公式,您可以在其中使用文本查找功能找到 ID 起点并使用中间功能从开头提取 8 个字符,但我没有找到任何进展这样的。我尝试使用逗号分隔符制作列表,但我注意到并非所有行都使用逗号分隔 ID。

最终结果将是原始值位于解析值列表旁边的一列中,然后可以将其扩展到新行。

ID                                    Parsed ID
"Random ID123456, Text;ID23456"       List {"ID123456","ID23456"}

你们有没有以前的经验?

嘿,我自己找到了答案 article 类似于我的问题。

这是我的解决方案,没有任何进一步的文本解析,我可以稍后再做。

each let
    PosList = Text.PositionOf([ID],"ID",Occurrence.All),
    List = List.Transform(PosList, (x) => Text.Middle([ID],x,8)) 
in List

例如,这会导致 "(ID343137,ID352973) ID358388" 变为 {ID343137,ID352973,ID358388}

结果比我想象的要容易。假设解决方案再次依赖于列表!