cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
jayeshmenon
Frequent Visitor

Slow DAX measure

So I have a dataset of 4.6million rows containing insurance rates for various quotes and their respective insurance company. I have managed to calculate a rank function that ranks each company's rates for each quote (KEY) and average it, keeping in mind filters made on the company name. It looks as follows:

 

Rank: AVERAGEX(VALUES('Test'[KEY]),RANKX( FILTER(ALLSELECTED('Test'[Company]),[AvgRate]),[AvgRate],,ASC))

AvgRate: AVERAGE('Test'[Rate])

 

However the rank measure takes really long to calculate to calculate. Looking into its timings in DAX Studio, it takes 39,161ms to run. Can anyone suggest an alternate way to structure my measure such that it takes less time?

2 REPLIES 2
v-eachen-msft
Community Support
Community Support

Hi @jayeshmenon ,

 

You could use VAR() to save the result of an expression as a named variable.

rank =
VAR a =
    VALUES ( 'Test'[KEY] )
VAR b =
    FILTER ( ALLSELECTED ( 'Test'[Company] ), [AvgRate] )
RETURN
    AVERAGEX ( a, RANKX ( b, [AvgRate],, ASC ) )

And you could refer to this video to learn how to optimize your dax.

 

Community Support Team _ Eads
If this post helps, then please consider Accept it as the solution to help the other members find it.

@v-eachen-msft Thanks for the suggestion however it took even longer in DAX Studio to as the total time to just calculate this measure was 63,723ms

Helpful resources

Announcements
MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

July 2021 Update 768x460.png

Check it out!

Click here to read more about the July 2021 Updates

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Top Solution Authors
Top Kudoed Authors