Forum Discussion

gomezc73's avatar
gomezc73
Helper V
5 years ago
Solved

Variation instead total in Matrix

Hello Experts,

 Could you please help me with this issue?

 

I have a table with monthly sales by Year/Month, like this

product codedescriptionyearJanfebMarAprMayjunJulAugSepOctNovDec
M01Product A2019101222321210562360659098
M01Product A202081516182554246589120100125
M02Product B201931325211787983454264355
M02Product B20201532545676545643229018130

 

Then, I need generate a new row below each product with the Variation 2020 minus 2019 for each month.

Something like this:

 

I tried using a matrix, but it only make a sum of the values for each month, Is possible change it to generate a row with variation 2020 minus 2019?..

 

 

 

  • gomezc73 - Put together a more concrete example for you with your data. The quick measure basically discusses the concept of how to do it, how to use HASONEVALUE, ISINSCOPE, etc. to find out where you are in the hierarchy/matrix and then you can decide how to do your calculation accordingly. See attached PBIX beneath sig. Page 6, Table (6), Measure 6.

    Measure 6 = 
        VAR __productcode = MAX([product code])
        VAR __description = MAX([description])
        VAR __year = MAX([year])
        VAR __Month = MAX([Attribute])
        VAR __2019 = SUMX(FILTER(ALL('Table (6)'),[product code]=__productcode && [description]=__description && [Attribute]=__Month && [year]=2019),[Value])
        VAR __2020 = SUMX(FILTER(ALL('Table (6)'),[product code]=__productcode && [description]=__description && [Attribute]=__Month && [year]=2020),[Value])
    RETURN
        IF(ISINSCOPE([year]),SUM([Value]),__2020 - __2019)

     

3 Replies

    • gomezc73's avatar
      gomezc73
      Helper V

      Thanks fot your help, It can help is very similar. but i am not an expert user.. Sorry!!. Is very complicated to modified the formula to generated the difference insted MIN/Max or AVE?

      • Greg_Deckler's avatar
        Greg_Deckler
        Community Champion

        gomezc73 - Put together a more concrete example for you with your data. The quick measure basically discusses the concept of how to do it, how to use HASONEVALUE, ISINSCOPE, etc. to find out where you are in the hierarchy/matrix and then you can decide how to do your calculation accordingly. See attached PBIX beneath sig. Page 6, Table (6), Measure 6.

        Measure 6 = 
            VAR __productcode = MAX([product code])
            VAR __description = MAX([description])
            VAR __year = MAX([year])
            VAR __Month = MAX([Attribute])
            VAR __2019 = SUMX(FILTER(ALL('Table (6)'),[product code]=__productcode && [description]=__description && [Attribute]=__Month && [year]=2019),[Value])
            VAR __2020 = SUMX(FILTER(ALL('Table (6)'),[product code]=__productcode && [description]=__description && [Attribute]=__Month && [year]=2020),[Value])
        RETURN
            IF(ISINSCOPE([year]),SUM([Value]),__2020 - __2019)