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
William_Moreno
Helper II
Helper II

Para convertir la mesa vertical en tabla horizontal en powerbi

Hola, chicos

He enfrentado un problema para resolver este caso:

Tengo la siguiente tabla:

Order_IDMovFecha
10050050110510/08/2020
10050050110511/08/2020
10050050110512/08/2020
10050050110513/08/2020
10050050110514/08/2020

Quiero convertir en esta tabla:

Order_IDFecha1Fecha2Fecha3Fecha4Fecha 5
10050050110/08/202011/08/202012/08/202013/08/202014/08/2020

¿Es posible en PowerBI?

¡Gracias!

1 ACCEPTED SOLUTION
v-zhenbw-msft
Community Support
Community Support

Hola @William_Moreno ,

Podemos usar algunas transformaciones en Power Query Editor para satisfacer sus necesidades.

1. Copie la tabla y elimine la columna Mov.

C1.jpg

2. Agrupe la columna Order_ID.

C2.jpg

3. Agregue una columna personalizada para obtener la columna Fecha.

C3.jpg

4. Extraiga la columna Personalizado por coma.

C4.jpg

5. Por último, divida la columna.

C5.jpg

Toda la consulta M como sigue,

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwMAUhQyUdINsUSBoZGBnoW+gbGijF6uCTNyQgb0RA3piAvAmKvBFY3gwmb6hviF/aCL+0MX5pAnabKsXGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Order_ID = _t, Mov = _t, Date = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Mov"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"Order_ID"}, {{"Data", each _, type table [Order_ID=nullable text, Date=nullable date]}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each Table.Column([Data],"Date")),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
    #"Removed Columns1" = Table.RemoveColumns(#"Extracted Values",{"Data"}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Removed Columns1", "Custom", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Custom.1", "Custom.2", "Custom.3", "Custom.4", "Custom.5"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Order_ID", Int64.Type}, {"Custom.1", type date}, {"Custom.2", type date}, {"Custom.3", type date}, {"Custom.4", type date}, {"Custom.5", type date}})
in
    #"Changed Type1"

Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?

Saludos

Equipo de apoyo a la comunidad _ zhenbw

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

BTW, pbix como adjunto.

View solution in original post

5 REPLIES 5
v-zhenbw-msft
Community Support
Community Support

Hola @William_Moreno ,

¿Qué tal el resultado después de seguir las sugerencias mencionadas en mi publicación original?

¿Podría proporcionar más detalles o resultado esperado si no cumple con su requisito?

Si ha solucionado el problema por su cuenta, por favor comparta su solución. Si la ayuda de los mensajes anteriores, por favor márquela como una solución para ayudar a otros a encontrarlo más rápidamente.

Saludos

Equipo de apoyo a la comunidad _ zhenbw

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

v-zhenbw-msft
Community Support
Community Support

Hola @William_Moreno ,

Podemos usar algunas transformaciones en Power Query Editor para satisfacer sus necesidades.

1. Copie la tabla y elimine la columna Mov.

C1.jpg

2. Agrupe la columna Order_ID.

C2.jpg

3. Agregue una columna personalizada para obtener la columna Fecha.

C3.jpg

4. Extraiga la columna Personalizado por coma.

C4.jpg

5. Por último, divida la columna.

C5.jpg

Toda la consulta M como sigue,

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwMAUhQyUdINsUSBoZGBnoW+gbGijF6uCTNyQgb0RA3piAvAmKvBFY3gwmb6hviF/aCL+0MX5pAnabKsXGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Order_ID = _t, Mov = _t, Date = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Mov"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"Order_ID"}, {{"Data", each _, type table [Order_ID=nullable text, Date=nullable date]}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each Table.Column([Data],"Date")),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
    #"Removed Columns1" = Table.RemoveColumns(#"Extracted Values",{"Data"}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Removed Columns1", "Custom", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Custom.1", "Custom.2", "Custom.3", "Custom.4", "Custom.5"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Order_ID", Int64.Type}, {"Custom.1", type date}, {"Custom.2", type date}, {"Custom.3", type date}, {"Custom.4", type date}, {"Custom.5", type date}})
in
    #"Changed Type1"

Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?

Saludos

Equipo de apoyo a la comunidad _ zhenbw

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

BTW, pbix como adjunto.

pranit828
Community Champion
Community Champion

Hola @William_Moreno

Usar tabla dinámica

https://databear.com/power-bi-pivot-and-unpivot-columns/





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile

Thank you for your answer but,  the corvesion has  to be developed in another table!

It means that the vertical table is the table 1 e horizontal table is table 2 in power bi.

Thanks in advanced.

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.