Forum Discussion
Check string for values in other table
- 7 years ago
Say you have your posts in a table, then you can add a column with this formula:
List.First(List.Select(ListOfPotentialCompanies, (x) => Text.Contains([Post], x)))
You can also paste this code into the advanced editor to see how this works:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8kjMyclX8M1MLsovzk8rUYrViVbyVMjJL0tVCMgvTy1ScPJUio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Post = _t]),
ListOfPotentialCompanies = {"Microsoft"},
#"Added Custom" = Table.AddColumn(Source, "Custom", each List.First(List.Select(ListOfPotentialCompanies, (x) => Text.Contains([Post], x))))
in
#"Added Custom"As you'll see, only the first value from the possible list of matches is selected, but you can omit that part of the formula if you want to retrieve all matches instead.
Hmmm, maybe if you could somehow split out the text into a table and then use GENERATE against this table and your other table along with maybe an ADDCOLUMN or something. Sounds nasty and computational expensive in DAX.
Or are you looking for a Power Query solution?
Hey,
Ideally looking for a solution in power query. The idea is that when these have been categorised i can then slice all the data from one slicer :-)
- Greg_Deckler7 years agoCommunity Champion
Ahh, in that case, ImkeF is your best bet!
- ImkeF7 years agoCommunity Champion
Say you have your posts in a table, then you can add a column with this formula:
List.First(List.Select(ListOfPotentialCompanies, (x) => Text.Contains([Post], x)))
You can also paste this code into the advanced editor to see how this works:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8kjMyclX8M1MLsovzk8rUYrViVbyVMjJL0tVCMgvTy1ScPJUio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Post = _t]),
ListOfPotentialCompanies = {"Microsoft"},
#"Added Custom" = Table.AddColumn(Source, "Custom", each List.First(List.Select(ListOfPotentialCompanies, (x) => Text.Contains([Post], x))))
in
#"Added Custom"As you'll see, only the first value from the possible list of matches is selected, but you can omit that part of the formula if you want to retrieve all matches instead.
- Anonymous6 years agoNot applicable
Hi ImkeF !
I was having the exact same problem and I have tried your solution but I just can't refer "TheListofPotentialCompanies" in my M formula.
Any idea why? Thank you so much 🙂