Cómo importar todos los archivos en una carpeta con Power Query
¡¡¡ADVERTENCIA!!! Este post está lleno de PODER.
Power Query es una gran herramienta para importar y transformar datos en Excel. Pero desafortunadamente, le falta una característica clave lista para usar para que sea realmente útil.
En esta publicación, descubriremos cómo importar datos de varios archivos en una carpeta usando Power Query. Para ello necesitaremos que ciertas condiciones sean ciertas.
- Necesitaremos Power Query instalado. Lea esta publicación para saber cómo instalarlo.
- La estructura de datos en cada archivo debe ser la misma.
- Mismo número de columnas con los mismos encabezados de columna.
- Los datos están en el mismo nombre de hoja en cada archivo.
- Necesitaremos todos los archivos que queramos importar ubicados en la misma carpeta.
Para nuestro ejemplo, vamos a importar 4 archivos de Excel desde esta ubicación.
C:UsersJohnGoogle Drive - ExcelExcel WebsitePower QueryHow To Import All Files In A Folder With Power QueryExample
Cada archivo está estructurado de la misma manera. Los títulos de las columnas son todos iguales y en el mismo orden. Los datos están en una hoja llamada Hoja1 para cada archivo. Solo los datos son diferentes para cada archivo.
Paso 1: configurar la consulta de importación para un archivo.
Ahora configuraremos la consulta de importación para un archivo.
- Vaya a la pestaña Power Query en la cinta.
- En la sección Obtener datos externos, presione el botón Desde archivo .
- Elija Desde Excel en el menú desplegable.
Ahora elija un archivo para importar. Puede elegir cualquiera de los archivos en este paso, ya que estamos creando una consulta de importación que funcionará para todos los archivos y todos los archivos son estructuralmente iguales.
- Navegue a su carpeta y seleccione cualquier archivo .
- Pulse el botón Aceptar .
Aparecerá una vista previa de sus datos en la ventana Navegador.
- Seleccione la hoja que contiene sus datos. En nuestro caso Hoja1 . Verifique la vista previa de datos para asegurarse de que tiene los datos correctos.
- Presione el botón Editar .
Paso 2: edite la consulta.
Power Query creará el código de importación (en un lenguaje personalizado llamado M) detrás de escena, pero necesitaremos editarlo ligeramente.
- Vaya a la pestaña Ver .
- Pulse el botón Editor avanzado .
- Ahora verá el código que se ha creado para su importación.
Ahora podemos editar el código M.
- Agregue los bits rojos de texto en su código.
let GetFiles=(Path,Name) =let Source = Excel.Workbook(File.Contents(PathName), null, true), Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data], #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Customer ID", Int64.Type}, {"Order ID", Int64.Type}, {"Item", type text}, {"Quantity", Int64.Type}, {"Unit Price", Int64.Type}, {"Total", Int64.Type}})in #"Changed Type"in GetFiles
- Presione el botón Listo .
- Cambie el nombre de la consulta a functionGetFiles .
- Vaya a la pestaña Inicio .
- Pulse el botón Cargar y cerrar .
Acabamos de cambiar la consulta a una función que toma la ruta y el nombre de un archivo como entradas y luego devuelve los datos de esa ruta y nombre del archivo.
Paso 3: cree una consulta en la carpeta que contiene sus archivos.
Ahora crearemos una consulta en la carpeta que contiene todos nuestros archivos.
- Vaya a la pestaña Power Query .
- Pulse el botón Desde archivo .
- Elija Desde la carpeta en el menú desplegable.
- Busque o introduzca la ruta de la carpeta.
- Pulse el botón Aceptar .
Este tipo de consulta genera datos sobre todos los archivos en una carpeta, como el nombre del archivo, la ubicación, la fecha de modificación, etc. Se obtendrá una vista previa de una lista de sus archivos y luego podemos presionar el botón Editar si esta vista previa se ve bien.
Paso 4: agregue una columna con su función personalizada.
Ahora agregaremos una columna a esta consulta.
- Vaya a la pestaña Agregar columna .
- Presione el botón Agregar columna personalizada .
- Cambie el nombre de la columna a GetData .
- Ingrese esta fórmula en la fórmula de columna personalizada.
=functionGetFiles([Folder Path],[Name])
- Pulse el botón Aceptar .
Esto llamará a la función que creamos en el paso 2 .
Ahora necesitamos expandir la columna GetData que acabamos de crear para mostrar sus resultados.
- Haga clic en el ícono de expandir y filtrar en el encabezado de la columna de nuestra nueva columna GetData.
- Seleccione el botón de radio expandir .
- Pulse el botón Aceptar .
- Ahora ve a la pestaña Inicio .
- Pulse el botón Cerrar y cargar .
Ahora nuestros datos se importarán de todos los archivos de nuestra carpeta y se combinarán en una tabla. Si agregamos archivos a nuestra carpeta más adelante, también podemos importarlos simplemente actualizando la consulta. ¡ Vaya, el PODER !
- Aquí están nuestros datos de los 4 archivos combinados en la misma tabla.
- Si agregamos archivos a nuestra carpeta y queremos importarlos también, vaya a la pestaña Datos .
- Pulse el botón Actualizar todo .
Deja una respuesta