Cargar un Excel de varias hojas a SQL con SSIS

¡Bienvenidos, muy buenos días tardes o noches , según donde me leas !

¡Bienvenidos al emocionante mundo del análisis táctico de crímenes con SQL Server Integration Services (SSIS)!  Preparémonos para un viaje de datos mientras exploramos cómo cargar múltiples hojas de Excel en nuestra base de datos con la magia de SSIS.

En este recorrido, nos sumergiremos en el desafiante conjunto de datos número 11 y aprenderemos a construir un flujo de trabajo brillante en Visual Studio 2022.  Desde la creación de tablas hasta el truco del bucle «For Each» y las artes del mapeo de columnas, desentrañaremos los secretos detrás de una carga de datos impecable.

¿Listos para la acción? ¡Pues empecemos con esta odisea de codificación donde la lógica se mezcla con la destreza técnica!

 

¡Sigue leyendo para descubrir cómo convertir tus datos de crímenes en perlas de sabiduría analítica!

En la siguiente explicación, llevaremos a cabo la carga de diversas hojas en SQL Server utilizando SQL Server Integration Services. Recordemos que el archivo que utilizaremos será el del desafío de datos número 11. Pueden participar en el desafío de datos y unirse al análisis táctico de crímenes.

Link para su descarga: https://www.fp20analytics.com/challenges

¡Comencemos!

Lo primero será crear las tablas donde almacenaremos los datos. En este caso, solo almacenaré tres hojas: Crimes, Crime_Person y Crimes_Roles. Puedes replicar este proceso para otras hojas dentro de tu flujo de trabajo.

Imagen 1

Ahora abrimos nuestro Visual Studio, en mi caso, la versión 2022, y empezamos a desarrollar. Primero, utilizaremos el contenedor de bucles «For Each» para recorrer las hojas de nuestro Excel (Imagen 2). Configuraremos esto utilizando el enumerador de conjuntos de filas del esquema para «ForEach de ADO.NET» (Imagen 3).

Damos clic en «Nueva Conexión» y luego en «Nuevo» (Imagen 4) . En la ventana de diálogo, seleccionamos «Microsoft Office 12.0 ACCESS DataBase Engine OLE DB Provider» (Imagen 5). Luego, en «Server o File Name», pegamos la ruta completa de nuestro archivo Excel (Imagen 6).

Después de esto, donde dice «Todas», en el apartado avanzado dentro de propiedades extendidas, escribimos «Excel 12.0» (Imagen 7). Luego, damos aceptar y validar. Pasamos al siguiente nivel, que se llama «Asignación de Variables». Crearemos una variable llamada «Variable» para asignarle el nombre de la primera hoja de nuestro archivo. Será de tipo cadena (Imagen 8).

Recordemos asignar el índice 2 (Imagen 9)   y la variable recién creada.

Ahora ingresamos una tarea de flujo de datos llamada «Dummy». Posteriormente, ingresamos nuestra tarea de flujo de datos llamada «Carga Crime_Person» (Imagen 10).

Creamos una conexión origen de tipo Excel, que se conectará mediante variables para obtener el nombre de la hoja. Esta variable será la que creamos anteriormente (Imagen 11).

Ahora creamos una conexión destino en la cual ejecutaremos la carga hacia SQL Server, haciendo el mapeo de las columnas (Imagen 12 y 12.1).

Damos doble clic entre la línea de conexión de «Dummy Task» hacia «Carga Crime_Person» para realizar las siguientes modificaciones. En la ventana de diálogo que aparece al darle doble clic, seleccionamos «Expresión» y «Restricción», y damos clic al lado de la opción «Expresión» (Imagen 13).

Dentro de esta ventana de diálogo, utilizamos nuestra variable creada anteriormente, validando el contenido de esta con el nombre de la hoja. Esto nos permitirá determinar si continuará o no dentro del flujo para realizar los pasos dentro de la tarea de carga creada (Imagen 14).

Damos aceptar y con esta lógica, solo será cuestión de replicar los pasos hacia las demás tareas según la cantidad de hojas a recorrer dentro de nuestro Excel. El paso fundamental aquí es que la conexión de origen de Excel no tenga el nombre de la hoja predeterminado; modificaremos en la conexión de origen la validación de la metadata a «false» para evitar errores al ejecutar sus comprobaciones.

¡Y así concluimos nuestro épico viaje en el fascinante universo del análisis táctico de crímenes a través de SQL Server Integration Services (SSIS)!  Han sido momentos emocionantes de codificación, bucles ingeniosos y mapeos estratégicos que nos han llevado desde las hojas de Excel hasta las profundidades de nuestra base de datos.

En este recorrido, aprendimos a orquestar un ballet de datos, creando conexiones, asignando variables y desplegando tareas de flujo de datos con la elegancia de un maestro de ceremonias. Cada expresión y restricción se convirtieron en las notas de una sinfonía de carga de datos que transformó información cruda en conocimientos valiosos.

Al replicar esta lógica, podemos conquistar cualquier número de hojas en nuestro Excel, adaptando nuestro flujo de trabajo a la medida de nuestras necesidades. Recuerda, en el universo de SSIS, la magia radica en la precisión de las configuraciones y la creatividad con la que abordamos cada desafío.

¡Espero que hayas disfrutado tanto como yo guiándote en este recorrido! Ahora, armados con estas habilidades, estás listo para enfrentar cualquier desafío analítico que se cruce en tu camino. ¡Hasta la próxima aventura de datos!

Business Intelligence Technical.

Perfil linkedin

Loading

Deja un comentario

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