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

Desapresinificar varias (o combinación de) columnas de datos

Hola a todos,

Nuevo en BI, tan desnudo conmigo. Estoy trabajando en Power Query, pero realmente estoy teniendo problemas para desenredar datos y cómo se formatea.

Aquí está el ejemplo del estado actual:

Nombre comapny

Iniciativa 1Descripción de la Iniciativa 1Objetivo de la Iniciativa 1Alcance de la Iniciativa 1Desafíos para la Iniciativa 1Iniciativa 2Descripción de la Iniciativa 2Meta para la Iniciativa 2Alcance de la Iniciativa 2Retos para la Iniciativa 2Iniciativa 3mismas columnas que las dos últimas
Empresa 1XxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxx
Empresa 2
Empresa 3

No sé cómo desenredarlo de ser columnas separadas a sólo filas como esta (supongo que algunos despreoyentes, pero he sido infructuoso hasta ahora). Quiero que se vea así:

Nombre comapny

IniciativaDescripción de la iniciativaObjetivo de iniciativaMargen de iniciativaRetos para la iniciativa
Empresa 1Iniciativa 1XxxXxxXxxXxx
Empresa 1

Iniciativa 2

Empresa 1Iniciativa 3
Empresa 2Iniciativa 1
Empresa 2

Iniciativa 2

Empresa 2Iniciativa 3
Empresa 3Iniciativa 1
Empresa 3

Iniciativa 2

Empresa 3Iniciativa 3

He intentado desaprestizar solo las columnas seleccionadas en cada columna de la columna "Iniciativa X", pero eso solo lo consigue a mitad de camino, ya que todavía estoy atascado con todas las columnas de valor que permanecen donde están con 3 filas repetidas con sólo la columna initiativa siendo diferente, por lo que se lee así:

Nombre comapny

Descripción de la Iniciativa 1Objetivo de la Iniciativa 1Alcance de la Iniciativa 1Desafíos para la Iniciativa 1Descripción de la Iniciativa 2Meta para la Iniciativa 2Alcance de la Iniciativa 2Retos para la Iniciativa 2Iniciativa
Empresa 1XxxXxxXxxXxxXxxXxxXxxXxxIntitivo 1
Empresa 1ésteEs todo elMismodatos unoFilaencima & AbajoIntitivo 2
Empresa 1XxxXxxXxxXxxXxxXxxXxxXxxIniciativa 3
Empresa 2XxxXxxXxxXxxXxxXxxXxxXxxIntitivo 1
Empresa 2ésteEs todo elMismodatos unoFilaencima & AbajoIntitivo 2
Empresa 2XxxXxxXxxXxxXxxXxxXxxXxxIniciativa 3

¿Hay alguna buena manera de hacer esto?

¡Gracias!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola

Este código M funciona

let
    Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Comapny Name", type text}, {"Initiative 1", type text}, {"Description for Initiative 1", type text}, {"Goal for Initiative 1", type text}, {"Scope for Initiative 1", type text}, {"Challenges for Initiative 1", type text}, {"Initiative 2", type text}, {"Description for Initiative 2", type text}, {"Goal for Initiative 2", type text}, {"Scope for Initiative 2", type text}, {"Challenges for Initiative 2", type text}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Comapny Name"}, "Attribute", "Value"),
    #"Split Column by Character Transition" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Attribute.1", "Attribute.2"}),
    #"Pivoted Column" = Table.Pivot(#"Split Column by Character Transition", List.Distinct(#"Split Column by Character Transition"[Attribute.1]), "Attribute.1", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Pivoted Column",{"Attribute.2"})
in
    #"Removed Columns"

Espero que esto ayude.

Untitled.png

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hola

Este código M funciona

let
    Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Comapny Name", type text}, {"Initiative 1", type text}, {"Description for Initiative 1", type text}, {"Goal for Initiative 1", type text}, {"Scope for Initiative 1", type text}, {"Challenges for Initiative 1", type text}, {"Initiative 2", type text}, {"Description for Initiative 2", type text}, {"Goal for Initiative 2", type text}, {"Scope for Initiative 2", type text}, {"Challenges for Initiative 2", type text}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Comapny Name"}, "Attribute", "Value"),
    #"Split Column by Character Transition" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Attribute.1", "Attribute.2"}),
    #"Pivoted Column" = Table.Pivot(#"Split Column by Character Transition", List.Distinct(#"Split Column by Character Transition"[Attribute.1]), "Attribute.1", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Pivoted Column",{"Attribute.2"})
in
    #"Removed Columns"

Espero que esto ayude.

Untitled.png

¡Esto funcionó exactamente como yo estaba buscando! ¡Gracias :)!

De nada.

Syndicate_Admin
Administrator
Administrator

Hola, @Linksys45

De acuerdo con su descripción, hice algunos datos falsos y columnas unpivot en PQ.

Así:1.gif

Si no resuelve su problema, no dude en preguntarme.

Saludos

Janey Guo

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

Syndicate_Admin
Administrator
Administrator

@Linksys45 , Este blog habla de unpivot dos veces

https://kohera.be/blog/power-bi/how-to-unpivot-twice/

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.