Tabla de hechos (fact)

Clase 12 de 26Curso de Data Warehousing y Modelado OLAP

Resumen

¿Cómo combinar dimensiones tipo 1, 2 y 3 en un modelo dimensional?

En este segmento, exploraremos cómo integrar las dimensiones tipo 1, 2 y 3 para crear lo que se conoce como dimensión tipo 6. Esta dimensión combina las características de las dimensiones anteriores para registrar cambios de manera eficaz y flexible en nuestro modelo de datos. El ejemplo se centrará en un caso donde la información de un estudiante cambia a lo largo del tiempo.

¿Qué son la fecha de inicio y la fecha fin?

Para gestionar los cambios temporales en los registros, es esencial utilizar las columnas de fecha de inicio y fecha fin.

  • Fecha de inicio: Representa el momento preciso en que una nueva vigencia para un registro comienza.
  • Fecha fin: A menudo se define como nulo o con un valor futuro, por ejemplo, '9.9.9.9', para representar que el registro sigue vigente.

Dichos campos permiten seguir la evolución histórica de los registros, asegurando que siempre podamos determinar el estado de un dato en cualquier momento del tiempo.

¿Cómo manejar registros de cambios complejos?

La combinación de las dimensiones tipo 1, 2 y 3 nos permite manejar registros de cambios de manera más completa. Imaginemos que tenemos un estudiante llamado Pepito Pérez, quien cambia de facultades a lo largo del tiempo, desde ingeniería a comercio y luego de vuelta a salud. Al realizar cada cambio, se crea un nuevo registro con un ID único, reflejando las características y vigencias actualizadas.

¿Cómo se llena la tabla de hechos (FAC)?

La tabla de hechos es el núcleo del modelo dimensional y almacenará todos los indicadores que se deseen medir. Se debe construir con cuidado, asegurándose de cargar las dimensiones antes de procesar los registros de hechos.

¿Qué pasos seguir para llenar la tabla?

  1. Descargar y procesar dimensiones: Es crucial que todas las dimensiones estén cargadas primero, ya que actuarán como un catálogo de datos para cruzar con los hechos.

  2. Ejemplo práctico de carga: Supongamos que se genera una factura el 14 de junio de 2030, para un vendedor con código VEN01, referencia de producto 10 y cliente 1000. Se registran 500 unidades vendidas por $100. Los pasos son buscar en las dimensiones correspondientes:

    • Vendedor: Se identifica el ID correcto (ID1) en base a la fecha de venta.
    • Producto: Se asigna el ID del producto correspondiente (ID50).
    • Cliente: Se identifica al cliente y se asigna el ID correspondiente (ID1).

¿Cómo se manejan los niveles de detalle?

El nivel de detalle al que se maneja un modelo puede ser tan granular como el usuario desee. En este ejemplo, el modelo se lleva al nivel de factura, pero podría simplificarse al nivel de vendedor, producto y cliente, sumando métricas y desechando la granularidad de la factura, si se decide así en el proceso de extracción, transformación y carga (ETL).

¿Qué otras consideraciones tener en cuenta?

Es esencial definir claramente la agregación que se aplicará a las métricas, ya sea suma, conteo, media o mediana. Además, campos adicionales como la fecha de carga proporcionan trazabilidad y valor de auditoría al modelo.

Esta estructura permite no solo flexibilidad en el análisis histórico, sino también una robustez a la hora de integrar nuevas actualizaciones o cambios sin pérdida de información relevante. Así se construye un sistema dimensional eficiente y confiable.