Forum Discussion
DAX Performance Tuning - Income Statement (Third Attempt)
- 3 years ago
Hi JRogersLebara,
First of all, the standard matrix visualization is almost exactly 3 times faster than the custom visual:
I'm not familiar with this visual by profitbase, but if you can manage to produce the required report from the matrix instead you're cutting 2/3's of the loadtime.
Furthermore, i took a look into the calculations and it doesn't appear that any individual calculation is weighing things down. I would propose changing the background-structure to avoid the SWITCH/FILTER combination, as i would not expect this level of performance for 100K rows.
I'm usually running something along the lines of this:
Which is then unpivoted in the transform so that both summarizations (gray) and rows can be mapped to a GL Account dimension table.
Hope this helps!
/ J
Hi JRogersLebara,
First of all, the standard matrix visualization is almost exactly 3 times faster than the custom visual:
I'm not familiar with this visual by profitbase, but if you can manage to produce the required report from the matrix instead you're cutting 2/3's of the loadtime.
Furthermore, i took a look into the calculations and it doesn't appear that any individual calculation is weighing things down. I would propose changing the background-structure to avoid the SWITCH/FILTER combination, as i would not expect this level of performance for 100K rows.
I'm usually running something along the lines of this:
Which is then unpivoted in the transform so that both summarizations (gray) and rows can be mapped to a GL Account dimension table.
Hope this helps!
/ J
- JRogersLebara3 years agoFrequent Visitor
Hi tex628,
The Profitbase matrix offers formatting benefits and also is very fast to use once slicers have been set (the initial increased load time when opening the tab or changing a slicer is offset by instantaneous drill-down. The normal matrix visual has to load every time the user drills down a level in the matrix, which we decided was more frustrating than the extended load after a slicer change).
In terms of your second suggestion, I think I partially follow but not completely - I have created a second file sort of following your advice but am not clear on how to replicate an identical matrix to the first file I shared using your solution - maybe you wouldn't mind taking a look and pointing out where I've misunderstood you?:It may also be worth noting that our GL accounts don't follow a perfectly linear mapping (i.e. revenue may be 100-150, then CoS 151-153, then revenue again 154-160 etc)
Thanks,Jake