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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Aymen_Soussi
Frequent Visitor

Simplify dax formula and remove errors

Hello I'm new to dax and I have some problems with it syntax. I want to create a new mesure named ""cumulated"  based on an other mesure "AverageBudgetYear".

Actually I have 2 problems, first I need to remove duplicate lines in code and symplify the syntax and second I need to resolve this error message "A function 'MAX' has been used in a True/False expression that is used as a table filter expression. This is not allowed".

This is my syntaxe:

 

 

Dax_Cumulated_duplications.png

1 ACCEPTED SOLUTION
selimovd
Super User
Super User

Hey @Aymen_Soussi ,

 

the error with the MAX expression is a little annoying. You can save the value of MAX in a variable, that should fix it.

For the many ifs I would use SWITCH with TRUE in combination instead:

https://powerpivotpro.com/2015/03/the-diabolical-genius-of-switch-true/

 

So the formula could look like this:

 

Cumulated Sum =
VAR vMaxDate = YEAR(MAX(Abfrage1[fiscaldate]))

VAR vYear_1 = CALCULATE( [AverageBudgetYear], FILTER( ALL(Abfrage1[fiscaldate]), vMaxDate = 2020))
VAR vYear_2 = CALCULATE( [AverageBudgetYear], FILTER( ALL(Abfrage1[fiscaldate]), vMaxDate = 2021))
-- and so on

RETURN
SWITCH( TRUE(),
    vMaxDate = 2020, vYear_1,
    vMaxDate = 2021, vYear_2
-- and so on
)

 

 

I don't fully understand your approach. For me it looks like you use the MAX value for the calculate. Then you could just add it dynamically from the variable:

Cumulated Sum =
VAR vMaxDate = YEAR(MAX(Abfrage1[fiscaldate]))
VAR vResult = CALCULATE( [AverageBudgetYear], FILTER( ALL(Abfrage1[fiscaldate]), vMaxDate = vMaxDate ))
RETURN
    vResult

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

View solution in original post

4 REPLIES 4
Aymen_Soussi
Frequent Visitor

Hello @selimovd, thank you very much for responding  your tricks really help me resolving the issues that I have.

Hey @Aymen_Soussi ,

 

I'm happy you could solve that 😊

 

Best regards

Denis

selimovd
Super User
Super User

Hey @Aymen_Soussi ,

 

the error with the MAX expression is a little annoying. You can save the value of MAX in a variable, that should fix it.

For the many ifs I would use SWITCH with TRUE in combination instead:

https://powerpivotpro.com/2015/03/the-diabolical-genius-of-switch-true/

 

So the formula could look like this:

 

Cumulated Sum =
VAR vMaxDate = YEAR(MAX(Abfrage1[fiscaldate]))

VAR vYear_1 = CALCULATE( [AverageBudgetYear], FILTER( ALL(Abfrage1[fiscaldate]), vMaxDate = 2020))
VAR vYear_2 = CALCULATE( [AverageBudgetYear], FILTER( ALL(Abfrage1[fiscaldate]), vMaxDate = 2021))
-- and so on

RETURN
SWITCH( TRUE(),
    vMaxDate = 2020, vYear_1,
    vMaxDate = 2021, vYear_2
-- and so on
)

 

 

I don't fully understand your approach. For me it looks like you use the MAX value for the calculate. Then you could just add it dynamically from the variable:

Cumulated Sum =
VAR vMaxDate = YEAR(MAX(Abfrage1[fiscaldate]))
VAR vResult = CALCULATE( [AverageBudgetYear], FILTER( ALL(Abfrage1[fiscaldate]), vMaxDate = vMaxDate ))
RETURN
    vResult

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

Hey @Aymen_Soussi ,

 

did it work with the measure I posted?

I'm curious if you could solve this issue 🙂

 

If you need any help please let me know.
If it worked I would be happy if you could mark my post as a solution ✔️. Like this, the next person with a similar problem knows if that approach is viable.
 
Best regards
Denis
 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.