Soluciones ETL de las tablas de dimensiones y hechos

Clase 22 de 26Curso de Data Warehousing y Modelado OLAP

Resumen

¿Cómo hacer la extracción y transformación de datos para la tabla de hechos?

En el ámbito del manejo de la información, la construcción de una tabla de hechos es crucial para el análisis de datos, ya que nos permite almacenar y gestionar métricas esenciales del negocio. La correcta manipulación y transformación de estos datos es vital para garantizar la precisión y utilidad del data warehouse. En este artículo, guiaremos tu comprensión sobre cómo extraer y transformar datos para la carga en una tabla de hechos, basándonos en el uso de herramientas como Pentaho y Redshift.

¿Qué pasos están involucrados en la extracción de datos?

  1. Preparación de la consulta: Inicia obteniendo los datos necesarios de la base de datos transaccional con una consulta SQL. Estos incluyen detalles de la factura, fecha de generación, códigos de clientes, productos, vendedores y territorios, además de las métricas de cantidad, valor vendido y descuento.

    SELECT factura, detalleFactura, fechaGeneracion, 
           territorioCodigo, clienteCodigo, vendedorCodigo, 
           productoCodigo, cantidad, 
           (cantidad * unidadVendida) AS valorVendido, 
           (cantidad * descuento) AS valorDescuento
    FROM ventas;
    
  2. Configuración del flujo de datos en Pentaho: Una vez que tengas tu script funcional, cárgalo en Pentaho para comenzar con el flujo de mecanización. Este paso replicará procesos similares a los utilizados en dimensiones.

¿Cómo cruzar dimensiones y obtener IDs?

En las tablas de hechos debemos reemplazar identificadores operativos por IDs de dimensiones correspondientes. A continuación, se detallan los pasos para esta tarea:

  • Cruzando con vendedores: Usa un paso de database lookup para validar el código del vendedor, asegurándote de que la fecha de la venta coincida con la vigencia del registro.

  • Cruzando con fechas: Realiza un lookup donde la fecha de la venta debe coincidir con la fecha de la dimensión temporal.

  • Cruzando con territorios, clientes y productos: Aplica el mismo principio, validando siempre contra el código y obteniendo el ID correspondiente de cada dimensión.

¿Por qué es importante la validación de datos nulos?

Durante los cruces, puede ocurrir que algunos registros no correspondan o sean nulos. Es esencial establecer un mecanismo que asigne un valor por defecto, como -1, a estos casos, señalando inconsistencias que requieren atención.

¿Qué considerar al preparar los datos finales para la tabla de hechos?

Es fundamental recordar que en una tabla de hechos solo deben incluirse los IDs de identificadores y no campos operativos o adicionales, salvo que estos sean necesarios para consultas específicas. Además, es importante revisar la correcta asignación y actualización de cada ID en la ETL para asegurar la integridad en el warehouse.

Al dominar estos pasos elementales, podrás optimizar la construcción de tablas de hechos con claridad y eficiencia, permitiendo análisis más precisos y acciones basadas en datos confiables. ¡Anímate a seguir profundizando en tus conocimientos y aplicaciones prácticas!