Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
DJH1
New Member

How to filter a column from items in another dataset column

I have two datasets and I want to filter a column in the first dataset against matching items in a column in the second dataset they are both string columns.  I'm trying to build a visual that will show all the items in the dataset 1 column that do not contain items from dataset 2 column.

1 ACCEPTED SOLUTION
jgeddes
Super User
Super User

You should be able to use List.Contains to filter the table. 
Consider the example data...
itemTable

jgeddes_0-1708971360362.png

criteriaTable

jgeddes_1-1708971384791.png

you can select rows from itemTable that are not in the criteriaTable adding this line to itemTable

 

= Table.SelectRows(PREVIOUSSTEP, each not List.Contains(Table.ToList(crtiteriaTable), [Item]))

 

jgeddes_2-1708971555579.png

 


if you wanted to select rows that matched the criteria, you would remove the 'not' from the above code.
Hope this gets you pointed in the right direction.
 




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





View solution in original post

4 REPLIES 4
jgeddes
Super User
Super User

You need to replace 'PREVIOUSSTEP' with the actual previous step in your table. It may look something like #"Changed Type".




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





Jonvoge
Solution Supplier
Solution Supplier

Hi DJH1

 

You may also consider using a Merge action.

Perform a Left Join, and filter out the subsequent rows where columns from Dataset 2 are empty, meaning that no corresponding item was found.

_____________________________________________________
I hope my comment was helpful.
If your question was answered, please mark your post as 'Solved' and consider giving me a 'Thumbs Up'.

jgeddes
Super User
Super User

You should be able to use List.Contains to filter the table. 
Consider the example data...
itemTable

jgeddes_0-1708971360362.png

criteriaTable

jgeddes_1-1708971384791.png

you can select rows from itemTable that are not in the criteriaTable adding this line to itemTable

 

= Table.SelectRows(PREVIOUSSTEP, each not List.Contains(Table.ToList(crtiteriaTable), [Item]))

 

jgeddes_2-1708971555579.png

 


if you wanted to select rows that matched the criteria, you would remove the 'not' from the above code.
Hope this gets you pointed in the right direction.
 




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





I'm running into an error inputting the code into the table the "PREVIOUSSTEP" portion in the code is not a selectable option an errors when I input it manually.

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors