Forum Discussion

CaptOdyssey's avatar
CaptOdyssey
Regular Visitor
1 year ago
Solved

Extracting and Flattening an embedded table within a data set

Is there an elegant method using Power Query of extracting an embedded table from multiple columns? In my example below Columns 3 (RateDifferentialPercentages) & 4 (RateDiffEffectiveDTs) represent an...
  • wdx223_Daniel's avatar
    1 year ago

    NewStep=#table(Table.ColumnNames(YourTableName),List.TransformMany(Table.ToRows(YourTableName),each List.Zip(List.Transform(List.Skip(_,2),each Text.Split(_,","))),(x,y)=>List.FirstN(x,2)&y))

  • Omid_Motamedise's avatar
    Omid_Motamedise
    1 year ago

    Thanks CaptOdyssey 

    It is now more sensible now,

    please use the below code which Source is related to the table you presented here.

    let
        Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        #"Merged Columns" = Table.CombineColumns(Source,{"RateDifferentialPercentages", "RateDiffEffectiveDTs"},each List.Zip(List.Transform(_, (x)=> Text.Split(x,","))),"Merged"),
        #"Expanded Merged" = Table.ExpandListColumn(#"Merged Columns", "Merged"),
        Custom1 = Table.SplitColumn(#"Expanded Merged","Merged", each _)
    in
        Custom1

    If you have any question, just ask me 

  • CaptOdyssey's avatar
    CaptOdyssey
    1 year ago

    Hello and thank you for your proposed solution. Unfortunately, I cannot figure out how to apply your suggestion. How would I add your suggested new step to the code below?

     

    let
       Source = Table.Combine({RateDifferentials2}),
       #"Filtered Rows" = Table.SelectRows(Source, each [StdRateDiffEffectiveDTs] <> null and [StdRateDiffEffectiveDTs] <> ""),
       #"Changed Type" = Table.TransformColumnTypes(#"Filtered Rows",{{"StdRateDiffEffectiveDTs", type text}}),