Forum Discussion

AlexEnergee3's avatar
AlexEnergee3
New Member
8 years ago
Solved

Sum previews rows in DAX

Hello,

 

this query

 

EVALUATE    
    SELECTCOLUMNS(
        SUMMARIZECOLUMNS(
                    Times[TimeID]
                    , Items[Factor]
                    , OperationOrders[Quantity]
                    , FILTER(Stations, Stations[BillOfResourcesName] = "Bor1")
                    , FILTER(OperationOrderRows, OperationOrderRows[OperationOrderCode] = "OO-1")
                    , FILTER(NATURALINNERJOIN(Machines,Stations), OR (AND (Machines[IsInBound]=True, Stations[Type]=0), Stations[Type]=1))
                    ,"Qty", SUM(Productions201801[Pieces])
                    )
        ,"TimeID", [TimeID]
        ,"Factor" , [Factor]
        ,"QtyPerFactor", [Quantity]-[Qty]*[Factor]
         )
order by [TimeID]

 

return this result

 

TimeID | Factor | QueryPerFactor

0          |   0,635 |  229,365

60        |   0,635 |  229,365

150      |   0,635 |  229,365

210      |   0,635 |  229,365

300      |   0,635 |  229,365

 

I need to obtain in the QtyPerFactor column the value of the QtyPerFactor preview rows minus the Factor column value

 

Than i need this result

 

TimeID | Factor | QueryPerFactor

0          |   0,635 |  229,365

60        |   0,635 |  228,730

150      |   0,635 |  228,095

210      |   0,635 |  227,460

300      |   0,635 |  226,825

ecc...

 

Can anyone help me?

Thanks so much!

 

  • AlexEnergee3,

     

    You may add a calculated column as follows.

    Column =
    MAXX (
        TOPN ( 1, Table1, Table1[TimeID], ASC ),
        Table1[QtyPerFactor] + Table1[Factor]
    )
        - SUMX (
            FILTER ( Table1, Table1[TimeID] <= EARLIER ( Table1[TimeID] ) ),
            Table1[Factor]
        )
    

1 Reply

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

    AlexEnergee3,

     

    You may add a calculated column as follows.

    Column =
    MAXX (
        TOPN ( 1, Table1, Table1[TimeID], ASC ),
        Table1[QtyPerFactor] + Table1[Factor]
    )
        - SUMX (
            FILTER ( Table1, Table1[TimeID] <= EARLIER ( Table1[TimeID] ) ),
            Table1[Factor]
        )