Forum Discussion

marsclone's avatar
marsclone
Helper IV
5 years ago
Solved

Subtotals Balance Sheet

Hi, In the past, I have been very well helped by a fellow forum member in building a P&L. The nice thing about this model is, that it can be applied in Power BI and Power Pivot. Privately I like t...
  • v-kkf-msft's avatar
    v-kkf-msft
    5 years ago

    Hi marsclone ,

     

    Please create two columns:

     

    Group 1 = 
    var Pre = 
        MAXX(
            FILTER(
                'Report Balance',
                'Report Balance'[Sortgroup] < EARLIER('Report Balance'[Sortgroup])
                    && 'Report Balance'[Subtotal?] = 1
            ),
            'Report Balance'[Sortgroup]
        )
    return 
        IF(
            'Report Balance'[Subtotal?] = 1 && Pre <> 'Report Balance'[Sortgroup] - 1,
            'Report Balance'[Sortgroup]
        )
    Group 2 = 
    IF(
        'Report Balance'[Subtotal?] = 1 && 'Report Balance'[Group 1] = BLANK(),
        'Report Balance'[Sortgroup]
    )

     

    Then create the following measures:

     

    GROUP_1 = 
    var Pre_Group1 = 
        MAXX(
            FILTER(
                ALL('Report Balance'),
                'Report Balance'[Group 1] < MAX('Report Balance'[Group 1]) 
            ),
            'Report Balance'[Group 1]
        )
    var Group1_Value = 
        CALCULATE(
            [Total Balance],
            FILTER(
                ALL('Report Balance'),
                'Report Balance'[Sortgroup] < MAX('Report Balance'[Sortgroup]) && 'Report Balance'[Sortgroup] > Pre_Group1
            )
        )
    return 
        IF(
            MAX('Report Balance'[Sortgroup]) = MAX('Report Balance'[Group 1]), 
            Group1_Value
        )
    Measure = 
    var Pre_Group2 = 
        MAXX(
            FILTER(
                ALL('Report Balance'),
                'Report Balance'[Group 2] < MAX('Report Balance'[Group 2])
            ),
            'Report Balance'[Group 2]
        )
    return     
        SWITCH(
            TRUE(),
            MAX('Report Balance'[Sortgroup]) = MAX('Report Balance'[Group 1]), [GROUP_1],
            MAX('Report Balance'[Sortgroup]) = MAX('Report Balance'[Group 2]),
            CALCULATE(
                SUMX( ALLSELECTED('Report Balance'[Sortgroup]), [GROUP_1] ),
                FILTER(
                    ALL('Report Balance'),
                    'Report Balance'[Subtotal?] = 1 && 'Report Balance'[Sortgroup] < MAX('Report Balance'[Sortgroup]) && 'Report Balance'[Sortgroup] > Pre_Group2 
                )  
            ),
            [Total Balance]
        )

     

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.

    Best Regards,
    Winniz

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