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

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
Syndicate_Admin
Administrator
Administrator

Obtener valores y colocarlos uniformemente a partir de celdas combinadas

Hola a todos

¿Podemos transformar este tipo de plantilla no estructurada en estructurada para ser leída usando el editor de consultas o dax?

jeongkim_0-1704955119523.png

me gusta 2023 Q1 QUANTY / 2023 Q1 OI / 2023 Q2 QUANTY / 2023 Q2 OI / .... / 2023 Total QUANTITY / 2023 Total OI

No todas las celdas combinadas se reconocen con valores, por lo que este es el problema.

jeongkim_1-1704955485633.png

y el número de año 2023 será 2024, 2025, 2026,,,, por lo que no puedo cambiarles el nombre con un número de año particular en el editor de consultas.

*El número de año se actualizará en el nombre de la hoja de la fuente de datos.

En resumen,

2023 es el número del año, por lo que es dinámico

QTY/OI es una columna fija que siempre está ahí

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola @jeongkim ,

De acuerdo con su descripción, aquí están mis pasos que puede seguir como solución.

(1) Estos son mis datos de prueba en Excel.

vtangjiemsft_0-1705041491352.png

(2) Haga clic en "transformar datos" para ingresar la consulta de energía, haga clic en "Editor avanzado", copie y pegue el siguiente código, preste atención para reemplazarlo con su fuente de datos.

let
    Source = Excel.Workbook(File.Contents("C:\Users\TEST.xlsx"), null, true),
    Tabelle1_Sheet = Source{[Item="Tabelle1",Kind="Sheet"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(Tabelle1_Sheet,{{"Column1", type any}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}}),
    #"Transposed Table" = Table.Transpose(#"Changed Type"),
    #"Filled Down" = Table.FillDown(#"Transposed Table",{"Column1", "Column2"}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Filled Down",{{"Column4", Int64.Type}}),
    #"Transposed Table1" = Table.Transpose(#"Changed Type2"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"2023", type any}, {"2023_1", type text}, {"2023_2", type text}, {"2023_3", type text}, {"2024", type any}, {"2024_4", type any}, {"2024_5", type any}, {"2024_6", type any}})
in
    #"Changed Type1"

(3) Entonces el resultado es el siguiente.

vtangjiemsft_1-1705041708766.png

Cuando se actualicen los datos de Excel, haga clic en actualizar y los datos de Power Query se actualizarán automáticamente.

Si lo anterior no puede ayudarlo a obtener el resultado deseado, proporcione algunos datos de muestra en sus tablas (excluya los datos confidenciales) con formato de texto y su resultado esperado con lógica de backend y ejemplos especiales. Es mejor si puede compartir un archivo pbix simplificado. Gracias.

Saludos

Neeko Tang

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

Hola

Gracias por su ayuda, pero el resultado que mostró no parece combinar todos los atributos, como año, trimestre, cantidad u OI en una celda.

El nombre de columna deseado sería como,

2023 Q1 QUANTY / 2023 Q1 OI / 2023 Q2 QUANTY / 2023 Q2 OI / .... / 2023 Total QUANTITY / 2023 Total OI

luego puedo organizarlos en la vista de tabla de datos agregando nuevas columnas como se muestra a continuación:

jeongkim_1-1705295315471.png

Hola @jeongkim ,

Por favor, pruebe esto:

let
    Source = Excel.Workbook(File.Contents("C:\Users\TEST.xlsx"), null, true),
    Tabelle1_Sheet = Source{[Item="Tabelle1",Kind="Sheet"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(Tabelle1_Sheet,{{"Column1", type any}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}}),
    #"Transposed Table" = Table.Transpose(#"Changed Type"),
    #"Filled Down" = Table.FillDown(#"Transposed Table",{"Column1", "Column2"}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Filled Down", "Column2", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Column2.1", "Column2.2"}),
    #"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Split Column by Delimiter", {{"Column1", type text}}, "en-US"),{"Column1", "Column2.1", "Column3"},Combiner.CombineTextByDelimiter("_", QuoteStyle.None),"Merged"),
    #"Removed Columns" = Table.RemoveColumns(#"Merged Columns",{"Column2.2"}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Removed Columns",{{"Column4", Int64.Type}}),
    #"Transposed Table1" = Table.Transpose(#"Changed Type2"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true])
in
    #"Promoted Headers"

vtangjiemsft_0-1705312904135.png

Saludos

Neeko Tang

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

Gracias, déjame probar con tu solución.

¿Puedes ver también mi pregunta relacionada a continuación?

https://community.fabric.microsoft.com/t5/Desktop/Get-the-values-from-merged-and-multi-layered-colum...

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors