Forum Discussion
Mesa Transformadora
Hola a todos,
¿Alguien tiene idea de cómo transformar la siguiente tabla a partir de esto?
a esto:
Muchas gracias de antemano!!
BR
4 Replies
- Syndicate_Admin
Administrator
Hola @Nks_Mr
Código M:
dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUQooys9KTS4BsgyNDAwMwLQpmAJiEyArNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [ID = _t, Type = _t, #"Budget FY 24" = _t, #"Budget FY 25" = _t, #"Sponsoring FY 24" = _t, #"Sponsoring FY 25" = _t]),
#"Tipo cambiado" = Tabla.TransformColumnTypes(Fuente,{{"ID", Int64.Tipo}, {"Tipo", escriba texto}, {"Presupuesto FY 24", Int64.Tipo}, {"Presupuesto FY 25", Int64.Tipo}, {"Patrocinio FY 24", Int64.Tipo}, {"Patrocinio FY 25", Int64.Tipo}}),
#"Otras columnas sin dinamizar" = Tabla.UnpivotOtherColumns(#"Tipo cambiado", {"ID", "Tipo"}, "Atributo", "Valor"),
#"Dividir columna por delimitador" = Table.SplitColumn(#"Otras columnas sin dinamizar", "Atributo", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Atributo.1", "Atributo.2"}),
#"Tipo cambiado1" = Tabla.TransformColumnTypes(#"Dividir columna por delimitador",{{"Atributo.1", escriba texto}, {"Atributo.2", escriba texto}}),
#"Columna pivotada" = Tabla.Pivote(#"Tipo cambiado1", Lista.Distinto(#"Tipo cambiado1"[Atributo.1]), "Atributo.1", "Valor", Lista.Suma),
#"Columnas renombradas" = Tabla.RenombrarColumnas(#"Columna pivotada",{{"Atributo.2", "Año"}})
en
#"Columnas renombradas"También puede aplicar los pasos con ux de Power query :
Adjunto pbix , para que puedas seguir
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
- Syndicate_Admin
Administrator
En Power Query, comience con sus datos...
Seleccione las columnas de presupuesto y las columnas de patrocinio y, en la pestaña Transformar, > anular la dinamización de las columnas.
Ahora, en la pestaña Agregar columna (no transformar), seleccione la columna "Atributo" > Extraer > últimos caracteres > los últimos 2 le darán su número FY, puede cambiar el nombre de esta columna a FY.
De vuelta en la pestaña de transformación... Selecciona tu columna "Atributo" de nuevo > Extraer > texto antes del delimitador > cuando aparezca el cuadro simplemente pon un espacio como delimitador
Es hora de volver a pivotar. Seleccione la columna "Atributo" nuevamente y en Transformar > columna pivotante > establezca la columna Valores en Valor y presione OK
- Syndicate_Admin
Administrator
Hola a los dos,
¡Muchas gracias! ¡Se lo agradezco!
Solo tengo una pregunta para una extensión adicional para mi modelo. Así que, básicamente, lo usé para transformar desde este estado:en esto:
Sin embargo, tengo una pregunta: como puede ver, tengo dos ceros para el ID 3 para el año fiscal 24. ¿Es posible eliminar las entradas con solo ceros (mejor antes de transformar, tal vez para ahorrar tiempo de carga?)
Perdón por preguntar, realmente soy un novato en lo que respecta a PowerBI.
¡Gracias de antemano!- Syndicate_Admin
Administrator
Hola @Nks_Mr
Sí, puede crear una columna de bandera que compruebe si los valores de las columnas son 0 , y luego filtrar por esta columna ...
Pero supongo que las columnas serán dinámicas, por lo que es mejor filtrar los ceros después de transformar. Porque siempre tendrás un presupuesto y una columna de patrocinio, por muchos años de datos que tengas.Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.