Forum Discussion
MatejZukovic
Resolver I
6 years agoIf text contains value from list then return that value
Hi, I have 2 columns in 2 tables - Message[Message] and Keyword[Keyword]. I'd like to flag all Messages from Message table which contain any keyword from Keyword table and return that Keyword as...
- 6 years ago
Actually, there is a mor elegant way for it:
let Source = #"Table 2", #"Added Custom" = Table.AddColumn(Source, "AllWords", each Text.Split([Message], " ")), #"Added Custom1" = Table.AddColumn(#"Added Custom", "KeywordFound", each List.First( List.Intersect( { [AllWords], #"Table 1"[Keyword] } ) )), #"Added Custom2" = Table.AddColumn(#"Added Custom1", "ContainsKeyword", each [KeywordFound] <> null) in #"Added Custom2"This assumes that you only want to find full word matches. If you're looking for Substring/partial matches, there is another solution for it in the file attached.
ImkeF
Community Champion
6 years agoActually, there is a mor elegant way for it:
let
Source = #"Table 2",
#"Added Custom" = Table.AddColumn(Source, "AllWords", each Text.Split([Message], " ")),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "KeywordFound", each List.First( List.Intersect( { [AllWords], #"Table 1"[Keyword] } ) )),
#"Added Custom2" = Table.AddColumn(#"Added Custom1", "ContainsKeyword", each [KeywordFound] <> null)
in
#"Added Custom2"
This assumes that you only want to find full word matches. If you're looking for Substring/partial matches, there is another solution for it in the file attached.
vlewkeeb
5 years agoFrequent Visitor
How would you approach looking up phrases rather than just single words? I just tried this and it works perfectly on single words but not on phrases. In the case of the example above, how would look up "sunny day" as well as "day"?