Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos 🙂
Mi tabla sigue esta estructura:
Id | Nivel | Código |
111 | D | 53.1 |
111 | K | 75.1 |
222 | H | 82.1 |
333 | G | 75.1 |
333 | G | 82.1 |
Me gustaría crear una nueva tabla y, en esa tabla, cada identificador debe aparecer solo una vez y sus valores Level se convertirán en columnas y valores de código para asociarse a estas columnas. Sobre la base de la tabla de ejemplo anterior, el resultado esperado sería el siguiente:
Id | D | K | G | Y | H |
111 | 53.1 | 75.1 | |||
222 | 82.1 | ||||
333 | 75.1/82.1 |
¿Es posible hacer algo así?
Solved! Go to Solution.
@req7
En Power Query, seleccione Columna LEVEL, vaya a la pestaña Transformar y haga clic en Columna dinámica.
En la columna Valor, elija CODE, Se pivotará como esperaba
________________________
¿He respondido a tu pregunta? Marque este post como una solución, esto ayudará a otros!.
Haga clic en el icono Thumbs-Up a la derecha si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
@req7 , Puede pivotar
https://radacad.com/pivot-and-unpivot-with-power-bi
O puede usar matriz visual, poner id en fila y nivel en columna y código en el valor
¡Siempre más de una manera de despellejar a un gato!
Proud to be a Super User!
Hola @req7
Creo que podría tener una solución viable
He utilizado los mismos datos que usted para las pruebas
Debería poder realizar este lado de Power Query mediante una combinación de agrupación, un poco de manipulación M y un pivote.
He seguido adelante y copiado los pasos que he dado a continuación desde el editor avanzado y la salida que había conseguido
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQ0VNJRcgFiU2M9Q6VYHZiQNxCbm0KFjIyMgFwPILYwggoZGxsDue7IqhBCEFWxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Level = _t, Code = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"Level", type text}, {"Code", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Unique ID", each [ID]&"_"&[Level]),
#"Grouped Rows" = Table.Group(#"Added Custom", {"ID", "Level"}, {{"Values", each Text.Combine([Code], "/"), type nullable text}}),
#"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[Level]), "Level", "Values")
in
#"Pivoted Column"
Primero comience realizando un grupo por, pero tendrá que cambiar la línea M que se introduce automáticamente desde List.Sum a lo que he incluido en mis pasos como "Text.Combine". Esto tendrá en cuenta los valores múltiples de una columna individual.
Lo único con esta solución es que esos dos valores se tratan como texto. Si desea que sean numéricos, es posible que necesite una solución dax-forward.
@req7
En Power Query, seleccione Columna LEVEL, vaya a la pestaña Transformar y haga clic en Columna dinámica.
En la columna Valor, elija CODE, Se pivotará como esperaba
________________________
¿He respondido a tu pregunta? Marque este post como una solución, esto ayudará a otros!.
Haga clic en el icono Thumbs-Up a la derecha si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |