Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
dancarr22
Helper V
Helper V

MAXX function running slow - how to make it run faster?

Hello,

 

I recently asked a measure question which was answered (very quickly and helpfully!) by @tamerj1 

Have a related question.  The following is running very slowly - seems to be the CALCULATE(MAXX... step

 

 

XIRR_BeginRMV_Date = VAR StartDate = [XIRR_BeginDate]
VAR isBefore = XIRR_Lookup[XIRR_BeginRMV_Date_IsBefore]
RETURN IF(isBefore="BEFORE", CALCULATE(MAXX(XIRR_Lookup,XIRR_Lookup[TransactionDate]),XIRR_Lookup[MappingName]="Reported Market Value", XIRR_Lookup[TransactionDate]<StartDate), BLANK())


Thanks again - really appreciate people taking time to look at and assist with these.

 

Thanks,

Dan

1 ACCEPTED SOLUTION
Greg_Deckler
Community Champion
Community Champion

@dancarr22 Maybe:

XIRR_BeginRMV_Date = 
  VAR StartDate = [XIRR_BeginDate]
  VAR isBefore = XIRR_Lookup[XIRR_BeginRMV_Date_IsBefore]
  VAR table = FILTER('XIRR_Lookup', [MappingName] = "Reported Market Value", [TransactionDate] < StartDate)
  VAR result = IF(isBefore="BEFORE", MAXX(table, [TransactionDate]), BLANK())
RETURN
  result


or

XIRR_BeginRMV_Date = 
  VAR StartDate = [XIRR_BeginDate]
  VAR isBefore = XIRR_Lookup[XIRR_BeginRMV_Date_IsBefore]
  VAR table = SUMMARIZE(FILTER('XIRR_Lookup', [MappingName] = "Reported Market Value", [TransactionDate] < StartDate), [TransactionDate])
  VAR result = IF(isBefore="BEFORE", MAXX(table, [TransactionDate]), BLANK())
RETURN
  result


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
Greg_Deckler
Community Champion
Community Champion

@dancarr22 Maybe:

XIRR_BeginRMV_Date = 
  VAR StartDate = [XIRR_BeginDate]
  VAR isBefore = XIRR_Lookup[XIRR_BeginRMV_Date_IsBefore]
  VAR table = FILTER('XIRR_Lookup', [MappingName] = "Reported Market Value", [TransactionDate] < StartDate)
  VAR result = IF(isBefore="BEFORE", MAXX(table, [TransactionDate]), BLANK())
RETURN
  result


or

XIRR_BeginRMV_Date = 
  VAR StartDate = [XIRR_BeginDate]
  VAR isBefore = XIRR_Lookup[XIRR_BeginRMV_Date_IsBefore]
  VAR table = SUMMARIZE(FILTER('XIRR_Lookup', [MappingName] = "Reported Market Value", [TransactionDate] < StartDate), [TransactionDate])
  VAR result = IF(isBefore="BEFORE", MAXX(table, [TransactionDate]), BLANK())
RETURN
  result


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Thanks so much @Greg_Deckler - that worked and sped up the process.  Appreciate your help and quick response!
Thanks,

Dan

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.