Forum Discussion

Powerwoman's avatar
Powerwoman
Helper II
2 years ago
Solved

Lookup values from another column within a group

Hi community,

 

is it possible to lookup a value like attachedToLineNo and display all the corresponding description in one field?

 

 

 

documentNolineNoattachedTolineNodescriptiondesired outcome
RE24-010641100000Invoice 1Additional Text for Invoice 1 (1) , Additional Text for Invoice 1 (2)
RE24-0106412000010000Additional Text for Invoice 1 (1) 
RE24-0106413000010000Additional Text for Invoice 1 (2) 
RE24-010642100000Invoice 2Additional Text for Invoice 2 (1)
RE24-0106422000010000Additional Text for Invoice 2 (1) 
RE24-010642300000  

 

Thank you!

  • Hi Powerwoman,

     

    Result:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCnI1MtE1MDQwMzFU0lEyNAACIA3Cnnll+ZnJqQqGSrE66OqMoOpg6h1TUjJLMvPzEnMUQlIrShTS8osU4PoVNAw1sZhhTJoZRuhmGOFwrxEWdaS41wiLe42Q3AvCCkqxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [documentNo = _t, lineNo = _t, attachedTolineNo = _t, description = _t]),
        // You can delete this step if you had blank values as null already.
        ReplaceBlanToNull = Table.TransformColumns(Source, {}, each if Text.Trim(_) = "" then null else _),
        GroupedRows = Table.Group(ReplaceBlanToNull, {"documentNo"}, {{"All", each 
            [ a = Table.NestedJoin(_, {"lineNo"}, _, {"attachedTolineNo"}, "Join"),
              b = Table.AddColumn(a, "Description Text", (x)=> if Table.RowCount(x[Join]) = 0 then null else Text.Combine(x[Join][description], ", "), type text),
              c = Table.RemoveColumns(b, {"Join"})
            ][c], type table}}),
        CombinedAll = Table.Combine(GroupedRows[All])
    in
        CombinedAll

     

     

3 Replies

  • dufoq3's avatar
    dufoq3
    Community Champion

    Hi Powerwoman,

     

    Result:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCnI1MtE1MDQwMzFU0lEyNAACIA3Cnnll+ZnJqQqGSrE66OqMoOpg6h1TUjJLMvPzEnMUQlIrShTS8osU4PoVNAw1sZhhTJoZRuhmGOFwrxEWdaS41wiLe42Q3AvCCkqxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [documentNo = _t, lineNo = _t, attachedTolineNo = _t, description = _t]),
        // You can delete this step if you had blank values as null already.
        ReplaceBlanToNull = Table.TransformColumns(Source, {}, each if Text.Trim(_) = "" then null else _),
        GroupedRows = Table.Group(ReplaceBlanToNull, {"documentNo"}, {{"All", each 
            [ a = Table.NestedJoin(_, {"lineNo"}, _, {"attachedTolineNo"}, "Join"),
              b = Table.AddColumn(a, "Description Text", (x)=> if Table.RowCount(x[Join]) = 0 then null else Text.Combine(x[Join][description], ", "), type text),
              c = Table.RemoveColumns(b, {"Join"})
            ][c], type table}}),
        CombinedAll = Table.Combine(GroupedRows[All])
    in
        CombinedAll

     

     

    • Powerwoman's avatar
      Powerwoman
      Helper II

      Hi dufoq3 ,

      thank you so much for your super quick response.
      Is it possible to only combine the description if attachedTolineNo = lineNo?

       

       

      • dufoq3's avatar
        dufoq3
        Community Champion

        Hi, I've just edited code in previous post. Check it and let me know.