Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

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
XX X01/01/2023A11
XX X01/01/2023A23
XX X01/01/2023B33
XX X01/01/2023B47
XX X01/02/2023A14
XX X01/02/2023A26
XX X01/02/2023B310
XX X01/02/2023B414
XX X01/01/2024A11
XX X01/01/2024A23
XX X01/01/2024B33
XX X01/01/2024B47
XX X01/02/2024A14
XX X01/02/2024A26
XX X01/02/2024B310
XX X01/02/2024B414
  • 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
  • Anonymous's avatar
    Anonymous
    2 years ago

    Greg_Deckler

    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
        __Result

     

    Edit:

    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's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity 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
    • Anonymous's avatar
      Anonymous
      Not applicable

      Greg_Deckler

      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
          __Result

       

      Edit:

      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

       

  • Anonymous's avatar
    Anonymous
    Not 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
    XX X01/01/2023A11
    XX X01/01/2023A23
    XX X01/01/2023B33
    XX X01/01/2023B47
    XX X01/02/2023A14
    XX X01/02/2023A26
    XX X01/02/2023B310
    XX X01/02/2023B414
    XX X01/01/2024A11
    XX X01/01/2024A23
    XX X01/01/2024B33
    XX X01/01/2024B47
    XX X01/02/2024A14
    XX X01/02/2024A26
    XX X01/02/2024B310
    XX X01/02/2024B414