Forum Discussion

chaichatp's avatar
chaichatp
Icon for Helper III rankHelper III
8 years ago
Solved

Append Rows using Another columns

I have tried to append rows of  by cloumns, the original data looks like this    Name  Date1   Cost1  Date2  Cost2  A 2013-03-25    1,923,245.06     B 2015-06-04    4,104,660.00 ...
  • Floriankx's avatar
    8 years ago

    This should work:

     

    let
        Source = Excel.CurrentWorkbook(){[Name="Test_Unpivot"]}[Content],
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {" Date1 ", type datetime}, {" Cost1 ", type text}, {"Date2", type datetime}, {" Cost2 ", type text}}),
        #"Unpivoted Only Selected Columns" = Table.Unpivot(#"Changed Type", {" Date1 ", " Cost1 ", "Date2", " Cost2 "}, "Attribut", "Value"),
        #"Trimmed Text" = Table.TransformColumns(#"Unpivoted Only Selected Columns",{{"Attribut", Text.Trim, type text}}),
        #"Added Name_temp" = Table.AddColumn(#"Trimmed Text", "Name_temp", each [Name]&Text.End([Attribut],1)),
        #"Replace '1'" = Table.ReplaceValue(#"Added Name_temp","1","",Replacer.ReplaceText,{"Attribut"}),
        #"Replace '2'" = Table.ReplaceValue(#"Replace '1'","2","",Replacer.ReplaceText,{"Attribut"}),
        #"Removed Name" = Table.RemoveColumns(#"Replace '2'",{"Name"}),
        #"Pivoted Column" = Table.Pivot(#"Removed Name", List.Distinct(#"Removed Name"[Attribut]), "Attribut", "Value"),
        #"Add Name" = Table.AddColumn(#"Pivoted Column", "Name", each Text.Start([Name_temp],1)),
        #"Removed Name_temp" = Table.RemoveColumns(#"Add Name",{"Name_temp"}),
        #"Reordered Columns" = Table.ReorderColumns(#"Removed Name_temp",{"Name", "Date", "Cost"}),
        #"Changed Date" = Table.TransformColumnTypes(#"Reordered Columns",{{"Date", type date}})
    in
        #"Changed Date"