¡Bienvenidos, muy buenos días tardes o noches , según donde me leas !
En este artículo se describe el proceso de creación y configuración de tablas de aterrizaje para tratar la información de manera eficiente desde un archivo Excel utilizando SSIS (SQL Server Integration Services). Se detallan los pasos necesarios para configurar un bucle foreach
que recorre cada hoja del Excel, así como la creación de variables y tareas de flujo de datos específicas para cada hoja. Además, se explica cómo validar y conectar adecuadamente cada flujo de datos mediante la configuración de restricciones y expresiones.
Creamos primero las tablas stage o de aterrizaje para poder tratar la información de manera eficiente desde la base
create table Stage_User
(
[name] nvarchar(500),
[extension-number] INT,
Grupo nvarchar(255),
Sueldo int
)
create table Stage_agent
(
estatus varchar(10),
[extension-number] INT,
id_agent int,
[type] varchar(4)
)
create table Stage_call_entry
(
datetime_entry_queue nvarchar(255),
datetime_end nvarchar(255),
callerid nvarchar(255),
call_entry_uniqueid nvarchar(255),
call_entry_trunk nvarchar(255),
call_entry_id nvarchar(255),
call_entry_duration nvarchar(255),
duration_wait nvarchar(255),
id_campaign nvarchar(255),
id_contact nvarchar(255),
id_queue_call_entry nvarchar(255),
id_agent nvarchar(255),
Estatus nvarchar(255),
[transfer] nvarchar(255),
)
Posterior a crear las tres tablas necesarias específicas, para cada caso, debemos realizar las conexiones, que necesitamos para cada conexión, desde ssis.
Para ello lo primero será, ingresamos un bluce foreach, el cual recorrerá cada hoja del Excel.
Posterior a ello lo que debemos realizar es configurar nuestro contenedor de bluce for each, seleccionamos en la colección, Enumerador de conjunto de filas del esquema para Foreach de ADO.NET, en conexiones conectamos a nuestro fichero Excel, copiamos y pegamos la ruta del fichero, y seleccionamos en todas en la opción de avanzado , y escribimos Excel 12.0, probamos conexión y damos aceptar, por ultimo seleccionamos el esquema de tabla
Ahora crearemos 3 variables, recuerda crearas tantas variables tenga según hojas tu Excel por recorrer.
Ahora creamos una tarea de flujo de datos por cada uno de las tablas de aterrizaje , le asignamos por orden el nombre de la hoja , y dentro e estas creamos el origen y el destino, creamos específicamente , dos flujos mas recuerda un origen y un destino , para el ultimo proceso en el cual manejamos en cada caso, para la de agent , en el cual cargaremos pero debemos realizar una conversión de datos
Ahora creamos específicamente un flujo de datos para validar cada hoja del Excel y asi validar cada caso de conexión , para este caso usaremos las variables , en las cuales @[User::Hoja1]==»agent$» con este código y por cada flujo se crea en el flujo la expresión y restricciones para que cada ves que se recorra cada unió se inserte la información @[User::Hoja1]==»call_entry$» @[User::Hoja1]==»user$»
Para finalizar en cada caso, de los flujos de conexión modificamos cada conexión de flujo con las variables creadas
Para que funcione de manera eficiente en los flujos de conexión , y las restricciones, ejecutamos específicamente, la validación de cada proceso , es decir , que en el bucle for each , colocamos , la asignación de variable para que guarde el nombre de cada hoja y se vayan cumpliendo cada ejecución
Ejecutamos nuestro flujo de manera eficiente de manera correcta.
el artículo proporciona una guía práctica para la configuración de un proceso de carga y tratamiento de datos desde un archivo Excel utilizando SSIS. Al seguir estos pasos, es posible garantizar que cada hoja del Excel sea procesada y validada de manera eficiente, permitiendo una correcta inserción de datos en las tablas de aterrizaje. La clave del éxito radica en la correcta configuración de las conexiones, variables y restricciones dentro de los flujos de datos, asegurando así una ejecución fluida y sin errores.
Vicente Antonio Juan Magallanes.