Anónimo
Hola !
Quería transponer los datos de Excel en Power BI para obtener el artículo, el año, los meses y otros datos en columnas individuales, con las que estoy luchando ahora.
Quiero mostrarlo como en las columnas de abajo.
Artículo Año Mes Datos
Proyectos completados/mes 2019 Oct 0
Proyectos completados/mes 2019 Nov 0
Proyectos completados/mes 2019 Dic 1
Proyectos Se completó/mes 2019 Oct 0
Proyectos Es completado/mes 2019 Nov 0
Proyectos Está terminado/mes 2019 Dic 11
El total de proyectos está completado 2019 oct 0
El total de proyectos está completado 2019 noviembre 0
El total de proyectos está completado 2019 11 de diciembre
Proyectos completados/mes 2019 Oct 0
Proyectos completados/mes 2019 Nov 0
Proyectos completados/mes 2019 Dic 0
Proyectos Se completó/mes 2019 Oct 0
Proyectos Es completado/mes 2019 Nov 0
Proyectos Es completado/mes 2019 Dic 0
El total de proyectos está completado 2019 oct 11
El total de proyectos está completado 2019 noviembre 11
El total de proyectos está completado 2019 11 de diciembre
y así…..
Hay tres conjuntos de datos en la tabla a continuación y quiero que todo esté en columnas para que sea apropiado al crear el informe basado en los datos del año/mes.
2019 | |||
oct | nov | dic | |
Proyectos completados/mes | 0 | 0 | 1 |
Proyectos completados/mes | 0 | 0 | 11 |
El total de proyectos está completado | 0 | 0 | 11 |
Proyectos totales | 353 | ||
El total de proyectos es | 27039 | ||
2019 | |||
oct | nov | dic | |
ETH – Alto | 3 | 6 | 88 |
ETH acumulativo – bajo | 7 | 11 | 88 |
ETH bajo total | 9 | 12 | 1 |
2019 | |||
oct | nov | dic | |
ETH – bajo | 5 | 8 | 33 |
ETH acumulativo – bajo | 9 | 7 | 33 |
ETH bajo total | 6 | 5 | 1 |
La ayuda será muy apreciada.
ahmedoye
@Anónimo, cuando sus datos tengan las dos filas iniciales que le gustaría traer como columnas separadas (algo así como dos filas de encabezado), debe hacer lo siguiente:
- Transponer la tabla: Esto traerá las dos filas de encabezados en columnas, pero hará que la columna que antes era buena se convierta en filas con los elementos en la primera fila. No te preocupes, aplica los siguientes pasos
- Vaya a la pestaña Transformar y use la primera fila como encabezado: Esto hará que los elementos de la primera fila se conviertan en el encabezado.
- Seleccione las dos nuevas columnas, haga clic con el botón derecho y seleccione Desenmarañar otras columnas: Esto ahora hará que tenga una nueva columna con los elementos en los encabezados convirtiéndose en la nueva columna, y los valores justo delante de ellos como una nueva columna.
Es posible que deba hacer un poco de limpieza aquí y allá después.
Espero que esto funcione para usted, si es así, márquelo como solución para permitir que otras personas se beneficien de esto.
bfernandez
En respuesta a ahmedoye
@ahmedoye esta es una gran solución!
Consulte a continuación la consulta M:
let
Source = Excel.Workbook(File.Contents("C:Usersbfernandez1DesktopTempBook1.xlsx"), null, true),
Sheet2_Sheet = Source{[Item="Sheet2",Kind="Sheet"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Sheet2_Sheet,{{"Column1", type text}, {"Column2", type any}, {"Column3", type any}, {"Column4", type any}}),
#"Transposed Table" = Table.Transpose(#"Changed Type"),
#"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Column1", Int64.Type}, {"Column2", type text}, {"EWP's completed per month", Int64.Type}, {"Initial Isometrics completed per month", Int64.Type}, {"Initial Total Isometrics", Int64.Type}, {"Initial total EWP's", Int64.Type}, {"Total Isometrics", Int64.Type}, {"Column8", type any}, {"Column9", Int64.Type}, {"Column10", type text}, {"EWP's completed per month_1", Int64.Type}, {"Isometrics completed per month", Int64.Type}, {"Total Isometrics_2", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type1", {"Column1", "Column2"}, "Attribute", "Value"),
#"Filtered Rows" = Table.SelectRows(#"Unpivoted Other Columns", each ([Attribute] <> "Column10" and [Attribute] <> "Column9")),
#"Filled Down" = Table.FillDown(#"Filtered Rows",{"Column1"})
#"Replaced Value" = Table.ReplaceValue(#"Filled Down","_1","",Replacer.ReplaceText,{"Attribute"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","_2","",Replacer.ReplaceText,{"Attribute"})
in
#"Replaced Value1"
Por supuesto, cambia donde hay tachados con tus propios datos.
ahmedoye
@Anónimo, cuando sus datos tengan las dos filas iniciales que le gustaría traer como columnas separadas (algo así como dos filas de encabezado), debe hacer lo siguiente:
- Transponer la tabla: Esto traerá las dos filas de encabezados en columnas, pero hará que la columna que antes era buena se convierta en filas con los elementos en la primera fila. No te preocupes, aplica los siguientes pasos
- Vaya a la pestaña Transformar y use la primera fila como encabezado: Esto hará que los elementos de la primera fila se conviertan en el encabezado.
- Seleccione las dos nuevas columnas, haga clic con el botón derecho y seleccione Desenmarañar otras columnas: Esto ahora hará que tenga una nueva columna con los elementos en los encabezados convirtiéndose en la nueva columna, y los valores justo delante de ellos como una nueva columna.
Es posible que deba hacer un poco de limpieza aquí y allá después.
Espero que esto funcione para usted, si es así, márquelo como solución para permitir que otras personas se beneficien de esto.
bfernandez
En respuesta a ahmedoye
@ahmedoye esta es una gran solución!
Consulte a continuación la consulta M:
let
Source = Excel.Workbook(File.Contents("C:Usersbfernandez1DesktopTempBook1.xlsx"), null, true),
Sheet2_Sheet = Source{[Item="Sheet2",Kind="Sheet"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Sheet2_Sheet,{{"Column1", type text}, {"Column2", type any}, {"Column3", type any}, {"Column4", type any}}),
#"Transposed Table" = Table.Transpose(#"Changed Type"),
#"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Column1", Int64.Type}, {"Column2", type text}, {"EWP's completed per month", Int64.Type}, {"Initial Isometrics completed per month", Int64.Type}, {"Initial Total Isometrics", Int64.Type}, {"Initial total EWP's", Int64.Type}, {"Total Isometrics", Int64.Type}, {"Column8", type any}, {"Column9", Int64.Type}, {"Column10", type text}, {"EWP's completed per month_1", Int64.Type}, {"Isometrics completed per month", Int64.Type}, {"Total Isometrics_2", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type1", {"Column1", "Column2"}, "Attribute", "Value"),
#"Filtered Rows" = Table.SelectRows(#"Unpivoted Other Columns", each ([Attribute] <> "Column10" and [Attribute] <> "Column9")),
#"Filled Down" = Table.FillDown(#"Filtered Rows",{"Column1"})
#"Replaced Value" = Table.ReplaceValue(#"Filled Down","_1","",Replacer.ReplaceText,{"Attribute"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","_2","",Replacer.ReplaceText,{"Attribute"})
in
#"Replaced Value1"
Por supuesto, cambia donde hay tachados con tus propios datos.
bfernandez
De acuerdo, si su objetivo es que los datos se vean como le gustaría en la tabla que publicó, puede adoptar otro enfoque.
Mantenga los datos tal como vienen de la fuente y realice su edición en Power Query siguiendo los siguientes pasos:
Combinar mes y año:
Luego analice el MonthYear para obtener la fecha de inicio de cada MonthYear:
Luego, después de cerrar y aplicar los pasos, cree una matriz visual y complétela con los datos como se muestra a continuación:
Anónimo
En respuesta a bfernandez
Perdón si lo confundí en mi publicación original, la tabla publicada allí era la información de la fuente de datos y la lista que mencioné era cómo debería verse.
Debería tener el siguiente aspecto en Power BI para que pueda crear informes:
Artículo Año Mes Datos
Proyectos Es completado/mes 2019 Nov 0
Proyectos Está terminado/mes 2019 Dic 11
El total de proyectos está completado 2019 oct 0
El total de proyectos está completado 2019 noviembre 0
Anónimo
En respuesta a bfernandez
Cuando los datos provienen de Excel, se ven así, los meses y los años están en filas, ¿cómo puedo convertirlos en el formato que tiene en su primera captura de pantalla y luego continuar?
bfernandez
En respuesta a Anónimo
Estos datos parecen muy desordenados por la forma en que se presentan o no obtengo una imagen completa.
Me esta mostrando ciertas categorias que no estan agrupadas como deberian estar o no estoy viendo la informacion.
Por ejemplo, hay varios «Isométricos completados por mes con diferentes valores en la misma columna de octubre de 2019.
¿Puede elaborar un poco más o dar una imagen más amplia de los datos que está proporcionando?
amichandak
Consulte también: https://radacad.com/pivot-and-unpivot-with-power-bi
bfernandez
Puede transponer datos utilizando la función Transponer dentro de Power Query.
Puede encontrarlo en la pestaña Transformar, en la sección Tabla.
Anónimo
En respuesta a bfernandez
Mis datos ahora se ven así
bfernandez
En respuesta a Anónimo
No puedo ver nada adjunto a su respuesta, ¿puede intentar enviar las capturas de pantalla nuevamente?
Anónimo
En respuesta a bfernandez
Anónimo
En respuesta a bfernandez
Gracias bfernandez, estoy usando la función de transposición pero no está arreglando como quiero. Lo intenté de varias maneras, pero lamentablemente no lo estoy reorganizando como quiero que sea.
Gracias