Una de las transformaciones más útiles es la creación de columnas derivadas «Derived Column».
Una columna derivada no es más un nueva columna que añadimos a nuestro Flujo de trabajo y que podremos generar con un valor predefino o en base a un determinado cálculo con los valores de entrada.
Para explicar su funcionamiento y posibilidades partiremos de un nuevo proyecto SSIS en el que añadiremos un «Data Flow Task» con un flujo básico como el siguiente.
Si hacemos clic sobre «Derived Colum» podremos acceder a sus propiedades.
El parte superior izquierda tenemos acceso a las variables internas de SSIS, así como a los campos que obtenemos con «Ole DB Source».
Para realizar alguna operación con estos elementos debemos arrastrarlos hasta el Grid situado en la parte interior de la pantalla quedando así:
En la sección derecha tenemos agrupadas todas la operaciones que podemos realizar siendo:
- Funciones matemáticas básicas.
- Funciones de cadenas.
- Funciones de fecha/hora.
- Comprobaciones de valores NULL en función del tipo de dato.
- Funciones de conversión de datos.
- Operadores.
En nuestro ejemplo realizaremos un substring del campo «LastName» partiendo de la base de que necesitamos los dos primeros caracteres de este campo. Por tanto, iremos a «String Functions» y arrastraremos la función SUBSTRING.
La completaremos con los siguientes valores:
SUBSTRING( [LastName], 1, 2 )
Partiendo de la base de que las cadenas en SSIS tienen base 1. Es decir, el primer carácter es el 1 y no el 0 como en otros sistemas.
Estas funciones de cadena (o de cualquier otro tipo) se pueden combinar. Si por ejemplo, queremos poner el resultado en mayúscula dejaríamos la expresión como:
UPPER(SUBSTRING( [LastName], 1, 2 ) )
Por último faltaría asignarle un nombre a nuestra columna derivada. Por ejemplo, «NewLastName».
No dejéis de revisar el resto de funciones aplicables a expresiones de columnas derivadas. Empleándolas de forma correcta nos darán muchísimo juego a la hora de crear nuestros paquetes SSIS.




