Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Dear gurus,
As a frequent user of DAX, I understand fundamental mechanism of filter propagation, say from one side to * side along a 1:* relationship, or cross filter via bi-directional relationship, etc.
Nevertherless, I didn't wrap my head around such a seemingly-natual effect of matrix in terms of filter propagation; I can't even pinpoint keywords to google...😅 so I turn to you for help. TIA!
My mockup data model is simple enough
Then I drag columns from dimensional tables dDate[Date], dRep[Rep], dProd[PID] into rows of matrix viz, very natually, the default viz shows like this,
To my understanding, the default viz means dDate filters dRep/dProd; but theoretically, fundamental filter propagation( from 1 to * ) doesn't take effect ( maybe I'm totally wrong ) among these dimensional tables. And what's the mysterious power behind the scene?
Here's the dummy file at your disposal.
Have a nice weekend!
Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
Solved! Go to Solution.
Hi, @daxer-almighty , thanks for the response and by your hint, I think I found the article unveiling the mechanism under the hood, auto-exist and empty-rows removal. Here's the link to the article: https://www.sqlbi.com/articles/autoexist-and-normalization
"... two different mechanisms are working, ... auto-exist and empty-rows removal.
Auto-exists is a feature working at the server level. Auto-exists makes non-existing combinations of attributes invisible to any client tool that queries your database.
Empty-rows removal is a PivotTable feature that hides rows containing only blank values in the measures."
What I tried is, according to the article, a result of empty-rows removal; whereas auto-exist is a more profound and instrinsic mechanism easily to neglect. Thus I amend another matrix in this regard in my dummy file.
Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
Hi, @daxer-almighty , thanks for the response and by your hint, I think I found the article unveiling the mechanism under the hood, auto-exist and empty-rows removal. Here's the link to the article: https://www.sqlbi.com/articles/autoexist-and-normalization
"... two different mechanisms are working, ... auto-exist and empty-rows removal.
Auto-exists is a feature working at the server level. Auto-exists makes non-existing combinations of attributes invisible to any client tool that queries your database.
Empty-rows removal is a PivotTable feature that hides rows containing only blank values in the measures."
What I tried is, according to the article, a result of empty-rows removal; whereas auto-exist is a more profound and instrinsic mechanism easily to neglect. Thus I amend another matrix in this regard in my dummy file.
Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |