Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

DAX Query optimization

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!

  • 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 )

2 Replies

  • AntrikshSharma's avatar
    AntrikshSharma
    Community Champion

    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 )
  • CNENFRNL's avatar
    CNENFRNL
    Community Champion

    Weird notations SUM( NUMBER ), DISTINCTCOUNT( Date ); whatever, 

    = MIN( 1, SUM ( Number ) / ( DISTINCTCOUNT ( Date ) * 5 ) )