Luego de presentar la Tarea Script del Flujo de Control, veremos el componente Script dentro del Flujo de Datos.
Este escrito está inspirado en un sencillo y muy didáctico ejemplo de Darren Green que fue publicado bajo el título Using the Script Component as a Conditional Split aquí y es otra forma de plantear el caso que teníamos visto aquí.
En nuestro caso, el objetivo es dejar otra posible variante de solución al mismo problema, que era Conversión de datos con SSIS 2008 controlando Truncamiento con Salida a División Condicional. Además, de paso introducimos el componente Script que no lo hemos introducido.
Lo primero será crear la Tarea de Flujo de datos desde el panel de Flujo de Control.
Luego, desde dentro del panel de tarea de Flujo de datos, definimos un Componente Origen OLE DB que apunta a la conocida tabla Product de AdventureWorks y seleccionamos apenas tres columnas, no necesitamos más, la verdad es que para lo que quiero mostrar bastaba con Nombre; pero dejemos al menos tres 🙂
Vamos a recordar que lo que teníamos era una Transformación de División Condicional que dividía la muestra en Cortas y Largas. La salida “Cortas” es la Predeterminada, mientras que “Largas” se obtenía validando una condición:
El código va a servir para dividir la muestra. Lo primero que vemos es que al seleccionar esta transformación nos pregunta qué tipo de acción es la que queremos hacer con este componente Script:
Mantenemos Transformación que es lo que está predeterminado y además es justo lo que nos interesa.
Ahora definimos el Flujo de Entrada, vamos al Editor de la Transformación Script y en Columnas de Entradas seleccionamos Nombre, que es a la que estamos aplicando la condición para dividir el flujo. Aunque en el Flujo de entrada a la transformación tenemos 3 columnas, no quiere decir que se pierda el resto, tal y como hacíamos en División Condicional, seleccionamos aquella(s) columna(s) que se van a validar dentro del código script, el resto no las necesitamos.
Ahora, sobre las Salidas, para seguir simplificando vamos a seleccionar dos Transformaciones Recuento de filas, que ya las conocemos y las hemos tratado con bastante frecuencia. Sería igual de válido colocar dos Destinos OLEDB o cualquier transformación adicional de Flujo de datos.
Creamos las dos variables que guardarán el Recuento de filas, cuidando de asignar ámbito de paquete
Y las asociamos a cada una de las Transformaciones para dejar configurada esta primera parte de la tarea.
Hasta aquí, la primera parte de la configuración, seguiremos en la próxima entrega 🙂