A la hora de trabajar con Excel una de las posibles fuentes de problemas es la importación de los datos. En muchas ocasiones estos se encuentran en bases de datos, por lo que se ha de llevar a cabo un proceso de extracción, transformación y carga. Para esto se puede realizar la extracción a un archivo CSV para posteriormente importarlo en un libro Excel. Un proceso que no es óptimo, especialmentecuando este se ha de realizar de forma habitual. Para solucionar este problema, Excel implementa la posibilidad de realizar directamente consultas SQL a bases de datos. Además, la consulta y las opciones de conexión se pueden guardar en un archivo para automatizar el proceso. A continuación, se explicará cómo ejecutar consultas SQL desde Excel en bases de datos configuradas en el ODBC del sistema.
El asistente de consultas de Excel
En Excel existe un asistente que permite realizar importaciones desde bases de datos. Para acceder al mismo se ha de ir a la pestaña Datos y acceder a Obtener datos externos > Desde otras fuentes > Desde Microsoft Query.
Lanzamiento del asistente de consultas de ExcelUna vez seleccionada esta función aparecerá el asistente. En primer lugar, se pedirá seleccionar un origen de datos entre los disponibles en el ODBC.
Selección del origen de datosTras la selección del origen de datos se procederá a la configuración de la consulta en si. Para ello se solicitará la tabla y las columnas que se desean incluir. Una vez realizada la selección se pude pulsar en siguiente.
Seleccionar columnasAhora se puede incluir diferentes criterios de selección y para la ordenación de los datos. Por ejemplo, a continuación, se muestra una captura de pantalla en la que se indica que los clientes sean ordenados por nombre.
Criterio de ordenaciónAl finalizar el asistente se podrá guardar los datos, ver los datos o modificar la consulta. Además, se ofrece la posibilidad de guardar la consulta en un archivo para un posterior uso.
Finalización del asistenteEn el caso de que se seleccione la opción Devolver los datos a Microsoft Excel la consulta se cargará en la hoja del libro seleccionado.
Resultados de la consulta SQL en ExcelArchivos de consultas para Excel
Las consultas SQL utilizadas en Excel se puede guardar en un archivo de formato qdy
. Estos son archivos de texto plano que pueden ser generados desde el asistente de consultas de Excel o de forma manual. El formato de estos archivos es de la siguiente forma:
La primera y segunda línea del archivo han de ser tal como se indica. En la tercera línea se ha de indicar la configuración de la fuente de datos ODBC. Básicamente es necesario indicar el nombre de la fuente de datos y, en caso de que sea necesario, el usuario y contraseña para acceder. En la cuarta línea se sitúa la consulta SQL, la cual puede ser tan compleja como se desee. A partir de ahí las columnas son opcionales. Por su lado, en la quinta se puede indicar los nombres de los parámetros, en la sexta el tipo de datos y en la séptima el nombre de las columnas.
A modo de ejemplo se muestra el contenido de un archivo de consulta en la que se importan todos los datos de la tabla sales
desde la base de datos clients
. En este archivo el usuario que se utiliza para acceder es username
y su contraseña es password
.
XLODBC 1 DSN= clients;UID=username;PWD=password SELECT * FROM sales
En Windows los archivos qdy
se pueden abrir desde el explorador. Al realizar esta acción se abrirá una instancia de Excel y, tras la confirmación por parte del usuario, se ejecutará la consulta e importarán los datos en una hoja. Así es posible automatizar procesos que se realizan de forma habitual como puede ser las compras que se han realizado la semana pasada.
Conclusiones
Se ha visto un truco para poder realizar consultas en bases de datos e importar estas sin salir de Excel. Además, se ha visto cómo generar archivos qdy
en los que se puede almacenar los datos de los procesos. Permitiendo automatizar procesos de carga que se realizan de forma habitual.
Imágenes: Pixabay (michasager)