Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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:
Solved! Go to Solution.
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
Hello @selimovd, thank you very much for responding your tricks really help me resolving the issues that I have.
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
Hey @Aymen_Soussi ,
did it work with the measure I posted?
I'm curious if you could solve this issue 🙂
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
72 | |
70 | |
38 | |
28 | |
26 |
User | Count |
---|---|
99 | |
87 | |
45 | |
43 | |
35 |