Conversión de datos con SSIS 2008 controlando Truncamiento con Salida a División Condicional

Continuando la serie dedicada a la transformación Conversión de datos y sus consecuencias, la idea que iniciamos hoy es dar pasos hasta conseguir que  no se pierda ni un registro, que todos lleguen al Destino, aunque «alguno» (332) quede con el nombre truncado.

Creamos una tarea nueva en el mismo paquete y deshabilito la anterior.

TrestareasConversion

Desde el panel Flujo de datos, luego de agregar el mismo origen con el que estamos trabajando, agregamos a su salida correcta una transformación División Condicional, que se encarga de dividir la muestra en flujos diferentes no duplicados, sino excluyentes según la condición que estemos evaluando (pensemos con IF, IIF, CASE, etc.)

Estamos nuevamente en el Generador de expresiones, vimos algo en Tarea ejecutar aplicación externa con expresiones, en este caso se trata de División Condicional, recordamos que nos ofrece ayuda en cuanto a metadatos, variables y GenExpDivCondi

Vamos construyendo la Condición de comparación.

eXPRESIONcONDICIONrOJA

Mientras escribimos el texto aparece en color rojo y hasta que no esté totalmente correctamente correcta la sintaxis, no estará el texto de la condición escrito en negro, en este caso del ejemplo tenemos dos problemas, falta el elemento a comparar y falta un paréntesis para que cierren las dos funciones LEN y TRIM.

ExpresionCondicionNegra

La transformación queda configurada. Como esta transformación tiene una salida predeterminada, hemos decidido aprovecharla para sacar la muestra válida, es decir las «Cortas» y que la salida que hemos creado con la condición saque la muestra mala, las «Largas», que no es lo mismo que salida de error, aquí ambas salidas son correctas, sólo que para nuestro caso las cortas valen y las largas no.

EdiTransfDivCond

Ejecutamos el paquete tal cual

Condicionalsalidascortas

No hay error, es cierto, aunque también es cierto que hemos perdido el resto de la muestra, no es cierto que todos llegan al Destino. ¿Es esto válido? Claro que si !! Ya les digo, siempre depende de lo que necesitemos en cada caso.

El uso de la Salida “Largas” lo veremos en el próximo escrito. Hasta entonces.