如何创建将正确值从行解析为列表的新列
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}
结果比我想象的要容易。假设解决方案再次依赖于列表!
我正在努力使用 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}
结果比我想象的要容易。假设解决方案再次依赖于列表!