Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
I'm trying to filter a table based on existence of a record in another table. If I was in SQL I'd use a "WHERE EXISTS".
It's possible to do it with a Table.Joins but in case the record is twice in the "other" table I'll add rows to my initial table. (Yes I could also do a distinct before the Table.Joins) ... but is there a more efficient way?
Cannot think of a more efficient way, especially if there are multiple different values in the "filter-column". There are List- (List.Intersect) and Table-operations (like Table.Contains or Table.PositionOf) who operate on row-level, but this means the full recordset, which probably isn't what you need here.
If you only want to filter, you don't have to expand the merged table but simply delete the joined table it after it did it's job. You need to use JoinKind.Inner.
If you're applying this to a SQL-database and your filter-table is longer than 200 rows, you might want to use this bug-workaround for query folding: http://www.thebiccountant.com/2015/09/17/filter-sql-server-queries-with-excel-tables-query-folding-l...
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
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.