我在 Power query 的 Matchlists/tables 中找到了我正在寻找的部分内容,但我需要更多。
使用Matchlists/tables in power query 中提供的“仅标志”示例,我正在比较两个列表 ListA 和 ListB,以检查 ListB 的行内容是否完全出现在 ListA 的行内容中。我不能对两行的内容进行一对一的匹配(比如 List.Intersect),因为 ListB中的一行内容可能只是 ListA 中一行内容的一部分。
请注意,在下面的查询中,ListB 包含“roo”,它是单词 room 中的前三个字母。我想知道“roo”在 ListA 的“in my room”所在的行中。</p>
功率查询中 Matchlists/tables提供的“仅标志”示例已经确定“roo”是 ListA 的“in my room”行的一部分。当 ListA 和 ListB 之间存在这样的匹配时,我在示例的基础上分配“是”而不是“真”。
我想做的是用 ListB 中的实际值替换“yes”——例如,值“roo”。我试图简单地将 wordB 替换为“是”,但我收到了一个错误,即 wordB 无法识别。
let
ListA = {"help me rhonda", "in my room", "good vibrations", "god only knows"},
ListB = {"roo", "me", "only"},
contains_word=List.Transform(ListA, (lineA)=>if List.MatchesAny(ListB, (wordB)=>Text.Contains(lineA, wordB)) = true then "yes" else "no")
in
contains_word
当前查询结果如下:
List
1 yes
2 yes
3 no
4 yes
我希望查询结果是:
List
1 roo
2 me
3
4 only
知道如何做到这一点吗?
(ps 我对 Power Query / M 非常陌生)
谢谢