Forum Discussion

Lucy64's avatar
Lucy64
Advocate II
9 years ago
Solved

Running Total Part 2

Last year I got help here on building the following formula:   RunningTotal = MAXX(vwScalesDataFabricationNetValue, SUMX( FILTER( SUMMARIZE(CALCULATETABLE(vwScalesDataFabricationNetValue, ALLEXCE...
  • v-sihou-msft's avatar
    9 years ago

    Lucy64

     

    In your scenario, your running total calculation is over all week numbers. When you select a week number in slicer, it just filter each fact data for your selected week number. If you want to show the correct running total pct, you also need to have your calculation group on "Week Number". Just add the "Week Number" column in ALLEXCEPT() function.

     

    RunningTotal =
    MAXX (
        vwScalesDataFabricationNetValue,
        SUMX (
            FILTER (
                SUMMARIZE (
                    CALCULATETABLE (
                        vwScalesDataFabricationNetValue,
                        ALLEXCEPT (
                            vwScalesDataFabricationNetValue,
                            vwScalesDataFabricationNetValue[BuildingName],
                            vwScalesDataFabricationNetValue[WeekNumber]
                        ),
                        ALLSELECTED ( vwScalesDataFabricationNetValue[BuildingName] )
                    ),
                    vwScalesDataFabricationNetValue[MachineName],
                    "NetVal", SUM ( vwScalesDataFabricationNetValue[Fabrication Net Value] )
                ),
                [NetVal]
                    >= SUMX (
                        FILTER (
                            CALCULATETABLE (
                                vwScalesDataFabricationNetValue,
                                ALLEXCEPT (
                                    vwScalesDataFabricationNetValue,
                                    vwScalesDataFabricationNetValue[BuildingName],
                                    vwScalesDataFabricationNetValue[WeekNumber]
                                ),
                                ALLSELECTED ( vwScalesDataFabricationNetValue[BuildingName] )
                            ),
                            vwScalesDataFabricationNetValue[MachineName]
                                = EARLIER ( vwScalesDataFabricationNetValue[MachineName], 2 )
                        ),
                        vwScalesDataFabricationNetValue[Fabrication Net Value]
                    )
            ),
            [NetVal]
        )
    )

     

     

    Regards,