Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.
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."