Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
3 years ago

Despivotar columnas en Power Query

Hola

Tengo una tabla como la siguiente. Quiero despivotar las columnas a continuación

GroupA_Device_Name
GroupB_Device_Name
GroupA_Device_Category
GroupB_Device_Category
GroupA_Device_Number
GroupB_Device_Number
GroupA_Device_ID
GroupB_Device_ID

RegiónSubregiónUbicaciónLlaveNodoSequence_CategoryPuntuaciónItems_TypeGroupA_Device_NameGroupB_Device_NameGroupA_Device_CategoryGroupB_Device_CategoryGroupA_Device_NumberGroupB_Device_NumberGroupA_Device_IDGroupB_Device_ID
EURASIA-PACÍFICOASIA SURHONGO1.1.12.1.11. Contactor / absorbedor de glicolW H&S3 ESDV-20000 Sistema Básico de Control de Procesos (BPCS) LALL-20001 LALL-20001
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.4.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.4.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.5.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101
EURASIA-PACÍFICOASIA SURHONGO1.1.1.5.11. Contactor / absorbedor de glicolW H&S3 PSV-102A/B Sistema Básico de Control de Procesos (BPCS) PAHH-100/101 PAHH-100/101

Quiero un resultado como este despivotando las columnas superiores a las inferiores.

RegiónSubregiónUbicaciónLlaveNodoSequence_CategoryPuntuaciónItems_TypeDevice_NameValorDevice_CategoryValorDevice_NumberValorDevice_IDValor
EURASIA-PACÍFICOASIA SURHONGO1.1.12.1.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.4.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx

Quiero obtener resultados así

RegiónSubregiónUbicaciónLlaveNodoSequence_CategoryPuntuaciónItems_TypeDevice_NameValorDevice_CategoryValorDevice_NumberValorDevice_IDValor
EURASIA-PACÍFICOASIA SURHONGO1.1.12.1.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.4.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx

Resultado que quería como abajo

RegiónSubregiónUbicaciónLlaveNodoSequence_CategoryPuntuaciónItems_TypeDevice_NameValorDevice_CategoryValorDevice_NumberValorDevice_IDValor
EURASIA-PACÍFICOASIA SURHONGO1.1.12.1.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.2.1.11. Contactor / absorbedor de glicolP H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.2.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.3.11. Contactor / absorbedor de glicolW H&S3 Grupo AxxxxGrupo AxxxxGrupo AxxxxxGrupo Axxxxx
EURASIA-PACÍFICOASIA SURHONGO1.1.1.4.11. Contactor / absorbedor de glicolW H&S3 Grupo BxxxxGrupo BxxxxGrupo BxxxxxGrupo Bxxxxx

1 Reply

  • @ask2020 ,

    Estos son los pasos que puede seguir:

    1. Transformar – UnpivotColumns -- Columnas marcadas en amarillo .

    2. En Power query. Agregar columna – columna de índice – desde 1.

    Resultado:

    3. Crear tabla calculada.

    Flag1 =
    SUMMARIZE('True','True'[Region],'True'[SubRegion],'True'[Location],'True'[Key],'True'[Node],'True'[Sequence_Category],'True'[Score],'True'[Items_Type],'True'[Index])

    Table 3 =
    VAR _table1 =
        FILTER ( 'Flag1', [Group] <> BLANK () )
    RETURN
        SUMMARIZE (
            _table1,
            [Region],
            [SubRegion],
            [Location],
            [Key],
            [Node],
            [Sequence_Category],
            [Score],
            [Items_Type],
            [Group],
            "Device_Name", [Group],
            "Value1",
                MAXX (
                    FILTER (
                        ALL ( 'True' ),
                        OR (
                            'True'[Attribute] = "GroupA_Device_Name",
                            'True'[Attribute] = "GroupB_Device_Name"
                        )
                            && LEFT ( 'True'[Attribute], 6 ) = [Group]
                            && 'True'[Key] = EARLIER ( 'Flag1'[Key] )
                    ),
                    [Value]
                ),
            "Device_Category", [Group],
            "Value2",
                MAXX (
                    FILTER (
                        ALL ( 'True' ),
                        OR (
                            'True'[Attribute] = "GroupA_Device_Category",
                            'True'[Attribute] = "GroupA_Device_Category"
                        )
                            && LEFT ( 'True'[Attribute], 6 ) = [Group]
                            && 'True'[Key] = EARLIER ( 'Flag1'[Key] )
                    ),
                    [Value]
                ),
            "Device_Number", [Group],
            "Value3",
                MAXX (
                    FILTER (
                        ALL ( 'True' ),
                        OR (
                            'True'[Attribute] = "GroupA_Device_Number",
                            'True'[Attribute] = "GroupA_Device_Number"
                        )
                            && LEFT ( 'True'[Attribute], 6 ) = [Group]
                            && 'True'[Key] = EARLIER ( 'Flag1'[Key] )
                    ),
                    [Value]
                ),
            "Device_ID", [Group],
            "Value4",
                MAXX (
                    FILTER (
                        ALL ( 'True' ),
                        OR (
                            'True'[Attribute] = "GroupA_Device_ID",
                            'True'[Attribute] = "GroupA_Device_ID"
                        )
                            && LEFT ( 'True'[Attribute], 6 ) = [Group]
                            && 'True'[Key] = EARLIER ( 'Flag1'[Key] )
                    ),
                    [Value]
                )
        )
    

    4. Resultado:

    Saludos

    Liu Yang

    Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.