Skip to content

Dimensión de cambio lento (SCD)

Una dimensión de cambio lento (SCD) es una tabla de dimensión cuyos valores cambian de vez en cuando. Su tipo dice cómo se guarda el cambio: sobrescribir (tipo 1) o guardar cada versión (tipo 2).

Selecciona cualquier frase de aquí para preguntarle a tu Maestro.

En julio, el cold brew pasa de la categoría Café a una nueva, Listo para tomar. Tu dim_product es tipo 1: sobrescribe la categoría. En octubre vuelves a correr el reporte de enero a junio que mandaste en junio. ¿Qué pasa con las ventas de Café?

Una cadena de cafeterías. En julio, el cold brew pasa de Café a una categoría nueva, Listo para tomar. Datos de ejemplo.

Qué es: las tablas de dimensión de un esquema de estrella describen clientes, productos o tiendas, y esas descripciones cambian: alguien se muda, un producto cambia de categoría. Una dimensión de cambio lento es una de esas tablas, y su tipo es la regla para guardar los cambios.

Los tipos: el tipo 1 sobrescribe el valor y pierde la historia. El tipo 2 agrega un renglón por versión, con fechas de inicio y fin, y conserva la historia. El tipo 3 guarda el valor anterior en otra columna.

Cómo se construye: en un almacén de datos, con SQL en el proceso ETL. En dbt, los snapshots arman tablas tipo 2 por ti.

Así se usa

Un renglón por versión

dim_product (tipo 2)

  1. product_key | product_id | category | valid_from | valid_to
  2. 1041 | P-88 | Café | 2024-03-01 | 2026-06-30La versión vieja: termina el día antes del cambio.
  3. marcado: 2213 | P-88 | Listo para tomar | 2026-07-01 | 9999-12-31La versión actual; 9999-12-31 quiere decir que sigue vigente.
Cada venta guarda el product_key de la versión que estaba vigente ese día, así que las de antes de julio apuntan a 1041 y se quedan en Café.

Cuándo mirar más de cerca

Unir por la llave equivocada

Ventas unidas a dim_product

  1. marcado: dim_product tiene dos renglones para P-88, el cold brew

Tu dim_product tipo 2 tiene dos renglones para el cold brew. Unes las ventas por product_id. ¿Qué les pasa a las ventas de cold brew?

Pregúntale a tu Maestro sobre Dimensión de cambio lento

Te responde desde la página gratis más cercana a esta palabra, igual que mientras estudias.

Ejemplo

Tú: ¿Qué quiere decir "Dimensión de cambio lento", en palabras sencillas?

Tu Maestro: Te lo explico con un caso tuyo, que se queda mejor que una definición. ¿Qué dato de tus clientes o productos cambia con el tiempo?

Pregunta sobre: Responde desde la página "¿Qué reviso en una tabla antes de limpiarla? Haz el inventario de problemas"

Solo este navegador guarda lo que preguntas aquí. ¿Cómo funciona?

Para saber más

  • Esquema de estrella

    Un esquema de estrella acomoda los datos para analizar: una tabla de hechos con eventos, como ventas, al centro, unida por llaves a tablas de dimensiones (cliente, producto, fecha) que los describen.

  • Almacén de datos (data warehouse)

    Un almacén de datos (data warehouse) es una base de datos hecha para analizar: junta los datos de muchos sistemas en un solo lugar, guarda su historia y los acomoda para consultarlos.

  • dbt (data build tool)

    dbt (data build tool) convierte consultas SELECT de SQL en tablas o vistas de tu almacén de datos, las corre en orden y prueba los resultados: dbt run construye los modelos y dbt test los revisa.

  • ETL (extraer, transformar, cargar)

    ETL (extraer, transformar, cargar) copia datos de los sistemas donde nacen, los limpia y les da forma, y los carga en un almacén de datos para analizarlos juntos.

Todo el glosario