Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Formato de datos: transponer columnas repetidas a filas

Hola

Tengo datos en este formato. Este es sólo un archivo.

anshpalash_1-1630077129846.png

Quiero combinar varios archivos con un formato similar. El problema es que cada archivo tiene diferente cantidad de números de identificación. Tengo problemas para averiguar un código que básicamente indica a Power BI que transponga las filas repetidas después de la fila 'Parámetros' anterior.

Para este archivo, quiero que format sea algo como:

anshpalash_2-1630077257891.png

Debajo de este archivo, los nuevos archivos deben combinarse en este que tendría diferentes IDs y fechas. El número de identificadores en cada archivo es diferente. Realmente apreciaría si alguien pudiera ayudarme a averiguar cómo dar formato a los datos.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @anshpalash

Basándome en el archivo que proporcionaste, creé una muestra.

(1) Creo tres tablas, a continuación se muestra una captura de pantalla de los datos originales que proporcionaste.

Ailsamsft_0-1630395839303.png

(2) Vaya a Power Query, luego haga clic en Combinar consultas como Nuevo, combine la tabla 'Venta' y 'Parámetros' según el campo "ID".

Ailsamsft_1-1630395839305.png

Ailsamsft_2-1630395839307.png

(3) Parámetros gastados

Ailsamsft_3-1630395839308.png

(4) Quitar la columna duplicada [Parameters.ID] y pivotar [Parameters.Column2] [Parameters.Column3]

Ailsamsft_4-1630395839309.png

Ailsamsft_5-1630395839310.png

(5) Anexar la tabla 'Merge1' y la tabla 'Date' para devolver una nueva tabla 'Append 1'.

Ailsamsft_6-1630395839310.png

Ailsamsft_7-1630395839311.png

(6) Reemplace el valor de la columna [Fecha]

Ailsamsft_8-1630395839313.png

(7) Eliminar la fila inferior y Cerrar y aplicar a la vista Escritorio.

Ailsamsft_9-1630395839315.png

(8) Agregue una tabla visual con la tabla 'Apéndice 1', el resultado final es como se muestra:

Ailsamsft_10-1630395839315.png

He adjuntado mi archivo pbix, puede consultarlo.

Saludos

Equipo de apoyo a la comunidad _ Ailsa Tao

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

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hay @anshpalash

Basándome en el archivo que proporcionaste, creé una muestra.

(1) Creo tres tablas, a continuación se muestra una captura de pantalla de los datos originales que proporcionaste.

Ailsamsft_0-1630395839303.png

(2) Vaya a Power Query, luego haga clic en Combinar consultas como Nuevo, combine la tabla 'Venta' y 'Parámetros' según el campo "ID".

Ailsamsft_1-1630395839305.png

Ailsamsft_2-1630395839307.png

(3) Parámetros gastados

Ailsamsft_3-1630395839308.png

(4) Quitar la columna duplicada [Parameters.ID] y pivotar [Parameters.Column2] [Parameters.Column3]

Ailsamsft_4-1630395839309.png

Ailsamsft_5-1630395839310.png

(5) Anexar la tabla 'Merge1' y la tabla 'Date' para devolver una nueva tabla 'Append 1'.

Ailsamsft_6-1630395839310.png

Ailsamsft_7-1630395839311.png

(6) Reemplace el valor de la columna [Fecha]

Ailsamsft_8-1630395839313.png

(7) Eliminar la fila inferior y Cerrar y aplicar a la vista Escritorio.

Ailsamsft_9-1630395839315.png

(8) Agregue una tabla visual con la tabla 'Apéndice 1', el resultado final es como se muestra:

Ailsamsft_10-1630395839315.png

He adjuntado mi archivo pbix, puede consultarlo.

Saludos

Equipo de apoyo a la comunidad _ Ailsa Tao

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
Administrator

@anshpalash aquí está, puede hacer esto como una función y enviar el contenido del archivo como un parámetro a la función y devolverá una salida de tabla.

Para las pruebas, cree una consulta en blanco, haga clic en editor avanzado y pegue este código:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WckksSVXSUQKhWJ1oJSMDI0NdAwtdA0MkQSSmpwuQFZyYkwoTAKkzNIBrB/FMYTxjIMMIzjMB8YxhvIDEosTc1JLUomIk00GG+eQnJ5Zk5ucBmY6lxSWZeXCZkMoCkLVhqRmZyUAHwOxD0uCZl1IJF4cqd8pPLIG7BkltcGKegld+cSpcDovxJqha/CLhojDDM7OBKmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] <> "")),
    #"Added Custom" = Table.AddColumn(#"Filtered Rows", "Group", each if [Column1] = "Date" or [Column1] = "ID" or [Column1] = "Parameters" then [Column1] else null, type text),
    #"Filled Down" = Table.FillDown(#"Added Custom",{"Group"}),
    #"Filtered Rows1" = Table.SelectRows(#"Filled Down", each ([Column1] <> "Date" and [Column1] <> "ID" and [Column1] <> "Parameters")),
    #"Date Table" = Table.SelectRows(#"Filtered Rows1", each [Group] = "Date"),
    #"Date" = #"Date Table"{0}[Column1],
    #"Parameters Table" = Table.SelectRows(#"Filtered Rows1", each [Group] = "Parameters"),
    #"Removed Columns" = Table.RemoveColumns(#"Parameters Table",{"Group"}),
    #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Column2]), "Column2", "Column3"),
    #"ID Table" = Table.SelectRows(#"Filtered Rows1", each [Group] = "ID"),
    #"Merged Queries" = Table.NestedJoin(#"ID Table", {"Column1"}, #"Pivoted Column", {"Column1"}, "Parameters Table", JoinKind.LeftOuter),
    #"Expanded Parameters Table" = Table.ExpandTableColumn(#"Merged Queries", "Parameters Table", {"Location", "Type"}, {"Location", "Type"}),
    #"Added Custom1" = Table.AddColumn(#"Expanded Parameters Table", "Date", each #"Date"),
    #"Removed Columns1" = Table.RemoveColumns(#"Added Custom1",{"Column3", "Group"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Column1", "ID"}, {"Column2", "Sale"}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Renamed Columns",{{"Sale", Currency.Type}, {"Date", type date}})
in
    #"Changed Type1"

Síguenos en LinkedIn

Consulta mi última entrada de blog La potencia del uso de grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Me gustaría Elogios si mi solución ayudó. 👉 Si puede pasar tiempo publicando la pregunta, también puede hacer esfuerzos para dar Felicitaciones a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos, formación y consultoría relacionados con Power BI.

Hola @parry2k , ¿debo pegar el código en la consulta 'Transformar archivo de ejemplo' o en mi consulta de tabla principal? Agregaré más archivos a la carpeta de la que Power Bi obtiene el archivo. ¡Gracias!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.