2.2Esquema estrella: hechos y dimensiones
Lo esencial en 30 segundos
- Hechos = lo que se mide (ventas, pedidos: muchas filas, importes); dimensiones = por lo que se analiza (productos, clientes, fechas: rótulos).
- El esquema estrella coloca la tabla de hechos en el centro y las dimensiones alrededor, vinculadas en 1:* — es LA regla de arquitectura de Power BI.
- No es estética: la estrella hace el DAX más simple, el rendimiento mejor y los informes más fiables; la tabla única es un antimodelo.
Mini-caso continuo — Zineb rompe su tabla única en estrella
Zineb, controladora de gestión en una pyme agroalimentaria de Argel, ha amontonado todo en una sola tabla grande «Ventas»: ciudad, comercial, producto e importes mezclados. Aplica la regla: distingue los hechos (importe, cantidad) de las dimensiones (ciudad, comercial, producto), y luego fabrica en Power Query la dimensión Comerciales (duplicar la consulta, quedarse con la columna, eliminar los duplicados) y lo mismo con Ciudades y Productos. En los hechos, solo conserva las claves y las medidas, vincula cada dimensión en 1:* y dispone su estrella en la vista Modelo. Anota el reflejo: definir y mantener la granularidad (una fila = una venta, en todas partes).
Caso autónomo de esta sección: reaparece en el curso, el esquema, el guion y el reto de 48 h de la sección 2.2.
1. Hechos y dimensiones
El esquema estrella es LA regla de arquitectura de Power BI, martilleada por Microsoft: en el centro, la tabla de hechos (los acontecimientos medibles — ventas, pedidos; muchas filas, importes); alrededor, las dimensiones (los ejes de análisis — productos, clientes, fechas; pocas filas, rótulos). Cada dimensión apunta a los hechos en uno a varios: el dibujo forma una estrella. Zineb retiene la frase clave: hechos = lo que se mide; dimensiones = por lo que se analiza.
2. Por qué la estrella
No es estética: la estrella hace el DAX más simple, el rendimiento mejor y los informes más fiables. Al contrario, la tabla única — todo en una tabla grande — «funciona» al principio, y luego el DAX y el rendimiento se degradan. Zineb invierte una hora de modelado que le ahorrará días.
3. Fabricar las dimensiones
Una dimensión tiene una fila por elemento, sin duplicado; Power Query las fabrica en tres clics (duplicar la consulta, quedarse con la columna, eliminar los duplicados). También se define la granularidad de los hechos — una fila = una venta, en todas partes — y nunca se mezcla. Zineb solo conserva en los hechos las claves hacia las dimensiones y las medidas.
🔎 Ejemplo concreto — 🔎 Ejemplo concreto — Crear una dimensión
Zineb extrae la dimensión Comerciales en tres clics:
En Power Query, a partir de Ventas:
duplicar la consulta → quedarse con Comercial → Eliminar los duplicados
→ dimensión Comerciales (una fila por comercial)
Hechos: solo conservar las claves + medidas; vincular en 1:*.
Lectura: una dimensión = una fila por elemento (un comercial una vez), sin duplicado.
Lección: las dimensiones se fabrican en Power Query, no se introducen a mano.
Vocabulario de la sección
- Tabla de hechos
- Los acontecimientos que medir: una fila = una transacción, con las claves hacia las dimensiones y los valores numéricos.
Ejemplo sencillo: Zineb conserva la tabla Ventas con los importes y las claves.
Lo que no es: un catálogo de rótulos sin acontecimiento.
Reflejo: muchas filas + importes → hechos.
- Tabla de dimensión
- Un eje de análisis: una fila = un elemento único, con sus atributos descriptivos.
Ejemplo sencillo: Zineb fabrica las dimensiones Productos, Ciudades y Comerciales.
Lo que no es: acontecimientos repetidos con importes.
Reflejo: rótulos + una fila por elemento → dimensión.
- Esquema estrella
- Hechos en el centro, dimensiones alrededor, relaciones 1:*: la arquitectura de referencia de los modelos Power BI.
Ejemplo sencillo: Zineb dispone Ventas en el centro y sus dimensiones alrededor.
Lo que no es: todo en una sola tabla grande.
Reflejo: modelar → pensar en estrella.
- Granularidad
- El nivel de detalle de una fila de hechos (¿la venta? ¿la línea de pedido? ¿el día?).
Ejemplo sencillo: Zineb decide: una fila = una venta, en todas partes.
Lo que no es: filas con niveles de detalle mezclados.
Reflejo: definir la granularidad conscientemente y mantenerla.
- Tabla única (antimodelo)
- Todo en una sola tabla grande: «funciona» al principio, y luego el DAX y el rendimiento se degradan.
Ejemplo sencillo: Zineb rompe su tabla única para transformarla en estrella.
Lo que no es: hechos rodeados de dimensiones vinculadas.
Reflejo: tabla única = deuda que saldar rápido.
En la práctica — En la práctica — Remodelar sus ventas en estrella
- Analice su tabla de ventas: ¿qué columnas son HECHOS (importe, cantidad) y cuáles describen DIMENSIONES (ciudad, comercial, producto)?
- En Power Query, cree la dimensión Comerciales: duplique la consulta Ventas → quédese con la columna Comercial → Eliminar los duplicados. Haga lo mismo con Ciudades si es pertinente.
- En la tabla de hechos, solo conserve las claves y las medidas; vincule cada dimensión en 1:*.
- Vista Modelo: disponga los hechos en el centro, las dimensiones alrededor — su primera estrella. Compruebe que un visual Comercial × Importe sigue funcionando.
Guion paso a paso — construir una estrella como Zineb (10 min)
1) Enumere sus columnas y clasifíquelas: importes/cantidades = hechos, rótulos = dimensiones. 2) Duplique la consulta Ventas en Power Query, quédese con la columna Comercial, elimine los duplicados: la dimensión Comerciales está creada. 3) Repita para Ciudades y Productos. 4) En Ventas, solo conserve las claves y las medidas. 5) Vista Modelo: hechos en el centro, dimensiones alrededor, cada enlace en 1:*; luego compruebe un visual Comercial × Importe.
Una dimensión debe tener una fila por elemento: si subsiste un duplicado, el 1:* se rechazará.
Plantilla copiar-pegar — mi plan de estrella
Hechos (lo que se mide): ___ (ej. Ventas: importe, cantidad — claves + medidas)
Dimensiones (por lo que se analiza): ___ (Productos, Ciudades, Comerciales, Fechas)
Granularidad de los hechos: una fila = ___ (ej. una venta), en todas partes
Cada dimensión → hechos en 1:*
Estrella: hechos en el centro, dimensiones alrededor. Antimodelo: la tabla única.
Extraer Comerciales
Zineb duplica Ventas, se queda con Comercial y elimina los duplicados: una dimensión limpia en tres clics.
Extraer Ciudades
Zineb repite la extracción para Ciudades: cada eje de análisis se vuelve una dimensión distinta.
Romper la tabla única
Una sola tabla grande lo mezclaba todo: Zineb la separa en hechos + dimensiones para un DAX simple.
Mantener la granularidad
Zineb fija una fila = una venta y se atiene a ello: los acumulados y ratios siguen siendo fiables.
✓ Buenas prácticas
- Pensar hechos = lo que se mide, dimensiones = por lo que se analiza.
- Fabricar las dimensiones en Power Query (duplicar → quedarse con la columna → eliminar los duplicados).
- Definir y mantener la granularidad de los hechos (una fila = una venta, en todas partes).
✗ Errores frecuentes
- Quedarse en tabla única (el DAX y el rendimiento se degradan).
- Mezclar las granularidades en la tabla de hechos.
- Dejar duplicados en una dimensión.
Puntos clave
- Hechos = lo que se mide; dimensiones = por lo que se analiza.
- La estrella no es opcional: DAX simple, rendimiento y fiabilidad dependen de ella.
- Una dimensión = una fila por elemento, sin duplicados — Power Query las fabrica en tres clics.
- Defina la granularidad de los hechos y manténgala: una fila = una venta, en todas partes.
Reto de 48 h — aplíquelo mañana
Remodele una tabla de Zineb en estrella: clasifique sus columnas en hechos y dimensiones, cree al menos una dimensión en Power Query (duplicar → quedarse con la columna → eliminar los duplicados) y disponga hechos en el centro y dimensiones alrededor en la vista Modelo.
- Distingo una tabla de hechos de una tabla de dimensión.
- Fabrico una dimensión en Power Query sin duplicado.
- Dispongo hechos y dimensiones en estrella con relaciones 1:*.
Preguntas frecuentes
Mi tabla única funciona muy bien: ¿por qué cambiar?
Funciona hasta los primeros cálculos sofisticados (inteligencia de tiempo, ratios por dimensión) y los primeros millones de filas. Una tabla única complica el DAX, degrada el rendimiento y fragiliza los informes (riesgos de doble conteo). La estrella cuesta una hora ahora y ahorra días después — el consejo unánime de los profesionales y de Microsoft.
¿Dónde va la tabla de fechas en este esquema?
Es una dimensión por derecho propio — tan importante que tiene su sección (2.5): vinculada a los hechos por la fecha (Fechas[Fecha] → Ventas[Fecha] en 1:*), alimenta todo el análisis temporal. Debe ser continua (una fila por día), marcada oficialmente y única para todo el modelo.
¿Qué es el esquema estrella?