The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
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 )