Revista Informática

Ejecución de consultas SQL desde Excel

Publicado el 22 octubre 2018 por Daniel Rodríguez @analyticslane

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.

Ejecución de consultas SQL desde Excel
Lanzamiento del asistente de consultas de Excel

Una vez seleccionada esta función aparecerá el asistente. En primer lugar, se pedirá seleccionar un origen de datos entre los disponibles en el ODBC.

Ejecución de consultas SQL desde Excel
Selección del origen de datos

Tras 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.

Ejecución de consultas SQL desde Excel
Seleccionar columnas

Ahora 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.

Ejecución de consultas SQL desde Excel
Criterio de ordenación

Al 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.

Ejecución de consultas SQL desde Excel
Finalización del asistente

En 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.

Ejecución de consultas SQL desde Excel
Resultados de la consulta SQL en Excel

Archivos 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)


Volver a la Portada de Logo Paperblog