Forum Discussion
If Statement Total does not add up
- 2 years ago
Anonymous,
Here's an example you can adapt to your model. It evaluates the IF statement on a yearly basis. If you need it to evaluate at the day level, change "Year" to "Date".
calc = SUMX ( VALUES ( DateTable[Year] ), IF ( DateTable[Year] >= 2024, [USD_AP] - [USD_FC], [USD_AP] ) )Replace the hardcoded "2024" with the correct expression. I'm not sure what your table "A" is and how it's related to your model. The measure USD_AP has an incorrect total in your screenshot.
Anonymous,
Try this measure. It iterates DateTable, so totals will be the sum of parts. Not sure if you need MAX for A[Closed_Date] since this may depend on your business logic.
calc =
SUMX (
DateTable,
IF ( DateTable[Exp_Dates] >= A[Closed_Date], [USD_AP] - [USD_FC], [USD_AP] )
)
Excellent article on totals:
https://www.sqlbi.com/articles/obtaining-accurate-totals-in-dax/
Thanks for the suggestion, but unfortunately this provides completely different results for me altogether.
- DataInsights2 years agoSuper User
Anonymous,
Are you able to provide sample data (table format or pbix link), screenshots of your model, and business logic?
- Anonymous2 years agoNot applicable
So I have two measures which work fine: USD_AP and USD_FC
Then I have my condition where basically when 2023, then use USD_AP and when 2024 then use USD_AP-USD_FC.
But for some reason once I do this IF statement the sum gets completely messed up eventhough the individual underlying measures work perfectly.
- DataInsights2 years agoSuper User
Anonymous,
Here's an example you can adapt to your model. It evaluates the IF statement on a yearly basis. If you need it to evaluate at the day level, change "Year" to "Date".
calc = SUMX ( VALUES ( DateTable[Year] ), IF ( DateTable[Year] >= 2024, [USD_AP] - [USD_FC], [USD_AP] ) )Replace the hardcoded "2024" with the correct expression. I'm not sure what your table "A" is and how it's related to your model. The measure USD_AP has an incorrect total in your screenshot.