Forum Discussion
Cumulative sum by date and category
Hi everyone!
I need help. I was trying to perform a dax to return cumulative sum by month and version, in that year.
example sample:
| CATEGORY_1 | CATEGORY_2 | ... | CATEGORY_N | DATE | VERSION | VALUE | CUMULATIVE_SUM |
| X | X | X | 01/01/2023 | A | 1 | 1 | |
| X | X | X | 01/01/2023 | A | 2 | 3 | |
| X | X | X | 01/01/2023 | B | 3 | 3 | |
| X | X | X | 01/01/2023 | B | 4 | 7 | |
| X | X | X | 01/02/2023 | A | 1 | 4 | |
| X | X | X | 01/02/2023 | A | 2 | 6 | |
| X | X | X | 01/02/2023 | B | 3 | 10 | |
| X | X | X | 01/02/2023 | B | 4 | 14 | |
| X | X | X | 01/01/2024 | A | 1 | 1 | |
| X | X | X | 01/01/2024 | A | 2 | 3 | |
| X | X | X | 01/01/2024 | B | 3 | 3 | |
| X | X | X | 01/01/2024 | B | 4 | 7 | |
| X | X | X | 01/02/2024 | A | 1 | 4 | |
| X | X | X | 01/02/2024 | A | 2 | 6 | |
| X | X | X | 01/02/2024 | B | 3 | 10 | |
| X | X | X | 01/02/2024 | B | 4 | 14 |
Anonymous To get the breakdown that you have in your CUMULATIVE_SUM column you would need an Index which you would then substitute for DATE in this formula:
Cumulative = VAR __Version = [VERSION] VAR __Date = [DATE] VAR __Table = FILTER( ALL( 'Table' ), [VERSION] = __Version && [DATE] <= __Date ) VAR __Result = SUMX( __Table, [VALUE] ) RETURN __Result- Anonymous2 years ago
thx for reply,
it worked with follow adjusts:
Cumulative = VAR __Version = SELECTEDVALUE(BASE_TOTAL[VERSAO]) VAR __Date = SELECTEDVALUE(BASE_TOTAL[SAFRA]) VAR __Year = YEAR(__Date) VAR __Table = FILTER( ALL(BASE_TOTAL), [VERSAO] = __Version && YEAR([SAFRA]) = __Year && [SAFRA] <= __Date ) VAR __Result = SUMX( __Table, [VALOR] ) RETURN __ResultEdit:
I ran into a problem working with the previous dax, my slicers werent filtering my cumulative sum chart, so i made a small adjust again:
Cumulative = VAR __Version = SELECTEDVALUE(BASE_TOTAL[VERSAO]) VAR __Date = SELECTEDVALUE(BASE_TOTAL[SAFRA]) VAR __Year = YEAR(__Date) VAR __Table = CALCULATE( SUM(BASE_TOTAL[VALOR]), FILTER( ALL(BASE_TOTAL), [VERSAO] = __Version && YEAR([SAFRA]) = __Year && [SAFRA] <= __Date ) ) RETURN __Table
6 Replies
- Greg_Deckler
Community Champion
Anonymous To get the breakdown that you have in your CUMULATIVE_SUM column you would need an Index which you would then substitute for DATE in this formula:
Cumulative = VAR __Version = [VERSION] VAR __Date = [DATE] VAR __Table = FILTER( ALL( 'Table' ), [VERSION] = __Version && [DATE] <= __Date ) VAR __Result = SUMX( __Table, [VALUE] ) RETURN __Result- AnonymousNot applicable
thx for reply,
it worked with follow adjusts:
Cumulative = VAR __Version = SELECTEDVALUE(BASE_TOTAL[VERSAO]) VAR __Date = SELECTEDVALUE(BASE_TOTAL[SAFRA]) VAR __Year = YEAR(__Date) VAR __Table = FILTER( ALL(BASE_TOTAL), [VERSAO] = __Version && YEAR([SAFRA]) = __Year && [SAFRA] <= __Date ) VAR __Result = SUMX( __Table, [VALOR] ) RETURN __ResultEdit:
I ran into a problem working with the previous dax, my slicers werent filtering my cumulative sum chart, so i made a small adjust again:
Cumulative = VAR __Version = SELECTEDVALUE(BASE_TOTAL[VERSAO]) VAR __Date = SELECTEDVALUE(BASE_TOTAL[SAFRA]) VAR __Year = YEAR(__Date) VAR __Table = CALCULATE( SUM(BASE_TOTAL[VALOR]), FILTER( ALL(BASE_TOTAL), [VERSAO] = __Version && YEAR([SAFRA]) = __Year && [SAFRA] <= __Date ) ) RETURN __Table
- AnonymousNot applicable
Hi everyone!
I need help. I was trying to perform a dax to return cumulative sum by month and version, in that year.
example sample:
CATEGORY_1 CATEGORY_2 ... CATEGORY_N DATE VERSION VALUE CUMULATIVE_SUM X X X 01/01/2023 A 1 1 X X X 01/01/2023 A 2 3 X X X 01/01/2023 B 3 3 X X X 01/01/2023 B 4 7 X X X 01/02/2023 A 1 4 X X X 01/02/2023 A 2 6 X X X 01/02/2023 B 3 10 X X X 01/02/2023 B 4 14 X X X 01/01/2024 A 1 1 X X X 01/01/2024 A 2 3 X X X 01/01/2024 B 3 3 X X X 01/01/2024 B 4 7 X X X 01/02/2024 A 1 4 X X X 01/02/2024 A 2 6 X X X 01/02/2024 B 3 10 X X X 01/02/2024 B 4 14 - AnonymousNot applicable
- Greg_Deckler
Community Champion
Anonymous Please don't cross-post: Cumulative sum by date and category - Microsoft Fabric Community
- AnonymousNot applicable
sorry for that.