Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
I have following challenge:
Say I have a table like this:
Name | Type | Color | Size |
A | Shirt | Red | XL |
B | Shirt | Blue | XXL |
C | Pants | Green | L |
and a table like this:
Lookup filter name | Criteria |
Shirts | (Type = “Shirt”) |
Shirts XL | (Type = “Shirts” AND Size = “XL”) |
Pants | (Type = “Pants”) |
What I want to do is add data from the first table to the second table, like when you merge a query or use Table.SelectRows and then be able to expand the data to see which records from first table match the criteria of the lookup filter in the second.
I tried doing something like adding a custom column with “Table.SelectRows(LookupTable,Each[Criteria])” but received errors.
I think I need to write a function, but have no idea how to do that for this scenario?
Can someone help me?
Solved! Go to Solution.
Oh good grief @ImkeF - duh!
Thanks! So obvious. I was looking for something difficlut.
@markwieland - the final formula for the filter is:
= Table.AddColumn(
#"Changed Type",
"Custom",
each
let
varFilter = [Criteria]
in
Table.SelectRows(Table, Expression.Evaluate("each" & varFilter, [_ = _]))
)
Here is the final link. I keep files in a different folder when they are solved. The above link will not work.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingWow @camargos88 @edhans @ImkeF I usually never post questions on forums like this because I always thought it took days to get answers. You proved me wrong, less than 24 hours and I have some info to work with. I will try to apply your solutions to my actual case and let you know the outcome! Thanks!
Glad to help @markwieland
Remember, everyone here is a volunteer. Sometimes stuff can take days, other times minutes. Always post. Even if you discover a workable solution first, you can get a different perspective here that might improve on your solution.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingHi @markwieland ,
I worked here, changing a bit your source to:
Lookup filter name CriteriaFilter
Shirts | [Type] = "Shirt" |
Pants | [Type] = "Pants" |
Shirts XL | [Type] = "Shirt" and [Size] = "XL" |
I tried with the original but the brackets and lowercase logical operators were missing, maybe there is another way to do it.
And using the function that @edhans and @ImkeF provided:
Table.SelectRows(Table, Expression.Evaluate("each " & _filter, [_=_]))
Oh good grief @ImkeF - duh!
Thanks! So obvious. I was looking for something difficlut.
@markwieland - the final formula for the filter is:
= Table.AddColumn(
#"Changed Type",
"Custom",
each
let
varFilter = [Criteria]
in
Table.SelectRows(Table, Expression.Evaluate("each" & varFilter, [_ = _]))
)
Here is the final link. I keep files in a different folder when they are solved. The above link will not work.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingWow @camargos88 @edhans @ImkeF I usually never post questions on forums like this because I always thought it took days to get answers. You proved me wrong, less than 24 hours and I have some info to work with. I will try to apply your solutions to my actual case and let you know the outcome! Thanks!
Glad to help @markwieland
Remember, everyone here is a volunteer. Sometimes stuff can take days, other times minutes. Always post. Even if you discover a workable solution first, you can get a different perspective here that might improve on your solution.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingHi @markwieland ,
Does your table Lookup have this the second column like this (Type = “Shirt”) ?
If yes, it's possible to query using table function, but more work.
If no, show us your base table and we can help you.
Hi Ricardo,
Thanks for replying!
I can't share the actual data, but the criteria column contains information like this:
((Type = "Shirt" AND Size ="XL") OR (Type = "Shirt") OR (Color = "Red")) AND Someother field = "X"
The complexity is that each row is different and uses different fields in a different order.
Can you help me with a function I can use?
I feel like I am close here, but this is returning an error:
= Table.AddColumn(
#"Changed Type",
"Custom",
each
let
varFilter = [Criteria]
in
Table.SelectRows(Table, Expression.Evaluate(varFilter, [_ = _]))
)
The problem is I am getting this error:
@ImkeF - can you see what I'm doing wrong here?
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingHi @edhans ,
you're missing the "each" keyword that defines the function:
Table.SelectRows(Table, Expression.Evaluate("each" & varFilter, [_ = _]))
Imke Feldmann (The BIccountant)
If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!
How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.