我正在努力使用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"}
你们中有人有过经历吗?
答案 0 :(得分:2)
嘿,我使用类似于我的问题的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}
最终比我想象的要容易。假设解决方案再次依赖于列表!