top of page

How to find all ways that a table can filter another table in Power BI

Introduction

As a Power BI developer, you will eventually inherit a messy model (or create one yourself). Many-to-many relationships, bidirectional cross filters, and auto-detected relationships all over the place. I've experienced this many times over the years, and recently I inherited one of those truly diabolical models where it was almost impossible to understand how slicers and filters were affecting the results.


In one particular case, I could not clearly tell how different slicers and filters on a report page were interacting with each other and influencing DAX results. That lead us to add a new feature to Measure Killer, the Table Relations, and the goal was simple: help us understand all the possible ways one table can filter another table, and therefore influence the evaluation of a DAX query.


The Problem

It is super important to verify if the results shown in a report are actually correct. And when they are not, the first step is always the same: understand the filter context. If your model is clean and follows a star or snowflake schema, this is usually straightforward. But when the model is messy and full of complex relationships, this quickly becomes very hard.

Imagine that you want to understand how a slicer using a column from the 'dimCalendar' table can influence the results in a visual using a column from the 'trCountries' table (both tables highlighted in green in the model view screenshot below). In other words, how does the filter from the calendar table propagate and influence the DAX evaluation referencing any column from the 'trCountries' table?

With a well designed model, the answer would be obvious. But with a model like the one shown here, understanding how the tables filter each other can require a lot of manual work.


Relationships in a messy Power BI model
Relationships in a Power BI model

The Solution

In version 2.9.2 of Measure Killer (released on 29.01.2026) you can find the Table relations feature, which allows you to easily find all possible paths that connect one table to another. By paths, we mean the actual relationship "chains" that allow filters to propagate through the model. This feature is also available in the free version (but just for one model if run locally). To use it, simply run an analysis and click on the Table relations button in the top right, as shown in the image.

Table Relations in Measure Killer
Table Relations in Measure Killer

Continuing with the example, to find all the ways the 'dimCalendar' table can filter the 'trCountries' table, you simply select 'dimCalendar' on the left side and 'trCountries' on the right side. It’s important to note that the direction matters: selecting 'dimCalendar' on the left means "how can 'dimCalendar' filter 'trCountries'", not the other way around. Depending on relationship cross filter direction and cardinality, the results may differ.

You can also choose whether to include inactive relationships by checking the option on the top left corner of the window. If you want a complete overview of your model relationships, you can even select multiple tables at once. After clicking Next, Measure Killer will list all valid paths between the selected tables.

Using the Table Relations feature in Measure Killer
Using the Table Relations feature in Measure Killer

In our example, there are three different ways the 'dimCalendar' table can filter 'trCountries', and two of those paths include inactive relationships. All involved relationships are listed, including their direction, cardinality, and whether they are active or inactive.


All relationships connecting the two example tables: dimCalendar and trCountries
All relationships connecting the two example tables: dimCalendar and trCountries


Conclusion

The new Table Relations feature makes it much easier to understand filter propagation in complex models and to debug DAX results. We originally built it for our own projects, but we believe it will be just as useful for other Power BI developers. It helps you understand how your model actually behaves and when combined with the Relationships tab in the main window, it can also help you identify optimization opportunities by removing some unused inactive relationships and sometimes, even some redundant active ones.


If you want to try out the full version of Measure Killer, you can request a trial here.

 
 
 
bottom of page