Power BI

Esquema estrella en Power BI: cómo modelar tus datos

Aprende cómo funciona el esquema estrella en Power BI: tablas de hechos y dimensiones, por qué mejora el rendimiento y cómo convertir una tabla plana.

Por Equipo editorial de DashCore HubActualizado 7 min de lectura

El esquema estrella es la forma recomendada de modelar datos en Power BI: una tabla de hechos central con los números que mides, rodeada de tablas de dimensiones que los describen (fechas, productos, clientes, tiendas). Hace que los informes sean más rápidos, que el DAX sea más sencillo y que los números sean más confiables. En esta guía te explicamos la idea en lenguaje claro y te mostramos, paso a paso, cómo convertir una hoja plana en un esquema estrella.

¿Qué es un esquema estrella?

Imagina una estrella. En el centro está la tabla de hechos, por ejemplo Sales, con una fila por transacción o línea de pedido. Cada fila tiene valores numéricos (importe, cantidad, costo) y claves que apuntan a las dimensiones. Alrededor, cada tabla de dimensión tiene una fila por elemento: una por producto, una por cliente, una por día.

Las relaciones conectan cada dimensión con la tabla de hechos, casi siempre de uno a varios: un producto aparece en muchas ventas. Cuando filtras la tabla Product por "Bebidas", ese filtro baja por la relación hasta la tabla Sales y todas las medidas responden.

Tabla de hechosTabla de dimensión
Qué guardaEventos y números (ventas, pedidos, visitas)Descripciones (quién, qué, dónde, cuándo)
Cantidad de filasMuchas, suele crecer todos los díasMenos, cambia poco
Columnas típicasClaves, importes, cantidadesClave, nombre, categoría, región, atributos
Se usa en visuales paraMedidas (sumas, conteos, promedios)Segmentaciones, ejes, filas, filtros
EjemploSales, Inventory, BudgetDate, Product, Customer, Store

Por qué a Power BI le encanta el esquema estrella

  • Rendimiento. El motor VertiPaq comprime muy bien los valores repetidos. Sacar columnas largas de texto, como el nombre del producto, de una tabla de hechos con millones de filas y llevarlas a una dimensión pequeña ahorra memoria y acelera las consultas.
  • DAX más simple. Medidas como SUM ( Sales[Amount] ) funcionan sin trucos porque los filtros fluyen de forma natural de las dimensiones a los hechos. Muchos problemas de "DAX complicado" desaparecen con un mejor modelo.
  • Filtros consistentes. Una sola tabla Date puede filtrar Sales, Budget e Inventory al mismo tiempo, así puedes comparar real contra presupuesto en un solo visual.
  • Más fácil para los usuarios. La lista de campos queda ordenada: los campos descriptivos en las dimensiones y las medidas en un solo lugar.

La propia guía de Microsoft para Power BI recomienda el diseño en esquema estrella, y es un tema central del examen PL-300.

Tabla plana vs. esquema estrella: un ejemplo rápido

Imagina una exportación de tu sistema de ventas con estas columnas en una sola tabla grande: OrderID, OrderDate, CustomerID, CustomerName, City, State, ProductID, ProductName, Category, Brand, Quantity, Amount. Sirve para una tabla dinámica rápida, pero cada nombre de producto y cada ciudad se repiten en miles de filas, y agregar una segunda tabla de hechos (como un presupuesto) se vuelve un dolor de cabeza.

En un esquema estrella, los mismos datos quedan así:

  • Sales (hechos): OrderID, OrderDate, CustomerID, ProductID, Quantity, Amount
  • Customer (dimensión): CustomerID, CustomerName, City, State
  • Product (dimensión): ProductID, ProductName, Category, Brand
  • Date (dimensión): Date, Year, Quarter, Month, Weekday

Cómo crear un esquema estrella en Power BI, paso a paso

  1. Identifica los hechos. Pregúntate "¿qué estoy midiendo?". Casi siempre son las transacciones: líneas de venta, pedidos, tickets. Define la granularidad, es decir, qué representa una fila (por ejemplo, un producto dentro de un pedido).
  2. Identifica las dimensiones. Pregúntate "¿cómo lo quieren analizar?". Por fecha, producto, cliente, tienda, vendedor. Cada respuesta es una posible dimensión.
  3. Crea las consultas de dimensión en Power Query. Haz clic derecho en tu consulta plana y elige Referencia. En la nueva consulta, deja solo las columnas de la dimensión y quita duplicados en la columna clave.
  4. Recorta la tabla de hechos. En la consulta original, elimina las columnas descriptivas que pasaste a las dimensiones y deja solo claves y columnas numéricas.
  5. Agrega una tabla de fechas. Crea un calendario continuo y márcalo como tabla de fechas.
  6. Crea las relaciones. En la vista de modelo, arrastra la clave de cada dimensión sobre la clave correspondiente en los hechos. Confirma que sea de uno a varios con dirección de filtro única.
  7. Oculta las claves y escribe medidas. Oculta las columnas clave de la tabla de hechos para que los usuarios filtren con los campos de las dimensiones, y luego crea medidas explícitas.

Así se ve el paso 3 en M para la dimensión Product:

let
    Source = SalesFlat,
    KeepCols = Table.SelectColumns(Source, {"ProductID", "ProductName", "Category", "Brand"}),
    Product = Table.Distinct(KeepCols, {"ProductID"})
in
    Product

Y algunas medidas base que viven en la tabla de hechos:

Total Sales = SUM ( Sales[Amount] )

