Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

Pregunta de unpivot

Hola

Tengo un conjunto de datos como este para muchos países. ¿Cómo despivot y transponer este tipo de tabla de Excel?

Alemania
Año fiscal16-Nov-1916-Dic-1916-Enero-2016-Feb-2016-Mar-2016-Abr-2016-Mayo-2016-Jun-2016-Jul-2016-Aug-20
En3122222222
Emea2233332333
Ap2322222221
Ax2133333332
Para1422121113
Como2233434241
India
Año fiscal16-Nov-1916-Dic-1916-Enero-2016-Feb-2016-Mar-2016-Abr-2016-Mayo-2016-Jun-2016-Jul-2016-Aug-20
En3122222222
Emea2222222333
Ap2222222221
Ax2222223332
Para1422121113
Como2233434241
Italia
Año fiscal16-Nov-1916-Dic-1916-Enero-2016-Feb-2016-Mar-2016-Abr-2016-Mayo-2016-Jun-2016-Jul-2016-Aug-20
En3122222222
Emea3323332333
Ap2222222221
Ax3333333332
Para1211121113
Como2233434241
E.e.u.u
Año fiscal16-Nov-1916-Dic-1916-Enero-2016-Feb-2016-Mar-2016-Abr-2016-Mayo-2016-Jun-2016-Jul-2016-Aug-20
En3122222222
Emea2222222333
Ap2333232221
Ax2122223332
Para1433331113
Como2212114241
Uae
Año fiscal16-Nov-1916-Dic-1916-Enero-2016-Feb-2016-Mar-2016-Abr-2016-Mayo-2016-Jun-2016-Jul-2016-Aug-20
En3122222222
Emea2222232222
Ap2332323323
Ax2222232222
Para1333323333
Como2121131211
  • Hola, @MuraliPrasathS

    Puede utilizar los pasos siguientes para despivot y transponer los datos. Aquí está el ejemplo.

    1 Utilice encabezados como primera fila

    v-cazheng-msft_0-1611106261120.jpeg

    2 Transponer la tabla

    v-cazheng-msft_1-1611106261125.jpeg

    3 Utilice la primera fila como encabezados

    v-cazheng-msft_2-1611106261130.jpeg

    4 Agregue una columna Personalizada con el nombre del país y arrástrela a la ubicación adecuada para reordenar la columna

    v-cazheng-msft_3-1611106261132.png

    v-cazheng-msft_4-1611106261134.png

    v-cazheng-msft_5-1611106261137.jpeg

    5 Realice las mismas operaciones con otras consultas y, a continuación, anexe consultas como nuevas para obtener una nueva consulta

    v-cazheng-msft_6-1611106261140.png

    v-cazheng-msft_7-1611106261141.jpeg

    El resultado tiene este aspecto:

    v-cazheng-msft_8-1611106261147.jpeg

    Saludos

    Caiyun Zheng

    ¿Esa es la respuesta que estás buscando? Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

3 Replies

  • No @MuraliPrasathS ,

    En el Editor de consultas de POwer, marque la columna con las áreas y haga clic en lo siguiente:

    picture 1.PNG

     

    Saludos

    Mikelytics

    -------------------------------------------------------------------------------

    ¿Respondí a tu petición? Por favor, marque mi puesto como solución.

    Apreciamos sus Kudos.

  • Aquí hay una manera de hacerlo, con el enfoque Shift y Fill Down. Para ver cómo funciona, simplemente cree una consulta en blanco, vaya a Editor avanzado y reemplace el texto allí con el código M a continuación.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("5ZZdC4IwFIb/SnitkB8EXQ7SSDACCQrxYpmEYBaWgf8+pzbnnLMvKBQ8nNeXw3Hw7Mw5jjD34yOMUkEUeI8rOoIRXDwYjrY+jDNLnkjL002Sp4We+R7WJowkZVxow99hbcEYa3COCT/F2kwiQodVfXJAGq0DWJmlIjsLhRuoXLd0QJgqFXUv778ibF5/uSjf4Ndm9/qX8vJZWarVOlVZxq3ycpuxdo3ISpmLxYwy9Vyg6kW0D+BgyLOihXxXUOT5nf+S/BWG/Z959ox/izxv1lvI06R/QH5tg95zf2PiWduj46x/ceLprdHBnd4eH3MH+iC5N3/iTO4KlSvNPelbuj+48y8bDe40c7Xhue4d", 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, Column9 = _t, Column10 = _t, Column11 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}, {"Column11", type text}}),
        #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] <> " ")),
        #"Added Custom" = Table.AddColumn(#"Filtered Rows", "Country", each if [Column2] = "" then [Column1] else null),
        #"Filled Down" = Table.FillDown(#"Added Custom",{"Country"}),
        #"Filtered Rows1" = Table.SelectRows(#"Filled Down", each ([Column2] <> "")),
        #"Promoted Headers" = Table.PromoteHeaders(#"Filtered Rows1", [PromoteAllScalars=true]),
        #"Filtered Rows2" = Table.SelectRows(#"Promoted Headers", each ([Fiscal Year] <> "Fiscal Year")),
        #"Renamed Columns" = Table.RenameColumns(#"Filtered Rows2",{{List.Last(Table.ColumnNames(#"Filtered Rows2")), "Country"}}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Renamed Columns", {"Fiscal Year", "Country"}, "Attribute", "Value"),
        #"Changed Type1" = Table.TransformColumnTypes(#"Unpivoted Other Columns",{{"Country", type text}, {"Attribute", type date}}),
        #"Renamed Columns1" = Table.RenameColumns(#"Changed Type1",{{"Fiscal Year", "Region"}})
    in
        #"Renamed Columns1"

    Aquí es lo que la salida se ve como el uso de los datos de ejemplo (no estaba seguro de cómo llamar a su primera columna, así que fui con "Región".

    mahoneypat_0-1610909550575.png

    palmadita

  • Hola, @MuraliPrasathS

    Puede utilizar los pasos siguientes para despivot y transponer los datos. Aquí está el ejemplo.

    1 Utilice encabezados como primera fila

    v-cazheng-msft_0-1611106261120.jpeg

    2 Transponer la tabla

    v-cazheng-msft_1-1611106261125.jpeg

    3 Utilice la primera fila como encabezados

    v-cazheng-msft_2-1611106261130.jpeg

    4 Agregue una columna Personalizada con el nombre del país y arrástrela a la ubicación adecuada para reordenar la columna

    v-cazheng-msft_3-1611106261132.png

    v-cazheng-msft_4-1611106261134.png

    v-cazheng-msft_5-1611106261137.jpeg

    5 Realice las mismas operaciones con otras consultas y, a continuación, anexe consultas como nuevas para obtener una nueva consulta

    v-cazheng-msft_6-1611106261140.png

    v-cazheng-msft_7-1611106261141.jpeg

    El resultado tiene este aspecto:

    v-cazheng-msft_8-1611106261147.jpeg

    Saludos

    Caiyun Zheng

    ¿Esa es la respuesta que estás buscando? Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.