Normalización: Informática PowerCenter

El objetivo de esta entrada es describir los pasos a seguir para implementar una Normalización por medio deInformatica PowerCenter. Este proceso probablemente suena un poco complejo, pero cuando lo llevamos a la practica y analizamos la información, el grado de dificultad disminuye.

Normalización

En todo proyecto de integración de datos, los requerimientos solicitados presentan demasiadas variantes de acuerdo a las circunstancias. Debemos analizar la información de forma ágil e íntegra para poder tomar decisiones en el presente o a futuro, y así obtener la mejor integración de los datos. Algunos análisis nos llevan a aplicar una normalización o denormalización, con la finalidad de preparar la información para un destino determinado.
El objetivo de normalizar es transponer filas a columnas. Esta operación casi siempre la realizamos de forma rápida y practica con MS Excel, utilizando un set de registros reducidos con la finalidad de comparar datos y ocurrencias de la información.
A continuación conoceremos el normalizer transformation, objeto de PowerCenter que nos permite transponer las filas a columnas en un set de datos dentro de un mapping.

Normalización-1

  1. Nombre de la transformación
  2. Nombre del campo creado
  3. Ocurrencias
  4. Tipo de dato del campo creado
  5. Crear un nuevo campo

 

Propiedades

Puerto In Tipo de puerto, que proviene de un transformación anterior del mismo pipeline
Puerto Out Tipo de puerto, que sale de un transformación y sigue el camino del pipeline
Ocurrencias Esta opción nos permite establecer el número de ocurrencias del campo o los campos que deseamos transponer, para que al finalizar el proceso salgan normalizados
Tipos de datos Cuando se crean los puertos (In, Out) se les debe asignar manualmente el tipo de dato que corresponde de acuerdo a la información que pasara por ese puerto (number,varchar). Hay que tener cuidado con el tipo de datos DATE, ya que no existe en esta transformación
GK Puerto de salida generado automáticamente por el normalizer transformation. Se genera un numero consecutivo por cada grupo de registros con la misma key
GCID Puerto de salida generado automáticamente por el normalizer transformation. Se genera un numero consecutivo para cada registro de un mismo grupo con la misma key

Caso práctico

En la siguiente imagen observamos el resultado de la normalización, es decir el antes y el después de la información al pasar por el normalizer transformation. En el set de datos de la izquierda aparecen dos vendedores y sus ventas de cuatro semanas. Pasando esos registros por el normalizer transformation obtenemos la transposición de filas a columnas (normalización).

En este caso practico, la siguiente imagen muestra cuál será el resultado de nuestra normalización con los datos de ejemplo:

Normalización-2

Dentro del designer, en nuestro mapping, seguiremos las siguientes instrucciones:

  1. Insertar el normalizer transformation, preferiblemente después de una expression transformation
  2. Creamos los campos que pasaran por el normalizer, con el tipo de dato correspondiente (number, varchar, integer) para este caso serán solo dos campos (vendedor y monto)
  3. Al campo «monto» creado en el paso anterior, en la propiedad Occurs, se debe asignar el número 4. Esto es por cada una de las semanas que tiene nuestro set de datos origen

 

Una vez realizado los tres pasos anteriores tendremos una configuración similar a la siguiente imagen:

Normalización-3

Automáticamente el normalizer transformation genera los campos de salida (out). Observaremos que de los cuatro campos monto de entrada solo tenemos uno de salida y dos campos generados automáticamente (GK, GCID). Nosotros utilizaremos el GCID.

Normalización-4

Finalmente ligamos los campos de salida a la siguiente transformación, en nuestro caso un target, quedando nuestro mapping de la siguiente forma:

Normalización-5

Consejos para el uso del Normalizer

  • Poner un expression transformation antes del normalizer transformation
  • Tener mucho cuidado cuando se crean los campos y tipos de dato en el normalizer transformation
  • Al quitar un campo dentro del pipeline se deberá actualizar manualmente el normalizer transformation

En posteriores entradas abordaremos la manera de realizar una denormalización con Informática PowerCenter.