Forum Discussion

krzysztof's avatar
krzysztof
Helper III
6 years ago
Solved

Matrix calculus - specific formula for matrix

Hi,
I want to calculate the difference in values between versions of files in matrix visualization. I tried to present it as simply as possible on a picture. I am also including the pbx file

 

 

PBX 

  • Hi, krzysztof 

     

    You may create a calculated table and a measure as below.
    Calculated table:

    Table = DISTINCT(Arkusz1[File_Name])

     

    Measure:

    Result = 
    IF(
        ISINSCOPE(Arkusz1[File_Name]),
        var _value1 = 
        CALCULATE(
            SUM(Arkusz1[Values]),
            FILTER(
                ALL(Arkusz1),
                Arkusz1[Company]=SELECTEDVALUE(Arkusz1[Company])&&
                Arkusz1[Category]=SELECTEDVALUE(Arkusz1[Category])&&
                Arkusz1[Week]=SELECTEDVALUE(Arkusz1[Week])&&
                Arkusz1[File_Name]=SELECTEDVALUE('Table'[File_Name])
            )
        )
        return
        _value1-SUM(Arkusz1[Values])
    )

     

    Finally you need to replace 'File_Name' column from 'Arkusz1' in 'Columns' area with 'File_Name' column from 'Table'.

     

    Best Regards

    Allan

     

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

2 Replies

  • v-alq-msft's avatar
    v-alq-msft
    Community Support

    Hi, krzysztof 

     

    You may create a calculated table and a measure as below.
    Calculated table:

    Table = DISTINCT(Arkusz1[File_Name])

     

    Measure:

    Result = 
    IF(
        ISINSCOPE(Arkusz1[File_Name]),
        var _value1 = 
        CALCULATE(
            SUM(Arkusz1[Values]),
            FILTER(
                ALL(Arkusz1),
                Arkusz1[Company]=SELECTEDVALUE(Arkusz1[Company])&&
                Arkusz1[Category]=SELECTEDVALUE(Arkusz1[Category])&&
                Arkusz1[Week]=SELECTEDVALUE(Arkusz1[Week])&&
                Arkusz1[File_Name]=SELECTEDVALUE('Table'[File_Name])
            )
        )
        return
        _value1-SUM(Arkusz1[Values])
    )

     

    Finally you need to replace 'File_Name' column from 'Arkusz1' in 'Columns' area with 'File_Name' column from 'Table'.

     

    Best Regards

    Allan

     

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

  • Hi krzysztof ,

     

    Create two disconnected table with the File Name and File_Name distinct values then add the following measure:

    File_Values = 
    CALCULATE (
        SUM ( Arkusz1[Values] ),
        FILTER (
            ALLSELECTED ( Arkusz1[File_Name] ),
            Arkusz1[File_Name] = SELECTEDVALUE ( File_Name[File_Name] )
        )
    )
        - CALCULATE (
            SUM ( Arkusz1[Values] ),
            FILTER (
                ALLSELECTED ( Arkusz1[File Name] ),
                Arkusz1[File Name] = SELECTEDVALUE ( 'File Name'[File Name] )
            )
        )

    Now setup your matrix in the following way:

    • Rows:
      • Arkusz1[Company]
      • Arkusz1[Category]
      • Arkusz1[Week]
      • File_Name[File_Name]
    • Columns
      • File Name[File Name] 
    • Values
      • [File_Values]

     

    Check result in attach PBIX there are some plus and minus that are not correct not sure if is of your data or the calculation you made for the example but an easy fix for sure.