Importar y concatenar tablas

Un usuario Pregunto ✅

AS193

Hola,

Tengo un archivo de Excel con 12 hojas para cada mes del año. Todas las hojas tienen la misma estructura, como el valor de fecha en la fila 1, el valor del día de la semana en la fila 2 y el valor que necesito en la fila 3.

Ahora quiero importar todas las hojas en una consulta en Power Bi con todos los valores de fecha en la columna A, los valores de los días de la semana en la columna B y los valores necesarios en la columna C.

¿Sabe cómo hacer esto sin importar todas las hojas por separado y fusionar las consultas?

Gracias por adelantado

Hola @AS193

La solución de @ Vera_33 debería funcionar, ¿lo has probado?

Además, si sus datos en la hoja de Excel tienen la primera columna como la siguiente, puede agregar pasos para eliminarlos.

021801.jpg

Hago un archivo de demostración aquí. Puede cambiar los valores de los parámetros «folderPath» y «fileName» a la carpeta y el nombre de su archivo para verificar el resultado.

021802.jpg

let
    Source = Folder.Files(folderPath),
    #"Filtered Rows" = Table.SelectRows(Source, each [Name] = fileName),
    #"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows",{"Content"}),
    Content = #"Removed Other Columns"{0}[Content],
    #"Imported Excel" = Excel.Workbook(Content),
    #"Removed Other Columns1" = Table.SelectColumns(#"Imported Excel",{"Data"}),
    #"Added Custom" = Table.AddColumn(#"Removed Other Columns1", "Custom", each Table.RemoveColumns([Data],"Column1",MissingField.Ignore)),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Table.Transpose([Custom])),
    #"Expanded Custom.1" = Table.ExpandTableColumn(#"Added Custom1", "Custom.1", {"Column1", "Column2", "Column3"}, {"Column1", "Column2", "Column3"}),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom.1",{"Data", "Custom"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Column1", "Date"}, {"Column2", "Weekday"}, {"Column3", "Value"}})
in
    #"Renamed Columns"

Por favor, avíseme si esto ayuda.
Equipo de apoyo comunitario _ Jing Zhang
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a otros miembros a encontrarla.

Hola @AS193

La solución de @ Vera_33 debería funcionar, ¿lo has probado?

Además, si sus datos en la hoja de Excel tienen la primera columna como la siguiente, puede agregar pasos para eliminarlos.

021801.jpg

Hago un archivo de demostración aquí. Puede cambiar los valores de los parámetros «folderPath» y «fileName» a la carpeta y el nombre de su archivo para verificar el resultado.

021802.jpg

let
    Source = Folder.Files(folderPath),
    #"Filtered Rows" = Table.SelectRows(Source, each [Name] = fileName),
    #"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows",{"Content"}),
    Content = #"Removed Other Columns"{0}[Content],
    #"Imported Excel" = Excel.Workbook(Content),
    #"Removed Other Columns1" = Table.SelectColumns(#"Imported Excel",{"Data"}),
    #"Added Custom" = Table.AddColumn(#"Removed Other Columns1", "Custom", each Table.RemoveColumns([Data],"Column1",MissingField.Ignore)),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Table.Transpose([Custom])),
    #"Expanded Custom.1" = Table.ExpandTableColumn(#"Added Custom1", "Custom.1", {"Column1", "Column2", "Column3"}, {"Column1", "Column2", "Column3"}),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom.1",{"Data", "Custom"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Column1", "Date"}, {"Column2", "Weekday"}, {"Column3", "Value"}})
in
    #"Renamed Columns"

Por favor, avíseme si esto ayuda.
Equipo de apoyo comunitario _ Jing Zhang
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a otros miembros a encontrarla.

Vera_33

Hola @AS193

Acuerde con @AnkitKukreja poner su archivo en una carpeta, pero no haga clic en el botón, agregue una columna personalizada en su lugar

dejar
Origen = Carpeta.Archivos(«C:Usuarios******»),
#»Personalizado agregado» = Table.AddColumn(Source, «Custom», each Excel.Workbook([Content])),
#»Otras columnas eliminadas» = Table.SelectColumns(#»Personalizado agregado»,{«Personalizado»}),
#»Personalizado ampliado» = Table.ExpandTableColumn(#»Otras columnas eliminadas», «Personalizado», {«Datos»}, {«Datos»}),
#»Personalizado1 agregado» = Table.AddColumn(#»Personalizado ampliado», «Personalizado», cada Table.Transpose([Data])),
Custom1 = Table.Combine( #»Custom1 añadido»[Custom])
en
Personalizado1

AnkitKukreja

Hola @AS193

Puede mantener su archivo en una carpeta y luego seleccionar importar datos con «Carpeta» como fuente y luego podrá ver la opción de archivo combinado en lugar de cargar y transformar.

Allí seleccione combinado y todas sus hojas serán combinadas.

Gracias,

Ankit

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *