Forum Discussion
Transformar datos
Hola a todos
puede alguien ayudar a transformar los datos? Traté de pivotar la tabla, pero seguí contando el error.
Aprecio si alguien puede aconsejar.
Gracias.
7 Replies
- Syndicate_AdminAdministrator
@kokoro_1202, no creo que este formato de datos ideal para la inteligencia empresarial.
M/Power BI Expert puede ayudar. @ImkeF, puedes ayudar con esto.
- Syndicate_AdminAdministrator
Sí, entender este formato no es ideal, pero estos son datos históricos y estaba vinculado a otra fórmula por lo que nos preguntamos si podríamos transformarnos en poder bi, sin realmente cambiar en excel sí mismo.
- Syndicate_AdminAdministrator
@kokoro_1202, Sí, he marcado @ a @ImkeF para eso. Veamos alguna sugerencia de otros superusuarias y expertos de M
- Syndicate_AdminAdministrator
Hey @kokoro_1202 ,
sin xlsx realmente no puedo hacer nada en el archivo power BI:
¿Por qué no desaconsedas las columnas?
Aquí un ejemplo similar:
Seleccione la primera columna y elija "Otras columnas de Unpivot":
Y luego tienes los datos en un formato que puedes analizar fácilmente:
Si necesitas ayuda, por favor avísame.Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍SaludosDenisBlog: WhatTheFact.bi- Syndicate_AdminAdministrator
https://gofile.io/d/JuaCuC Esta es la muestra excel
- Syndicate_AdminAdministrator
Hey @kokoro_1202 ,
pruebe el siguiente código:
let Source = Excel.Workbook(File.Contents("D:\_\Sales.xlsx"), null, true), Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data], #"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type any}, {"Column2", type any}, {"Column3", type any}, {"Column4", type any}, {"Column5", type any}, {"Column6", type any}, {"Column7", type any}, {"Column8", type any}, {"Column9", type any}, {"Column10", type any}, {"Column11", type any}, {"Column12", type any}, {"Column13", type any}, {"Column14", type any}, {"Column15", type any}, {"Column16", type any}, {"Column17", type any}}), #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] <> null)), #"Changed Type1" = Table.TransformColumnTypes(#"Filtered Rows",{{"Column1", type text}}), #"Added Conditional Column" = Table.AddColumn(#"Changed Type1", "Custom", each if not Text.StartsWith([Column1], "Shop") then "" else [Column1]), #"Reordered Columns1" = Table.ReorderColumns(#"Added Conditional Column",{"Custom", "Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17"}), #"Added Conditional Column1" = Table.AddColumn(#"Reordered Columns1", "Custom.1", each if Text.StartsWith([#"Column1"], "Shop") then "" else [#"Column1"]), #"Reordered Columns2" = Table.ReorderColumns(#"Added Conditional Column1",{"Custom", "Custom.1", "Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17"}), #"Replaced Value" = Table.ReplaceValue(#"Reordered Columns2","",null,Replacer.ReplaceValue,{"Custom.1"}), #"Filled Down" = Table.FillDown(#"Replaced Value",{"Custom.1"}), #"Promoted Headers" = Table.PromoteHeaders(#"Filled Down", [PromoteAllScalars=true]), #"Changed Type2" = Table.TransformColumnTypes(#"Promoted Headers",{{"", type text}, {"2018", Int64.Type}, {"2018_1", type text}, {"1/1/2018", type any}, {"2/1/2018", type any}, {"3/1/2018", type any}, {"4/1/2018", type any}, {"5/1/2018", type any}, {"6/1/2018", type any}, {"7/1/2018", type any}, {"8/1/2018", type any}, {"9/1/2018", type any}, {"10/1/2018", type any}, {"11/1/2018", type any}, {"12/1/2018", type any}, {"1/1/2019", type any}, {"2/1/2019", type any}, {"3/1/2019", type any}, {"Total", type any}}), #"Filtered Rows1" = Table.SelectRows(#"Changed Type2", each [#""] <> null and [#""] <> ""), #"Renamed Columns" = Table.RenameColumns(#"Filtered Rows1",{{"", "Shop"}, {"2018", "Year"}}), #"Removed Columns" = Table.RemoveColumns(#"Renamed Columns",{"2018_1", "Total"}), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Removed Columns", {"Shop", "Year"}, "Attribute", "Value"), #"Renamed Columns1" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Date"}}) in #"Renamed Columns1"El código no está optimizado, pero creo que debería darle el resultado deseado.
Si necesitas ayuda, por favor avísame.Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍SaludosDenisBlog: WhatTheFact.bi
- Syndicate_AdminAdministrator
No @kokoro_1202
Si es posible, puede seleccionar cualquiera de las celdas de los datos y usar teclas Ctrl+T para dar formato a los datos en dos tablas independientes en el archivo de Excel. A continuación, conéctese a este archivo de Excel en Power BI Desktop. De esta manera, Power BI Dekstop detectará estas dos tablas independientes. Puede importarlos como dos consultas independientes. Esto hará que el proceso de transformación sea más fácil.
A continuación, en power query editor, puede transformar una sola consulta con los códigos siguientes fácilmente.
let Source = Excel.Workbook(File.Contents("D:\DataForTest\Sales.xlsx"), null, true), Table1_Table = Source{[Item="Table3",Kind="Table"]}[Data], #"Removed Columns" = Table.RemoveColumns(Table1_Table,{"Total"}), #"Added Custom" = Table.AddColumn(#"Removed Columns", "Year", each 2018), #"Renamed Columns1" = Table.RenameColumns(#"Added Custom",{{"2018", "Shop Name"}}), #"Unpivoted Other Columns1" = Table.UnpivotOtherColumns(#"Renamed Columns1", {"Shop Name", "Year"}, "Attribute", "Value"), #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns1",{{"Attribute", "Month"}}) in #"Renamed Columns"Después de realizar las mismas operaciones con la otra consulta, puede combinar dos consultas en una consulta para analizar los datos más a fondo. Descargue el siguiente archivo .pbix adjunto para obtener pasos detallados.
Por favor, avísame si esto ayuda.
Equipo de Apoyo a la Comunidad _ Jing
Si esta publicación ayuda, por favor acéptela como la solución para ayudar a otros miembros a encontrarlo.