cancel
Showing results for
Did you mean:
Frequent Visitor

## Cumulative Sum by Year and Month or Only by Month when no Year is selected

Hello everyone,

I have a measure that calculates the monthly value, and then I have another measure that calculates the accumulated total, which is working correctly

Cumulative Measure:

Valor_OIL_Acumul =
IF (
MIN ( 'date'[Month Number] )
<= CALCULATE ( MAX ( table[Date] ), ALL ( table) ),
CALCULATE (
[Month Total Measure],
FILTER (
ALL ( 'date' ),
'date'[Year] = MAX ( 'date'[Year] )
&& 'date'[Date] < MAX ( 'date'[Date] )
)
)
)

The problem exists when no year is selected:

I would like the final result to be the following:   12 075.214
41 779.905
....

Thank you very much in advance,
Simao Coimbra
1 ACCEPTED SOLUTION
Community Support

According to your description, The idea is to add a column to the virtual table. This column is the column equivalently converted from [Month Total Measure], and then calculate the cumulative value of this new column on the basis of this table.
Like this:

``````measure=
var t =
summarize(
All(table),
table[month number],
"Month Total",
xxx(Convert Month Total Measure to Month Total column)
)
var tab =
t,
"Cumu",
sumx(
filter(
t,
[month number]<=earlier(table[month number])
),
[Month Total]
)
)
return
sumx(
filter(
tab,
[month number] = selectedvalue[month number]
),
[Cumu]
)``````

If it doesn’t solve your problem, please share some sample data and feel free to ask me.

Best Regards

Janey Guo

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 REPLIES 2
Community Support

According to your description, The idea is to add a column to the virtual table. This column is the column equivalently converted from [Month Total Measure], and then calculate the cumulative value of this new column on the basis of this table.
Like this:

``````measure=
var t =
summarize(
All(table),
table[month number],
"Month Total",
xxx(Convert Month Total Measure to Month Total column)
)
var tab =
t,
"Cumu",
sumx(
filter(
t,
[month number]<=earlier(table[month number])
),
[Month Total]
)
)
return
sumx(
filter(
tab,
[month number] = selectedvalue[month number]
),
[Cumu]
)``````

If it doesn’t solve your problem, please share some sample data and feel free to ask me.

Best Regards

Janey Guo

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Frequent Visitor

Thank you very much @v-janeyg-msft. You've saved my week!

Announcements