Forum Discussion

LasseL's avatar
LasseL
Helper I
7 years ago
Solved

Calculated Column looking up values in same table

Dear Experts,

 

This solution might be simple, but I am struggling a lot to work out how to make calculated column which is derived from values from same table.

 

The logic I am looking for is; IF Qty_ to consume = 0 in table where Prod_ Order No_ = Prod_Order No_ of actual row AND Line No_ < Line No of actual row AND Max Line No AND Qty_ to Consume of actual row >0 THEN 1 ELSE 0

 

I have tried something along with IF(CALCULATE(SUM(Qty_ to consume);FILTER(Prod Line;Prod_ Order No_=Prod_Order No_ && Line No_<Line No_ && Max(Line No_);IF(Qty_ to Consume>0);1;0)

 

I am pretty sure I am getting som syntax wrong, any ideas how to get around this?

 

I could solve it by creating a calculated table with values I am interested in and a key and relation and this way make a max and check, but it is not a pretty solution performance-wise.

 

  • LasseL Thanks for confirming that !!

     

    Here you go with the "ActiveOperation" column logic (You need to have an Index field added using "Power Query Editor" before creating the new column as below)

     

    ActiveOperation = 
    VAR _PrevTotal = CALCULATE(SUM(Test115Flag[QtyToConsume]),FILTER(ALL(Test114Rnk),Test115Flag[ProdOrderNo]=EARLIER(Test115Flag[ProdOrderNo]) && Test115Flag[Index] < EARLIER(Test115Flag[Index]))) 
    VAR _PrevRowVal = LOOKUPVALUE(Test115Flag[QtyToConsume],Test106CummSum[Index],Test115Flag[Index]-1)
    RETURN IF(_PrevTotal>0 && _PrevRowVal = 0 && _PrevTotal = Test115Flag[QtyToConsume],1,0)

     

8 Replies

    • LasseL's avatar
      LasseL
      Helper I

      Hi there Pattem, thanks for your quick response.

       

      Certainly, here you go, a sample in table form, last column is the expected output.

       

      Prod_ Order No_Line No_Qty_ to ConsumeActiveOperation
      LP0262214000000
      LP0262215000000
      LP0262217000000
      LP0262218000000
      LP02622110000000
      LP02622111000049001
      LP0262211300001400
      LP0262211500001200
      LP0262211600007000
      LP0262211800005250
      LP0262224000000
      LP0262225000000
      LP0262227000000
      LP026222800001441
      LP0262221000002400
      LP02622211000020160
      LP0262221300005760
      LP0262221500001200
      LP0262221600002880
      LP0262221800002160
      • LasseL's avatar
        LasseL
        Helper I

        Regarding type of attributes; Prod_ Order No_ is a text string, the rest are numeric values.