Forum Discussion
Power Query: If (nested or second table) contains statement
Hi everyone,
I am using the latest version of excel and I am trying to create multiple lookups using power query (it has to be in power query for speed reasons). what I am envisioning is Having my main table look to a lookup table and then if column in main table(keywords) contains a value in lookup table column(contain) and does not contain a value in lookup table column(not contain) then return result from lookup table column(result) else return main table(Prediction).
I thought nesting the lookup table into the main table would work but I cannot figure out how to make a lookup statement without expanding the columns, and expanding the columns is not an option as it will create way too many duplicates. Thank you for your help!
Main Table
| Keywords | Prediction | Column to create |
| Cucumber | Veggie | Veggie |
| Lemon, Oranges | Citrus | Citrus |
| Lemon, Sugar | Citrus | Lemonade |
Lookup Table
| Contain | NotContain | Result |
| Lemon AND sugar | Orange | Lemonade |
That could be like this, our queries are
Lookup keep as it is.
In Main query add column with list of keywords by Text.Split() of Keywords field.
Reference Lookup and create Not Contains keeping only Result and Not Contain columns, unpivot the latest, Group by Result without aggregation keeping only Values column. Thus we have list of Not Contain words for each Result (if exists)
Similar for Contains
Merge both above to have both lists in one List Combined table
Reference Main query as Final, add above Lookup Combined table to new column here
and expand it.
Add new custom column to check KeywordsList against Contains/Not Contains
Group by initial columns without aggregation keeping in resulting table of each group only rows where previous value is true.
Expand Result from it
and finally combine with Prediction
Details are in attached file.
10 Replies
- SergeiBaklanDiamond Contributor
Could you please clarify data structuring. In main table you have "Lemon, Sugar", in lookup table "Lemon AND sugar". Is that intentionally, or in lookup table it could "Lemon AND sugar", or "Lemon, sugar" or "Lemon, Sugar", whatever. What is exact format if you have it?
- Joe_JLCopper Contributor
SergeiBaklan Thank you for looking at this!
What I was saying by that structure was, I would like to be able to have the statement say: it say if it contains Lemon and Sugar but does not contain Orange then result is lemonade.
However, in retrospect I think it would be best formatted this way.
Contain AlsoContain NotContain Result Lemon Sugar Orange Lemonade - SergeiBaklanDiamond Contributor
Thank you. I hope I understand the idea, but depends on how your data is represented Power Query could be totally different.