Como usar Conditional Split en SSIS

El Conditional split es una transformación disponible dentro del toolbox de Data Flow en SSIS que permite enviar los datos desde un solo origen hacia varias salidas basadas en distintas condiciones, si ninguna de las condiciones escrita se cumple los datos saldrán por una salida que actúa como una cláusula ELSE.

Para usar el conditional split debemos agregar un Data Flow a nuestra paquete de SSIS

ssis data flow connection manager

Es necesario también tener una conexión de dónde se obtendrán los datos, en este caso se utiliza una tabla de una base de datos SQL

ssis connection manager configuration

Dentro del Data Flow usaremos tres herramientas. Un OLEDB Source para obtener los datos con los que haremos la prueba. El Conditional Split para crear las salidas basadas en condiciones y Row Counts para anclar las salidas hacia otra herramienta

ssis data flow oledb source conditional split

OLEDB Source

Configuramos el OLEDB para obtener los datos desde la tabla Product

ssis oledb source configuration

Al seleccionar preview podemos ver un segmento de los datos a procesar

ssis oledb source preview

Conditional Split

Configuramos el conditional split con las condiciones que necesitamos para separar las filas en las distintas salidas. Cada fila será comparada con las condiciones, iniciando con la primera hacia abajo, se detendrá cuando la condición evaluada sea verdadera si ninguna condición se cumple los datos serán enviados por la salida default

ssis conditional split configuration

Row Count

El Row Count lo usamos como un contenedor para los datos que salen del conditional split, cada row count recibe la salida de cada condición. Al conectar cada salida con el row count debemos especificar la salida que utilizaremos para ese row count

ssis row count configuration conditional split

Al ejecutar el paquete, el conditional split divide las filas de acuerdo a la condicion que se haya cumplido

ssis package conditional split execution

Deja un comentario

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