En los procesos ETL, tras la extracción de los datos de la fuente o fuentes de origen llega la segunda fase: la transformación.La fase de transformación de un proceso ETL consiste en la aplicación de una serie de funciones o reglas de negocio sobre los datos extraídos para convertirlos en datos que, a continuación, serán cargados en la nueva fuente.
¿Por qué es necesario un proceso de transformación?
Para entender la necesidad de un proceso de transformación debemos tener en cuenta que en un proceso ETL se manejan fuentes diversas, algunas de ellas de fuera de la propia organización: información bursátil de una web ajena a la empresa, cualquier tipo de descarga de Internet, un paquete de Office, etc.Esta variedad de bases de datos, en ocasiones de varios países, con diferentes idiomas y distintas unidades de medida, imposibilita o dificulta la posibilidad de realizar comparaciones si con anterioridad no se realizan conversiones y formateos. De ahí la necesidad de los procesos de transformación.
Acciones de transformación
Las acciones o procesos más habituales son:
- Reformateo de datos.
- Conversión de unidades. Por ejemplo, convertir millas en kilómetros por hora o viceversa. Algo muy habitual cuando se extraen datos de países con unidades métricas distintas. Otro caso sería la conversión de diferentes monedas (libras, euros...) en un único valor estándar.
- Selección de columnas para su carga posterior. Por ejemplo, hacer que las columnas con valores nulos no se carguen.
- Agregación de columnas. Añadir una columna con la procedencia de determinados automóviles sería un ejemplo.
- Dividir una columna en varias. Esta acción resulta de gran utilidad para, por ejemplo, separar en tres columnas, una para el nombre y otras dos para los apellidos, la identificación de una persona que antes estaba en un solo campo.
- Traducir códigos. Por ejemplo, si la fuente de origen almacena una “H” para hombres y una “M” para mujeres, dar las instrucciones necesarias para que en destino se guarde un “ 1” para hombres y un” 2” para mujeres.
- Obtener nuevos valores calculados.
- Unir datos de varias fuentes.
- Lookups. Es cuando se toma un dato y se lo compara con otro tipo de datos, cruzando información. Por ejemplo, capturar un código de cliente de una base de datos y cruzarlo con otra base de créditos concedidos para saber si dicho cliente disfruta o no de ese préstamo.
- Pivoting. Proceso parecido al lookups pero con un grado mayor de complejidad, ya que se cruzan datos de distintas fuentes.
Tal vez te interese leer:
Beneficios de utilizar Informatica PowerCenter como herramienta ETL
¿Quién se encarga de realizar estas transformaciones?
Esta función corresponde al desarrollador o analista del proceso ETL en cuestión. La definición de las transformaciones a realizar se realiza en función de un análisis previo y de la fase de limpieza que, como ya hemos señalado y profundizaremos más adelante, se trata de un proceso separado pero estrechamente ligado al de transformación.
La transformación: un proceso vital para los análisis y comparaciones posteriores
La transformación de los datos, tras la extracción de los mismos y como paso previo a su carga, no puede considerarse una fase secundaria ni prescindible. Sin un buen trabajo de transformación de datos no sería posible realizar comparaciones y análisis. Dicho de otro modo, se renunciaría a uno de los grandes beneficios para las organizaciones al implementar un proceso ETL.