Units Sold = SUM ( Sales[Quantity] )

Customers = DISTINCTCOUNT ( Sales[CustomerID] )

Avg Order Value = DIVIDE ( [Total Sales], DISTINCTCOUNT ( Sales[OrderID] ) )
Consejo: Si tu origen es una base de datos, haz este trabajo desde allá. Una vista SQL por cada dimensión y otra por cada tabla de hechos mantiene Power Query sencillo y acelera las actualizaciones. Nuestra guía de SQL para Power BI te enseña cómo.

Claves, granularidad y dimensiones con varios roles

Algunos detalles de modelado marcan la diferencia entre un esquema estrella que "más o menos funciona" y uno en el que puedes confiar.

Cada dimensión necesita una clave única

La columna clave del lado "uno" de una relación debe ser única. Si dos filas de Product comparten el mismo ProductID, Power BI no te dejará crear una relación de uno a varios o la convertirá en varios a varios, y tus totales pueden duplicarse. Quitar duplicados en Power Query es la solución habitual, pero pregúntate también por qué existen: a veces un producto cambió de nombre y el origen guarda ambas versiones.

Maneja a propósito las claves que faltan

Si una venta tiene un ProductID que no existe en la tabla Product, Power BI la agrupa en una fila en blanco. En lugar de esconder el problema, agrega una fila "Desconocido" a la dimensión o corrige el origen para que esas ventas queden visibles y se puedan explicar.

Una tabla de fechas, varias columnas de fecha

Una tabla de hechos puede tener fecha de pedido, fecha de envío y fecha de vencimiento. Eso es una dimensión con varios roles. Crea una relación activa (normalmente la fecha de pedido) y relaciones inactivas para las demás, y actívalas dentro de las medidas con USERELATIONSHIP. Otra opción es cargar una segunda copia de la tabla de fechas si los usuarios necesitan filtrar por ambas fechas a la vez.

Errores comunes con el esquema estrella

Copo de nieve en exceso

Un esquema de copo de nieve divide aún más las dimensiones, por ejemplo Producto, Subcategoría y Categoría, cada una en su propia tabla. Es válido, pero en Power BI suele agregar relaciones sin mucho beneficio. Aplana esas cadenas en una sola dimensión Product, salvo que tengas un motivo concreto para no hacerlo.

Usar filtros bidireccionales para "arreglar" todo

Cuando un visual no filtra como esperas, es tentador poner las relaciones en Ambas. Eso puede crear ambigüedad y hacer más lento el informe. Casi siempre la solución real es una dimensión que falta o una medida que debería manejar esa lógica. Lee más en nuestra guía de cardinalidad y dirección del filtro.

Mezclar granularidades en una tabla de hechos

Las ventas diarias y el presupuesto mensual deben estar en tablas de hechos separadas, ambas conectadas a dimensiones compartidas. Si las fuerzas en una sola tabla, terminarás con números duplicados o faltantes.

Dejar columnas descriptivas en la tabla de hechos

Si ves nombres, categorías o direcciones en la tabla de hechos, probablemente pertenecen a una dimensión.

Atajo con IA: Pega tu lista de columnas en un asistente de IA y pídele que proponga un modelo. Prompt de ejemplo: "Estas son las columnas de mi exportación plana de ventas: OrderID, OrderDate, CustomerID, CustomerName, City, State, ProductID, ProductName, Category, Brand, Quantity, Amount. Propón un esquema estrella para Power BI: indica la tabla de hechos, cada dimensión con su clave, la granularidad de los hechos y las relaciones. Luego escribe el código M de Power Query para crear la dimensión Customer." Revisa bien la granularidad; ahí es donde la IA se equivoca con más frecuencia.

Próximos pasos

Toma un informe que ya tengas construido sobre una sola tabla plana y rehazlo como esquema estrella siguiendo los siete pasos anteriores. Compara la lista de campos, el DAX y el tamaño del archivo antes y después. Con un modelo limpio, la inteligencia de tiempo se vuelve mucho más fácil, así que continúa con nuestra guía de inteligencia de tiempo en DAX.

Mira: lecciones en video

Estructura tus datos correctamente: modelo en estrella Power BIpor datdata · Ver en YouTube ↗
Learn Data Modelling & Star Schema for Power BI in 20 minutespor Chandoo · Ver en YouTube ↗Video en inglés — activa los subtítulos traducidos en YouTube si los necesitas.

Preguntas frecuentes

¿Qué diferencia hay entre una tabla de hechos y una de dimensión?

La tabla de hechos guarda eventos y números, como importes y cantidades de venta, y tiene muchas filas. La tabla de dimensión describe esos eventos, como productos, clientes o fechas, y se usa para filtrar y agrupar.

¿Es obligatorio usar esquema estrella en Power BI?

No es obligatorio, pero es el diseño recomendado. Las tablas planas sirven para informes pequeños y simples, pero el esquema estrella escala mejor, rinde mejor y mantiene el DAX más sencillo.

¿Uso esquema estrella o copo de nieve en Power BI?

En la mayoría de los casos conviene el esquema estrella. Las dimensiones en copo de nieve agregan relaciones extra y normalmente se pueden aplanar en una sola tabla en Power Query.

¿Cuántas tablas de hechos puede tener un modelo de Power BI?

Las que necesites. Cada tabla de hechos se conecta a dimensiones compartidas como Date y Product, lo que te permite compararlas, por ejemplo ventas reales contra presupuesto.

¿Aprendes con la Academia?
Marca esta lección como completada para seguir tu progreso.
Hacer el quiz