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!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hey,
Looking for some query optimization tips. I am having query as below, which is performing in around 3000ms (979 FE, 1766 SE).
How would you guys change this query in order to get better report response time :)?
MEASURE [%] =
IF (
(
SUM ( Number )
/ ( DISTINCTCOUNT ( Date ) * 5 )
) > 1,
1,
SUM ( Number )
/ ( DISTINCTCOUNT ( Date ) * 5 )
)
Thanks in advance!
Solved! Go to Solution.
@Anonymous Since the same code is used in 2 places you can store the code in a variable.
VAR Calc =
DIVIDE ( [Measure], DISTINCTCOUNT ( Dates[Date] ) * 5 )
RETURN
IF ( Calc > 1, 1, Calc )
Weird notations SUM( NUMBER ), DISTINCTCOUNT( Date ); whatever,
= MIN( 1, SUM ( Number ) / ( DISTINCTCOUNT ( Date ) * 5 ) )
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! |
@Anonymous Since the same code is used in 2 places you can store the code in a variable.
VAR Calc =
DIVIDE ( [Measure], DISTINCTCOUNT ( Dates[Date] ) * 5 )
RETURN
IF ( Calc > 1, 1, Calc )
User | Count |
---|---|
15 | |
9 | |
8 | |
6 | |
5 |
User | Count |
---|---|
31 | |
18 | |
15 | |
7 | |
5 |