Tipos de dimensiones lentamente cambiantes

Resumen

Las dimensiones lentamente cambiantes son la pieza que permite resolver preguntas de negocio sobre el qué, el cómo, el cuándo y el dónde dentro de un modelo de datos. Si trabajas con bodegas de datos o estás aprendiendo data warehousing, entender los tres tipos de SCD (Slowly Changing Dimensions) te cambia la forma de modelar la historia de tu negocio.

¿Qué es una dimensión y qué tipos de atributos tiene?

Una dimensión es la estructura que describe los hechos que mides. Si vendes productos, la dimensión te dice qué vendiste, quién lo compró, cómo se pagó y dónde ocurrió la venta.

Dentro de una dimensión vas a encontrar atributos que cumplen funciones distintas y que conviene reconocer desde el inicio:

  • Atributos jerárquicos: relacionan una dimensión con otra. La ciudad pertenece a un departamento y el departamento a un país.
  • Atributos descriptivos: nombre, apellido, dirección o teléfono del cliente. No los usas para analizar la venta, pero te ayudan a conocer mejor esa entidad.
  • Atributos de control o auditoría: registran cuándo se almacenó el dato, quién lo cargó y si fue un proceso automático o una persona.

¿Para qué sirven los atributos de control en una dimensión? Permiten auditar tus datos. Sabes la fecha de carga, el responsable y la vigencia de cada registro, lo que es clave para rastrear cambios y errores.

¿Cómo funciona la dimensión lentamente cambiante tipo 1?

La SCD tipo 1 se comporta casi como una tabla transaccional: reemplaza el valor anterior por el nuevo y no guarda historia.

Imagina un jean azul cargado en tu dimensión de productos. Mañana ese mismo producto, con el mismo código, cambia su color a amarillo en la fuente. Cuando vuelves a cargar los datos, el registro azul desaparece y queda únicamente el amarillo.

Es útil cuando el cambio corrige un error o cuando el valor histórico no aporta valor analítico. La desventaja es clara: pierdes la trazabilidad del atributo.

¿Cuándo conviene usar la dimensión tipo 2 o tipo 3?

Aquí es donde aparece la diferencia interesante: ambas guardan historia, pero lo hacen de forma distinta.

¿Qué hace una dimensión tipo 2?

La SCD tipo 2 crea un registro nuevo cada vez que cambia un atributo. Volviendo al jean, tendrás una fila que dice que fue azul y otra que dice que ahora es amarillo. Para distinguirlas usas los atributos de control: fechas de inicio y fin, o un indicador de vigencia que te dice cuál registro está activo hoy.

Es el enfoque más usado cuando el negocio necesita reconstruir el pasado tal cual ocurrió.

¿Qué hace una dimensión tipo 3?

La SCD tipo 3 también guarda historia, pero en lugar de añadir filas, añade columnas. Tendrías una columna llamada color anterior y otra color actual sobre la misma fila del producto.

Es práctica cuando solo te interesa comparar el valor previo con el actual, no toda la línea de tiempo.

¿Cuál es la diferencia entre SCD tipo 2 y tipo 3? La tipo 2 agrega un registro nuevo por cada cambio y conserva toda la historia. La tipo 3 agrega una columna nueva y solo guarda el valor anterior y el actual.

¿Cómo eliges el tipo de dimensión correcto para tu modelo?

La elección depende de qué tanto pesa la historia en tu análisis y de cómo se comportan los atributos de cada dimensión.

  • Usa tipo 1 cuando los cambios son correcciones o no necesitas trazabilidad.
  • Usa tipo 2 cuando necesitas reconstruir el estado de la dimensión en cualquier punto del tiempo.
  • Usa tipo 3 cuando solo te importa comparar el valor anterior con el actual.

En la próxima clase profundizaremos en la dimensión tipo 1 con un ejemplo práctico. ¿Cuál de los tres tipos crees que se ajusta mejor al modelo en el que estás trabajando? Cuéntame en los comentarios.