Forum Discussion

bharatmalvi's avatar
bharatmalvi
Frequent Visitor
4 years ago
Solved

URGENT-Need help for Unpivot in below format

NameParameterValue
xy12/12/22
xy12/12/22
xz23
xz18

 

Hello Team, I want the above table in below form, Pls support.

 

Name      y    z
x12/12/22  23
x12/12/22  18

 

 

  • File uploaded to https://1drv.ms/x/s!Akd5y6ruJhvhuhOCASxESIut-dlV?e=Sy6hAw 

    Use below code

    let
        Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Column1", "Color Name"}, "Attribute", "Value"),
        #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Attribute"}),
        #"Replaced Value" = Table.ReplaceValue(#"Removed Columns","null",null,Replacer.ReplaceValue,{"Value"}),
        #"Grouped Rows" = Table.Group(#"Replaced Value", {"Column1"}, {{"All", each Table.AddIndexColumn(_,"Index",0,1)}}),
        #"Expanded All" = Table.ExpandTableColumn(#"Grouped Rows", "All", {"Color Name", "Value", "Index"}, {"Color Name", "Value", "Index"}),
        #"Pivoted Column" = Table.Pivot(#"Expanded All", List.Distinct(#"Expanded All"[Column1]), "Column1", "Value"),
        #"Removed Columns1" = Table.RemoveColumns(#"Pivoted Column",{"Index"}),
        #"Added Custom" = Table.AddColumn(#"Removed Columns1", "Custom", each [Month]=null and [Foil Solid]=null),
        #"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = false)),
        #"Removed Columns2" = Table.RemoveColumns(#"Filtered Rows",{"Custom"})
    in
        #"Removed Columns2"

     

8 Replies

    • Vijay_A_Verma's avatar
      Vijay_A_Verma
      Icon for Most Valuable Professional rankMost Valuable Professional

      See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test

      let
          Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WqlDSUaoEYkMjfSAyMjAyUorVwStcBcRGxihcQwul2FgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Parameter = _t, Value = _t]),
          #"Grouped Rows" = Table.Group(Source, {"Parameter"}, {{"ALL", each Table.AddIndexColumn(_,"Index",0,1)}}),
          #"Expanded ALL" = Table.ExpandTableColumn(#"Grouped Rows", "ALL", {"Name", "Value", "Index"}, {"Name", "Value", "Index"}),
          #"Pivoted Column" = Table.Pivot(#"Expanded ALL", List.Distinct(#"Expanded ALL"[Parameter]), "Parameter", "Value"),
          #"Removed Columns" = Table.RemoveColumns(#"Pivoted Column",{"Index"})
      in
          #"Removed Columns"
      • bharatmalvi's avatar
        bharatmalvi
        Frequent Visitor

        Hello Vijay 

         

        Thank you for your prompt support. However, i got stuck over here

         

         

    • Vijay_A_Verma's avatar
      Vijay_A_Verma
      Icon for Most Valuable Professional rankMost Valuable Professional

      File uploaded to https://1drv.ms/x/s!Akd5y6ruJhvhuhOCASxESIut-dlV?e=Sy6hAw 

      Use below code

      let
          Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
          #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Column1", "Color Name"}, "Attribute", "Value"),
          #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Attribute"}),
          #"Replaced Value" = Table.ReplaceValue(#"Removed Columns","null",null,Replacer.ReplaceValue,{"Value"}),
          #"Grouped Rows" = Table.Group(#"Replaced Value", {"Column1"}, {{"All", each Table.AddIndexColumn(_,"Index",0,1)}}),
          #"Expanded All" = Table.ExpandTableColumn(#"Grouped Rows", "All", {"Color Name", "Value", "Index"}, {"Color Name", "Value", "Index"}),
          #"Pivoted Column" = Table.Pivot(#"Expanded All", List.Distinct(#"Expanded All"[Column1]), "Column1", "Value"),
          #"Removed Columns1" = Table.RemoveColumns(#"Pivoted Column",{"Index"}),
          #"Added Custom" = Table.AddColumn(#"Removed Columns1", "Custom", each [Month]=null and [Foil Solid]=null),
          #"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = false)),
          #"Removed Columns2" = Table.RemoveColumns(#"Filtered Rows",{"Custom"})
      in
          #"Removed Columns2"