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

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Power Query: ¿anular la dinamización de varios grupos de valores en varias columnas de valores?

Tengo un departamento al que le gusta mucho pronosticar en formato tabular, pero dividen las cantidades mensuales en dos grupos de columnas:

OrgánicoPromoción
PaísArtículoEneFebEstropearAprMayoJunJulAgoSepOctNovDicEneFebEstropearAprMayoJunJulAgoSepOctNovDic
NOSOBJETO DE PRUEBA10010010010010010010010015020030020000050001000002000

Y estoy buscando una manera de anular la dinamización de estos datos para que tenga este resultado:

PaísArtículoOrgánicoPromoción
NOSOBJETO DE PRUEBA1000
NOSOBJETO DE PRUEBA1000
NOSOBJETO DE PRUEBA1000
NOSOBJETO DE PRUEBA10050
NOSOBJETO DE PRUEBA1000
NOSOBJETO DE PRUEBA1000
NOSOBJETO DE PRUEBA100100
NOSOBJETO DE PRUEBA1000
NOSOBJETO DE PRUEBA1500
NOSOBJETO DE PRUEBA2000
NOSOBJETO DE PRUEBA300200
NOSOBJETO DE PRUEBA2000

Parece que solo puedo despivotar esto en 24 filas, en lugar de 12 filas y 2 columnas de valores.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Gracias a ambos, @Ashish_Mathur y @lbendlin. Por confidencialidad, mantuve mis datos vagos, pero sus comentarios me indicaron la dirección correcta.

Para ayudar a otros, aquí está la explicación general de lo que hice:

  1. En lugar de tener "Super Headers" para "Orgánico" y "Promocional", cambié la tabla para que los encabezados mensuales dijeran "Jan Organic", ... , "Dec Promo"
  2. Despivoté las 24 columnas juntas. Esto me dio 24 filas para cada entrada (serán 12 al final).
  3. Aparece una nueva columna "Atributo" que contiene "Jan Organic", ... , "Dec Promo"
  4. Agrego una nueva columna "Mes" que extrae el texto antes del delimitador " " (un solo espacio). Esto aísla de "enero" a "diciembre".
  5. Agrego una nueva columna "Encabezados pivotantes" que extrae texto después del delimitador " " (un solo espacio). Esto aísla "Orgánico" y "Promo"
  6. Elimino la columna "Atributo"
  7. Selecciono "Encabezados de pivote" y pivoto, eligiendo mi columna de valor como... La columna Valor.

En general, lo que quieres es anular la pivotación y luego volver a pivotar. La clave es colocar los encabezados pivotantes resultantes deseados en una sola columna de "Encabezados pivote". Entonces, si desea terminar con 4 grupos de valores, los "Encabezados de pivote" deben tener los 4 valores distintos.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Gracias a ambos, @Ashish_Mathur y @lbendlin. Por confidencialidad, mantuve mis datos vagos, pero sus comentarios me indicaron la dirección correcta.

Para ayudar a otros, aquí está la explicación general de lo que hice:

  1. En lugar de tener "Super Headers" para "Orgánico" y "Promocional", cambié la tabla para que los encabezados mensuales dijeran "Jan Organic", ... , "Dec Promo"
  2. Despivoté las 24 columnas juntas. Esto me dio 24 filas para cada entrada (serán 12 al final).
  3. Aparece una nueva columna "Atributo" que contiene "Jan Organic", ... , "Dec Promo"
  4. Agrego una nueva columna "Mes" que extrae el texto antes del delimitador " " (un solo espacio). Esto aísla de "enero" a "diciembre".
  5. Agrego una nueva columna "Encabezados pivotantes" que extrae texto después del delimitador " " (un solo espacio). Esto aísla "Orgánico" y "Promo"
  6. Elimino la columna "Atributo"
  7. Selecciono "Encabezados de pivote" y pivoto, eligiendo mi columna de valor como... La columna Valor.

En general, lo que quieres es anular la pivotación y luego volver a pivotar. La clave es colocar los encabezados pivotantes resultantes deseados en una sola columna de "Encabezados pivote". Entonces, si desea terminar con 4 grupos de valores, los "Encabezados de pivote" deben tener los 4 valores distintos.

Syndicate_Admin
Administrator
Administrator

Hola

Si sus datos no son muy grandes, entonces este código M debería funcionar

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Transposed Table" = Table.Transpose(Source),
    #"Filled Down" = Table.FillDown(#"Transposed Table",{"Column1"}),
    #"Merged Columns" = Table.CombineColumns(#"Filled Down",{"Column1", "Column2"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged"),
    #"Transposed Table1" = Table.Transpose(#"Merged Columns"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{",Country", type text}, {",Item", type text}, {"Organic,Jan", Int64.Type}, {"Organic,Feb", Int64.Type}, {"Organic,Mar", Int64.Type}, {"Organic,Apr", Int64.Type}, {"Organic,May", Int64.Type}, {"Organic,Jun", Int64.Type}, {"Organic,Jul", Int64.Type}, {"Organic,Aug", Int64.Type}, {"Organic,Sep", Int64.Type}, {"Organic,Oct", Int64.Type}, {"Organic,Nov", Int64.Type}, {"Organic,Dec", Int64.Type}, {"Promotion,Jan", Int64.Type}, {"Promotion,Feb", Int64.Type}, {"Promotion,Mar", Int64.Type}, {"Promotion,Apr", Int64.Type}, {"Promotion,May", Int64.Type}, {"Promotion,Jun", Int64.Type}, {"Promotion,Jul", Int64.Type}, {"Promotion,Aug", Int64.Type}, {"Promotion,Sep", Int64.Type}, {"Promotion,Oct", Int64.Type}, {"Promotion,Nov", Int64.Type}, {"Promotion,Dec", Int64.Type}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {",Country", ",Item"}, "Attribute", "Value"),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Attribute.1", type text}, {"Attribute.2", type text}}),
    #"Pivoted Column" = Table.Pivot(#"Changed Type1", List.Distinct(#"Changed Type1"[Attribute.1]), "Attribute.1", "Value")
in
    #"Pivoted Column"

Espero que esto ayude.

Ashish_Mathur_0-1743131819485.pngAshish_Mathur_1-1743131848736.png

Syndicate_Admin
Administrator
Administrator

En su formulario actual, sus datos no se pueden utilizar, ya que darían lugar a nombres de columna duplicados que Power Query luego masacra.

lbendlin_0-1743115440361.png

¿Puede verificar y publicar el formato real de los datos sin procesar?

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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

Top Kudoed Authors