Forum Discussion
Tabla transformadora
Hola
Tengo una tabla similar al formato:
| Parte | Parámetro | Valor |
| 1 | Ubicación | TX |
| 1 | Rechazado | 0 |
| 1 | IDENTIFICACIÓN | 12 |
| 2 | Ubicación | MO |
| 2 | Rechazado | 1 |
| 2 | IDENTIFICACIÓN | 15 |
| 3 | Ubicación | GUSTAR |
| 3 | Rechazado | 0 |
| 3 | IDENTIFICACIÓN | 21 |
Quiero convertir esto a un formato:
| Parte | Ubicación | Rechazado | IDENTIFICACIÓN |
| 1 | TX | 0 | 12 |
| 2 | MO | 1 | 15 |
| 3 | GUSTAR | 0 | 21 |
¿Puede alguien por favor decirme cómo abordar este problema? Realmente aprecio cualquier idea. ¡Gracias!
Puede probar los siguientes pasos en Power Query (sección Transformar en la parte superior):
1: seleccione la columna Valor y seleccione "Columna dinámica"
2: Vaya a la opción "Usar primera fila como encabezados" y seleccione "Usar encabezados como fila"3: Ahora transponer la tabla
4: Vaya a la opción "Usar primera fila como encabezados" y seleccione "Usar primera fila como encabezados".
5: Está hecho, pero puede hacer más ajustes como ordenar y cambiar el nombre de las columnas.
Aquí está la consulta M:
dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUfLJT04syczPUwCyQyKUYnUgwkGpWanJJakpQKYBXNDTBUgYGoH5Rmh6ff3hwkh6DeGCEL2mYL4xml5nR7gwhr3GML1GQLNiAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [#"Part " = _t, #"Parameter " = _t, Value = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Part ", Int64.Type}, {"Parameter ", type text}, {"Value", type text}}),
#"Columna pivotada" = Table.Pivot(Table.TransformColumnTypes(#"Changed Type", {{"Part ", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(#"Changed Type", {{"Part ", type text}}, "en-US")[#"Part "]), "Part", "Value"),
#"Encabezados degradados" = Table.DemoteHeaders(#"Columna pivotada"),
#"Changed Type1" = Table.TransformColumnTypes(#"Demoted Headers",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}}),
#"Tabla transpuesta" = Table.transpose(#"Changed Type1"),
#"Encabezados promocionados" = Table.PromoteHeaders(#"Tabla transpuesta", [PromoteAllScalars=true]),
#"Changed Type2" = Table.TransformColumnTypes(#"Promoted Headers",{{"Parameter ", Int64.Type}, {"ID", Int64.Type}, {"Location ", type text}, {"Rejected", Int64.Type}}),
#"Columnas renombradas" = Table.RenameColumns(#"Changed Type2",{{"Parameter ", "Part"}}),
#"Columnas reordenadas" = Table.ReorderColumns(#"Columnas renombradas",{"Parte", "Ubicación", "Rechazado", "ID"})
en
#"Columnas reordenadas"
2 Replies
- Syndicate_Admin
Administrator
Puede probar los siguientes pasos en Power Query (sección Transformar en la parte superior):
1: seleccione la columna Valor y seleccione "Columna dinámica"
2: Vaya a la opción "Usar primera fila como encabezados" y seleccione "Usar encabezados como fila"3: Ahora transponer la tabla
4: Vaya a la opción "Usar primera fila como encabezados" y seleccione "Usar primera fila como encabezados".
5: Está hecho, pero puede hacer más ajustes como ordenar y cambiar el nombre de las columnas.
Aquí está la consulta M:
dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUfLJT04syczPUwCyQyKUYnUgwkGpWanJJakpQKYBXNDTBUgYGoH5Rmh6ff3hwkh6DeGCEL2mYL4xml5nR7gwhr3GML1GQLNiAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [#"Part " = _t, #"Parameter " = _t, Value = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Part ", Int64.Type}, {"Parameter ", type text}, {"Value", type text}}),
#"Columna pivotada" = Table.Pivot(Table.TransformColumnTypes(#"Changed Type", {{"Part ", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(#"Changed Type", {{"Part ", type text}}, "en-US")[#"Part "]), "Part", "Value"),
#"Encabezados degradados" = Table.DemoteHeaders(#"Columna pivotada"),
#"Changed Type1" = Table.TransformColumnTypes(#"Demoted Headers",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}}),
#"Tabla transpuesta" = Table.transpose(#"Changed Type1"),
#"Encabezados promocionados" = Table.PromoteHeaders(#"Tabla transpuesta", [PromoteAllScalars=true]),
#"Changed Type2" = Table.TransformColumnTypes(#"Promoted Headers",{{"Parameter ", Int64.Type}, {"ID", Int64.Type}, {"Location ", type text}, {"Rejected", Int64.Type}}),
#"Columnas renombradas" = Table.RenameColumns(#"Changed Type2",{{"Parameter ", "Part"}}),
#"Columnas reordenadas" = Table.ReorderColumns(#"Columnas renombradas",{"Parte", "Ubicación", "Rechazado", "ID"})
en
#"Columnas reordenadas" - Syndicate_Admin
Administrator
Hay @anshpalash ,
Estos son los pasos que puede seguir:
1. En Power query, Agregue columna – Columna de índice – Desde 1.
2. Cree una columna calculada.
rank = RANKX(FILTER(ALL('Table'),'Table'[Part ]=EARLIER('Table'[Part ])),'Table'[Index],,ASC)3. Crear tabla calculada.
Table 2 = SUMMARIZE('Table','Table'[Part ], "Location",CALCULATE(MAX('Table'[Value]),FILTER(ALL('Table'),[Part ]=EARLIER('Table'[Part ])&&'Table'[Index]=MIN('Table'[Index]))), "Reject",CALCULATE(MAX('Table'[Value]),FILTER(ALL('Table'),[Part ]=EARLIER('Table'[Part ])&&'Table'[Index]>MIN('Table'[Index])&&'Table'[Index]<MAX('Table'[Index]))), "ID",CALCULATE(MAX('Table'[Value]),FILTER(ALL('Table'),[Part ]=EARLIER('Table'[Part ])&&'Table'[Index]=MAX('Table'[Index]))))4. Resultado:
Saludos
Liu Yang
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente