Forum Discussion

jpmakako's avatar
jpmakako
Frequent Visitor
3 years ago
Solved

Power Query Nested Table Transformation

Hi, Im trying to replace null values in a nested table with the values form the outside table. Both in and out have the the columns [cta], [scta] and [sscta]. The idea is to replace any null value in the Nested Table with the corresponding value from the outside table. ModifyTabble is a function that replaces a into any null value in the table that is nested. My problem is that the values being stored in the values are lists instead of the row value so Im getting the whole list of [cta] instead of the corresponding row value.

 

McReplace = Table.TransformColumns(PreviousStep, each let a = [cta], b = [scta], c = [sscta] in {"NestedTable", each ModifyTable( _ , a,b,c )})

  • McReplace = Table.FromRecords(Table.TransformRows(PreviousStep, each let a = [cta], b = [scta], c = [sscta] in _&[NestedTable=ModifyTable( [NestedTable] , a,b,c )]))

    or

    McReplace = Table.RelaceValue(PreviousStep, each ModifyTable( [NestedTable] , [cta],[scta],[sscta] ),"",(x,y,z)=>y,{"NestedTable"})

3 Replies

  • wdx223_Daniel's avatar
    wdx223_Daniel
    Community Champion

    McReplace = Table.FromRecords(Table.TransformRows(PreviousStep, each let a = [cta], b = [scta], c = [sscta] in _&[NestedTable=ModifyTable( [NestedTable] , a,b,c )]))

    or

    McReplace = Table.RelaceValue(PreviousStep, each ModifyTable( [NestedTable] , [cta],[scta],[sscta] ),"",(x,y,z)=>y,{"NestedTable"})

    • jpmakako's avatar
      jpmakako
      Frequent Visitor

      Thanks, they both work. Care to explain to me what the "&" and "NestedTable=" inside the column is doing in the first statement and why is the each ModifyTable(...) in the old argument of the ReplaceValue function and "" in the new argument? Sounds counterintuitive to me.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Yooooooo! That's some world class M syntax wizardry right there.

     

    --Nate