The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi recently i noticed serious performance issues on my production datasets and i created small dataset which is showing what the problem is.
I have create 4 type of measures
Now i do testing by changin value on switch on the right.
As you can see Slow nested is by far worst option and from my understanding it looks like all expreisons are being evaluated for no reason (only one with selectedvalue should be evaluated).
Another thing that came as suprasing is that "VAR bad practice" is performing good.
Was something changed in calculation engine?
Hi @Anonymous
I downlaod your pbix, i see the "duration" of "Slow nested l3" measure may increase when many selections have been selected.
It is hard to say why it is so strange.
Here is an article which explains the performance using variables in a "IF" or "Switch" measure.
In a summary, the consequence of this behavior can severely affect the performance of a well-structured set of DAX measures. Therefore, it is better to follow these guidelines when using variables:
Thanks for getting back on this.
I know about this blog and actually latest reply from few days ago is from me.
I was even more confused because "VAR bad practice" (this is bad practice described in blog post) is performing better that Slow Nested L3 which is writen following best practice described in this post.
After all i noticed that having measures calls in conditional branch will get engine calculate measures even if conditional condition is not met. Which is really strange since official documentation is saying that
"Any scalar expression to be evaluated if the results of expression match the corresponding value."