Forum Discussion
kangx322
4 years agoFrequent Visitor
DAX calculation with incremental value
Hello, I am trying to calculate the "Forecast Value" based on the "Color" below. What would be the DAX formula for this?
- Anonymous4 years ago
I doubt you can do the logic and cumulative sum in one dax. You can create a logic column then get the forecast value in a measure.
forecastlogic column=var logic = SWITCH([Color],"Red",1,"Green",2,"Blue",3)Return IF([Initial Value]=100,100,logic)Forcast value = CALCULATE(SUM('Table'[forecastlogic]),FILTER(ALL('Table'),[YearMonth]<=MAX([YearMonth])))Paul Zheng _ Community Support Team
If this post helps, please Accept it as the solution to help the other members find it more quickly.
kangx322
4 years agoFrequent Visitor
I am getting the same result
AlexisOlson
Super User
4 years agoProbably because you have Year and Month context in your visual rather than just Date.
You can wipe out all of the filter context with ALL.
Forcast =
VAR MaxDate = MAX ( Table1[Date] )
VAR InitialValue =
CALCULATE (
SUM ( Table1[InitialValue] ),
FILTER ( ALL ( Table1 ), Table1[Date] <= MaxDate )
)
VAR ColorScores =
ADDCOLUMNS (
SUMMARIZE (
FILTER ( ALL ( Table1 ), Table1[Date] <= MaxDate ),
Table1[Month],
Table1[Color]
),
"@Incr", SWITCH ( Table1[Color], "Red", 1, "Blue", 2, "Green", 3 )
)
RETURN
InitialValue + SUMX ( ColorScores, [@Incr] )