Forum Discussion

marcos_osorio's avatar
marcos_osorio
Helper II
5 years ago
Solved

Difference as total

Hi, I have a table with data from two different reports., each type has the same attributes.  Is there a way to make the BI display the difference in the total? I mean to avoid creating one measure ...
  • v-yingjl's avatar
    5 years ago

    Hi marcos_osorio ,

    In power bi, Dax is calculated based on context and columns, if you want to get the same result in the table, you need to create three simliar measures:

    QTY_ = 
    IF (
        HASONEVALUE ( 'Table A'[QTY] ),
        SUM ( 'Table A'[QTY] ),
        CALCULATE ( SUM ( 'Table A'[QTY] ), 'Table A'[TYPE] = "A" )
            - CALCULATE ( SUM ( 'Table A'[QTY] ), 'Table A'[TYPE] = "B" )
    )
    
    Amount_ = 
    IF (
        HASONEVALUE ( 'Table A'[AMOUNT] ),
        SUM ( 'Table A'[AMOUNT] ),
        CALCULATE ( SUM ( 'Table A'[AMOUNT] ), 'Table A'[TYPE] = "A" )
            - CALCULATE ( SUM ( 'Table A'[AMOUNT] ), 'Table A'[TYPE] = "B" )
    )
    
    PROFIT_ = 
    IF (
        HASONEVALUE ( 'Table A'[PROFIT] ),
        SUM ( 'Table A'[PROFIT] ),
        CALCULATE ( SUM ( 'Table A'[PROFIT] ), 'Table A'[TYPE] = "A" )
            - CALCULATE ( SUM ( 'Table A'[PROFIT] ), 'Table A'[TYPE] = "B" )
    )

    If you only want to create one measure, you need to unpivot your table and use a matrix to show that:

    Diff = 
    CALCULATE (
        SUM ( 'Table A - Unpivot'[Value] ),
        'Table A - Unpivot'[TYPE] = "A"
    )
        - CALCULATE (
            SUM ( 'Table A - Unpivot'[Value] ),
            'Table A - Unpivot'[TYPE] = "B"
        )
    

    Attached a sample file in the below, hopes it could help.

     

    Best Regards,
    Community Support Team _ Yingjie Li
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.