Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
So I am trying to build a visual for comparing the distribution of a measure across different values of a field with the "Global" distribution, which has no filters applied. Basically the dashed lined show show, for each small multiple, the same values that are shown in the barchart on the right. The measure works fine across most values of the field in small multiples, except for the cases in which the intersection of the fields returns no rows.
The thing is the measure itself uses filter modifiers for ignoring these filters (except for intented fields) and return the global value, on the whole set of data. It seems as if the measure will directly not calculate any value if there aren´t any rows for the intersection of the fields marked with red, despite having used filter modifiers to calculate the measure over the whole set of rows. I have tried many different aproaches and can´t seem to make it work.
Any help? Thanks in advanced.
To report on things that are not there you need to use disconnected tables and/or crossjoins
How would that go? It sounds kind of wierd that I would have to have a copy of my tables in my model but disconected from the rest to be able to have "auxiliary queries" over the total of data, unfiltered. Sounds like a limitation of the filter modifiers, and kind of defeats the purpose. My model is quite complex so it isn't really viable.
The very idea of a Power BI data model relies on rigid single column joins. Everything influences everything else (as per the arrow direction). The best you can get is a left outer join (ish).
Your usage scenario calls for cross joins. Those are not supported (and frankly not desired) in the Power BI data model paradigm. Hence the need for disconnected tables.
Thank you very much for the replies!
I understand that much, but I was confused as to why a function like ALL() wouldn't work in my scenario, but upon reviewing the documentation I found the following:
"The normal behavior for DAX expressions containing the ALL() function is that any filters applied will be ignored. However, there are some scenarios where this is not the case because of auto-exist, a DAX technology that optimizes filtering in order to reduce the amount of processing required for certain DAX queries. An example where auto-exist and ALL() provide unexpected results is when filtering on two or more columns of the same table (like when using slicers), and there is a measure on that same table that uses ALL(). In this case, auto-exist will merge the multiple filters into one and will only filter on existing combinations of values. Because of this merge, the measure will be calculated on the existing combinations of values and the result will be based on filtered values instead of all values as expected."
I am going to try to understand this and see possible ways to circumnavigate the problem.
Still seems to me like a pretty important limitation.
Thanks again for your replies!
I am going to try to understand this and see possible ways to circumnavigate the problem.
That's what we call "fighting the API". Don't try to make Power BI do things it was not designed to do. Embrace the concept of Power BI. If you cannot do that, use a different tool with a design paradigm that matches your intentions.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
81 | |
76 | |
61 | |
37 | |
33 |
User | Count |
---|---|
99 | |
56 | |
50 | |
42 | |
40 |