Open Business Intelligence

La red del Business Intelligence

En este tutorial veremos cómo Desnormalizar nuestros datos mediante PDI. Los datos con los que contaremos al inicio serán:

Lo que se hará será desnormalizar la columna estacionNumero (número de estación del año), para que de acuerdo a cada valor de este (1, 2, 3, 4) se cree una nueva columna con su respectivo valor de ventas. El resultado que obtendremos será el siguiente:

Veremos también el funcionamiento de los pasos:

  • Data Grid.
  • Des-Normalización de Fila
  • If field value is null.
  • Transformación Simulada.

 

Transformación

La transformación utilizada es la que se muestra en la imagen:

Esta transformación esta adjunta a este post (desnormalizar_filas.ktr), así que puede descargarse.

 

Paso a Paso

A continuación se explicará paso a paso el funcionamiento de cada paso.

1) El paso Data Grid, perteneciente a la categoría Entrada, se utiliza usualmente para crear datos de ejemplo o para realizar testing, y otras veces para crear un pequeño conjunto de datos predefinidos, esto se debe a que los datos que se obtengan de este paso serán totalmente estáticos.

Se ha configurado este paso de la siguiente manera.

En la pestaña Meta, es en donde se definen las columnas (Nombre) y el tipo de datos que contendrá (Tipo), entre otros datos (Formato, Longitud, etc.). En este caso se definieron tres columnas (zona, estacionNumero y ventas) y se definió su tipo de datos. 

Luego, en la pestaña Datos se creó un conjunto de datos correspondientes a las columnas creadas:

Como puede apreciarse los datos representan las ventas realizadas en cada estacionNumero de cada zona.

 

2) El paso Des-Normalización de Fila, perteneciente a la categoría Transformar, se emplea para crear nuevas columnas, a partir de los valores presentes en una columna.

Este paso se ha configurado de la siguiente manera:

2.1) En campo clave seleccionamos estacionNumero, que será la columna de la cual se analizarán sus valores para la creación de nuevas columnas.

2.2) En campos que definen la agrupación, seleccionaremos el criterio de agrupación que tendrán nuestros datos a la hora de desnormalizar. En este caso agruparemos por zona.

2.3) En campos destino, se definirán las nuevas columnas y la lógica de desnormalización. Analizaremos el contenido de la grilla:

  • En nombre de campo destino se coloca el nombre la nueva columna.
  • En valor de campo destino se coloca el valor que tendrá la nueva columna.
  • En valor clave se mapean los valores de la columna que se ha configurado previamente en campo clave (punto 2.1).
  • En tipo, se especifica el tipo de datos de las nuevas columnas.
  • En agregación se selecciona Suma, para que todos los valores de las ventas de una misma zona (criterio de agrupación) se sumen al momento de convertirse en el valor de la nueva columna.

El comportamiento de este paso es el siguiente:

  • Agrupa los datos por zona.
  • La Suma de los valores de ventas cuando estacionNumero es igual a 1 se mapean en la columna primavera; cuando estacionNumero es igual a 2 en la columna verano; y así sucesivamente.

Los datos que se obtienen hasta el momento son:

 

3) El paso If field value is null, perteneciente a la categoría Utilidad, se emplea para asignar valores a aquellos campos cuyo valor sea null.

Se ha configurado este paso de la siguiente manera:

3.1) Seleccionamos la opción Seleccionar campos, para asignar valores a los campos cuyo valor sea igual a null. La opción Seleccionar tipos de valor se emplea para colocar un valor cuando los datos de determinado tipo (Integer, String, etc.) sean nulos.

3.2) En la grilla seleccionamos los campos que con los que se trabajarán (Campos) y colocamos los valores que serán empleados en el caso que el valor del campo sea null (Reemplazar con valor).

Este paso rellenará con 0 los valores de los campos primavera, verano,... que sean null. Si vemos los resultados obtenidos en el paso anterior se puede apreciar que la segunda fila (Zona 2) posee un valor null para invierno:

Este valor null se debe a que cuando desnormalizamos los datos no existía ningún valor de estacionNumero igual a 4 en la Zona 2.

4) El paso Transformación Simulada, perteneciente a la categoría Flujo, generalmente se emplea para realizar ejemplos o testing, pero también para que los flujos de datos de diferentes pasos se unan. Este paso no requiere ninguna configuración.

5) Realizaremos una vista previa sobre el último paso para analizar los resultados obtenidos:

Los datos son los siguientes:

Bueno, eso es todo, animo a quien tenga deseos de hacer su propio tutorial a compartirlo con el resto de la comunidad.

Espero les sea de utilidad.

Salud

Etiquetas: Data, Des-Normalización, Fila, Grid, If, Integration, PDI, Pentaho, Simulada, Spoon, Más...Transformación, de, field, is, null, value

Visitas: 3072

Distintivo

Cargando…

© 2017   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio