Forum Discussion

02650705R's avatar
02650705R
New Member
5 years ago
Solved

estructurar tabla

Buenos días, necesito convertir una tabla en editor power query de la siguiente manera:

Tabla inicial:

nulonulomes1mes1mes2mes2mes3mes3
nulo nuloprimera quincenasegunda quincenaprimera quincenasegunda quincenaprimera quincenasegunda quincena
persona 1tipo1123456
persona1tipo25843825
persona 2tipo1123456
persona2tipo25843825
persona 3tipo1123456
persona3tipo25843825

 

Tabla a conseguir:

personatipomesquincenavalor
persona1tipo1mes1primera quincena1
persona1tipo1mes1 segunda quincena2
persona1tipo1mes2primera quincena3
persona1tipo1mes2segunda quincena4
persona1tipo1mes3primera quincena5
persona1tipo1mes3segunda quincena6
persona1tipo2mes1primera quincena5
persona1tipo2mes1 segunda quincena8
persona1tipo2mes2primera quincena4
persona1tipo2mes2segunda quincena3
persona1tipo2mes3primera quincena8
persona1tipo2mes3segunda quincena25
persona2tipo1mes1 primera quincena1
persona2tipo1mes1 segunda quincena2
persona2tipo1mes2primera quincena3
persona2tipo1mes2segunda quincena4
persona2tipo1mes3primera quincena5
persona2tipo1mes3segunda quincena6
persona2tipo2mes1primera quincena5
persona2tipo2mes1 segunda quincena8
persona2tipo2mes2primera quincena4
persona2tipo2mes2segunda quincena3
persona2tipo2mes3primera quincena8
persona2tipo2mes3segunda quincena25
persona3tipo1mes1 primera quincena1
persona3tipo1mes1 segunda quincena2
persona3tipo1mes2primera quincena3
persona3tipo1mes2segunda quincena4
persona3tipo1mes3primera quincena5
persona3tipo1mes3segunda quincena6
persona3tipo2mes1primera quincena5
persona3tipo2mes1 segunda quincena8
persona3tipo2mes2primera quincena4
persona3tipo2mes2segunda quincena3
persona3tipo2mes3primera quincena8
persona3tipo2mes3segunda quincena25

 

Espero haberme explicado.

Muchisimas gracias de antemano

 

  • @Syndicate_Admin
    Cree una consulta en blanco, vaya al Editor avanzado, borre el código existente y pegue los códigos que darán a continuación y siga los pasos.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WyivNyVHSgVG5qcWGKJQRCmUMo2J10HWmZRYVlyik5ReV5GWmZ5QARYpTk/PzUlCEqKUIZH1BalFxfp4CyJ0lmQX5IBqEQS4FOdMEiE2B2AxJcSJMsRFU0gKq0BjKNjJFNtqIFKONSDLamBSjjYkwOhYA", 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, Column7 = _t, Column8 = _t]),
        #"Transposed Table" = Table.Transpose(Source),
        #"Merged Columns" = Table.CombineColumns(#"Transposed Table",{"Column1", "Column2"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Merged"),
        #"Transposed Table1" = Table.Transpose(#"Merged Columns"),
        #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]),
        #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"null|null", type text}, {"null|null_1", type text}, {"mes1|first fortnight", Int64.Type}, {"mes1|second fortnight", Int64.Type}, {"mes2|first fortnight", Int64.Type}, {"mes2|second fortnight", Int64.Type}, {"mes3|first fortnight", Int64.Type}, {"mes3|second fortnight", Int64.Type}}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"null|null", "null|null_1"}, "Attribute", "Value"),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}),
        #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Attribute.1", type text}, {"Attribute.2", type text}}),
        #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"null|null", "Person"}, {"null|null_1", "Guy"}, {"Attribute.1", "My"}, {"Attribute.2", "Fortnight"}})
    in
        #"Renamed Columns"

    Fowmy_0-1623422391564.png


    Mira mi video sobre este tema : https://www.youtube.com/watch?v=_YjFGsS9lNY&t=0s



2 Replies

  • @Syndicate_Admin
    Cree una consulta en blanco, vaya al Editor avanzado, borre el código existente y pegue los códigos que darán a continuación y siga los pasos.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WyivNyVHSgVG5qcWGKJQRCmUMo2J10HWmZRYVlyik5ReV5GWmZ5QARYpTk/PzUlCEqKUIZH1BalFxfp4CyJ0lmQX5IBqEQS4FOdMEiE2B2AxJcSJMsRFU0gKq0BjKNjJFNtqIFKONSDLamBSjjYkwOhYA", 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, Column7 = _t, Column8 = _t]),
        #"Transposed Table" = Table.Transpose(Source),
        #"Merged Columns" = Table.CombineColumns(#"Transposed Table",{"Column1", "Column2"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Merged"),
        #"Transposed Table1" = Table.Transpose(#"Merged Columns"),
        #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]),
        #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"null|null", type text}, {"null|null_1", type text}, {"mes1|first fortnight", Int64.Type}, {"mes1|second fortnight", Int64.Type}, {"mes2|first fortnight", Int64.Type}, {"mes2|second fortnight", Int64.Type}, {"mes3|first fortnight", Int64.Type}, {"mes3|second fortnight", Int64.Type}}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"null|null", "null|null_1"}, "Attribute", "Value"),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}),
        #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Attribute.1", type text}, {"Attribute.2", type text}}),
        #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"null|null", "Person"}, {"null|null_1", "Guy"}, {"Attribute.1", "My"}, {"Attribute.2", "Fortnight"}})
    in
        #"Renamed Columns"

    Fowmy_0-1623422391564.png


    Mira mi video sobre este tema : https://www.youtube.com/watch?v=_YjFGsS9lNY&t=0s