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

Shape the future of the Fabric Community! Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions. Take survey.

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
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

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.