Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago

DAX Perfromance Issue

Hi All,

 

I m using below measures to get Top 20% from vendor list.

Top_20%_Vendor = IF (ISBLANK ( [Invoiced] ),BLANK (),IF ([Ranking]< ( CALCULATE ( [Unique_Vendor], ALL ( f6MonthSpend ) ) * 0.2 ),[Invoiced],BLANK ()))

 

Then i m using below measure to get Top N  from above 20% list.

 

Ranking = IF (HASONEVALUE ( f6MonthSpend[Vendor Name] ),RANKX ( ALL ( f6MonthSpend[Vendor Name] ), [Invoiced],, DESC ))
TopN = SWITCH (TRUE (),[SelectedTOPNValue] = 0, [Invoiced],[Ranking] <= [SelectedTOPNValue], [Invoiced])

 

Issue : It takes around 1 min to get Top N .

 

 

2 Replies

  • v-deddai1-msft's avatar
    v-deddai1-msft
    Community Support

    Hi Anonymous ,

     

    Would you please try to use IF instead of switch in your TOPN?

     

     

    TopN =
    IF (
        [SelectedTOPNValue] = 0,
        [Invoiced],
        IF ( [Ranking] <= [SelectedTOPNValue], [Invoiced] )
    )

     

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

    Best Regards,

    Dedmon Dai