Forum Discussion
ALL Function - Mystery?
- Anonymous9 years ago
Sean,
Maybe it's related to some obscure cross-filtering issue from Payments to Asset to Location.
What do you get if you try:
County Total =
CALCULATE ( [Total Net], ALLEXCEPT ( Payments, Location[County] ) ) - 9 years ago
Wow folks I figured it out! :smileyhappy:
AnonymousMystery solved!
The culprit was a Conditional Column created in the Query Editor
That Column was called Category Sort and I basically used it so in charts the Categories show in order of importance and not A-Z
If anyone wants to see what actually happens just follow these steps:
1) Load all 3 sample tables I posted on Page 1
2) Write these 2 Measures
Total Net = SUM ( Payments[Net] ) County Total = CALCULATE ( [Total Net], ALL ( Payments[Subcategory], Payments[Category] ) )
3) Create a Matrix with County, Category and Subcategory in the Rows and then add the 2 Measures to the Values
Everything works great!
4) Now click Edit Queries and Add a Conditional Column in the Payments Table =>Category Sort
you can use the UI and basically
if Category is Cat 2 then 1, else if Category is Cat 3 then 2, otherwise 1 => OK => Close and Apply
so far so good nothing is affected yet!
5) Now go to the Data View => Payments table
=> select the Category Column => click Sort By Column => select the Category Sort column
6) Now go back and look at the Matrix => the County Total Measure no longer works as intended
HAPPY NEW YEAR!!! :smileyhappy:
Related to this post
It's good that your measure works as expected in a new PBIX file. It's BAD that you had to be inspired to create a new PBIX file for it to work - something's broken there, especially since ALLEXCEPT still strangely worked. I suggest you raise it as an issue with Microsoft.
The other issue you linked and the Microsoft response "The current Microsoft view is that this is by design behavior and customers should build their model with dimension tables if they need to use ALL functions in their calculations." surprises me:
- I did a couple of Google searches on ALL FILTER WRONG IGNORE etc. and didn't turn any of this up. Searching now on Power BI Support gave up the link you posted but only if you picked the right specific words;
- The documentation of this behaviour seems to just be in that one community post. the MSDN doco for the ALL function (https://msdn.microsoft.com/en-us/library/ee634802.aspx) should be updated to show that, two months after the issue was acknowledged; and
- That the behaviour of using dimension tables to use ALL functions is by design seems to go against the idea of a BI service for non-experts, and seems to contradict what's happening for you, in your new PBIX at least.
At least we made some progress on it via this community, though not as simple as it could be.
Wow folks I figured it out! :smileyhappy:
AnonymousMystery solved!
The culprit was a Conditional Column created in the Query Editor
That Column was called Category Sort and I basically used it so in charts the Categories show in order of importance and not A-Z
If anyone wants to see what actually happens just follow these steps:
1) Load all 3 sample tables I posted on Page 1
2) Write these 2 Measures
Total Net = SUM ( Payments[Net] ) County Total = CALCULATE ( [Total Net], ALL ( Payments[Subcategory], Payments[Category] ) )
3) Create a Matrix with County, Category and Subcategory in the Rows and then add the 2 Measures to the Values
Everything works great!
4) Now click Edit Queries and Add a Conditional Column in the Payments Table =>Category Sort
you can use the UI and basically
if Category is Cat 2 then 1, else if Category is Cat 3 then 2, otherwise 1 => OK => Close and Apply
so far so good nothing is affected yet!
5) Now go to the Data View => Payments table
=> select the Category Column => click Sort By Column => select the Category Sort column
6) Now go back and look at the Matrix => the County Total Measure no longer works as intended
HAPPY NEW YEAR!!! :smileyhappy:
Related to this post
- Anonymous9 years agoNot applicable
Sean,
Nice detective work. That still seems like a bug to me.
- OwenAuger9 years agoSuper UserYes this is an annoying problem with "sort by column" in Power BI (but not PowerPivot).
Discussed here in one of the DAX Puzzles
http://www.sqlbi.com/daxpuzzle/unexpected-filter-behavior-in-calculate/ - Anonymous9 years agoNot applicable
Good point. So not a bug, but a poorly documented feature/ side-effect/ use case... Now that we know with hindsight what to look for, it's simple! Also documented nicely here: https://blog.crossjoin.co.uk/2015/12/15/power-bi-desktop-sort-by-column-and-dax-calculations-that-use-the-all-function/
I wonder what we can do to avoid the next group also spending hours trying to figure out such an obscure issue?
- josipinho8 years agoHelper II
I spent 2 days trying to figure this one out. Completely even forgot about setting that sort with a conditional calculated column. Cant belive something so silly would cause such trouble.
Thank you for the solution !