Forum Discussion

lotus22's avatar
lotus22
Icon for Helper III rankHelper III
6 years ago
Solved

Add custom column with Lookup on the same table

Customer PartSupplier PartLine TypeTotalsExpected
     
CPart A Customer Demand12345Empty
CPart ASPartYSupplier Order5612345
CPart DSPartXSupplier Order56Empty
CPart B Customer Demand5869Empty
CPart ESPartNSupplier Order25Empty
CPart BSPartOSupplier Order665689

 

In Expected column, I would like to bring Totals from Customer Demand when the Customer Part Number matches  Customer Part No in the Supplier Order field.

 

Therefore, the lookup will be only based on Customer Part Number but the data will only  come from the Customer Demand row. it is more like of multi filter.

  • Hi, lotus22 

    "Type 2"  is a calculated column ,so it cannot be found in Power Query.

    You can try create a calculated column as below:

    Column = 
    var a=CALCULATE(SUM('Table'[Totals]),ALLEXCEPT('Table','Table'[Customer Part]),'Table'[Type]="Customer Demand")
    return  IF('Table'[Type]="Customer Demand",BLANK(),a)

     

     pbix attached

     

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

     

5 Replies

  • camargos88's avatar
    camargos88
    Icon for Community Champion rankCommunity Champion

    Hi lotus22 ,

     

    You can create a custom column like this:

    if [Line Type] = "Supplier Order" then
    let 
    _customerPart = [Customer Part], 
    _rows =  Table.SelectRows(#"Changed Type", each [Customer Part] = _customerPart and [Line Type] = "Customer Demand") 
    in
    if Table.IsEmpty(_rows) then null 
    else _rows[Totals]{0}
    
    else null

     

    • lotus22's avatar
      lotus22
      Icon for Helper III rankHelper III

      Thank you, but i see all "null" when I incorporate same formula. I have about 30 columns in my power query

       

      if [Type2] = "Supplier Order" then
      let
      _customerPart = [CustomerPart],
      _rows = Table.SelectRows(#"Changed Type", each [CustomerPart] = _customerPart and [Type2] = "Customer Demand")
      in
      if Table.IsEmpty(_rows) then null
      else _rows[Totals]{0}

      else null

    • lotus22's avatar
      lotus22
      Icon for Helper III rankHelper III

      error received

       

      Expression.Error: The field 'Type2' of the record wasn't found.