Forum Discussion

vazmor's avatar
vazmor
Helper II
5 years ago
Solved

Pivot Column, Multiple Row to Column.

Hello. Currently I have a table like the one in the image, which has many rows with the title next to the value, I need to pass it to a table like the one in the image faster, because the original...
  • Jimmy801's avatar
    5 years ago

    Hello vazmor 

     

    check out this solution. This code fetches the rawdata of every second column with offset 1 and uses every second column the first entry as column name.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIEYicgNgFiZyA2V4rVgcgYQWVMoTIWcBljqIwZVMZSKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t, Column4 = _t, Column5 = _t, Column6 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", Int64.Type}, {"Column3", type text}, {"Column4", Int64.Type}, {"Column5", type text}, {"Column6", Int64.Type}}),
        CreateData = List.Transform
        (
            List.Alternate(Table.ColumnNames(#"Changed Type"), 1,1),
            (columnname)=> Table.Column(#"Changed Type", columnname)
        ),
        CreateColumnnames = List.Transform
        (
            List.Alternate(Table.ColumnNames(#"Changed Type"), 1,1,1),
            (header)=> Table.Column(#"Changed Type", header){0}
        ),
        CreateFinalTable = Table.FromColumns
        (
            CreateData,
            CreateColumnnames
        )
    in
        CreateFinalTable

     

    Copy paste this code to the advanced editor in a new blank query to see how the solution works.

    If this post helps or solves your problem, please mark it as solution (to help other users find useful content and to acknowledge the work of users that helped you)
    Kudoes are nice too

    Have fun

    Jimmy