Ir al contenido
Jossua Servicios
Power BI

Modelo estrella en Power BI: cómo organizar tus tablas para que los totales cuadren

Qué son las tablas de hechos y de dimensiones, cómo separar una tabla única en un modelo estrella con Power Query y cómo crear relaciones correctas en Power BI.

Por Jossua4 de noviembre de 20264 min de lectura
Diagrama de modelo estrella con la tabla Ventas al centro y las tablas Clientes, Productos, Calendario y Vendedores alrededor

Muchos informes de Power BI empiezan con una sola tabla gigante importada desde Excel: cada venta repite el nombre del cliente, su ciudad, el producto, la categoría y el precio. Funciona al principio, pero pronto aparecen los problemas: totales que no cuadran, filtros que no se aplican y un archivo cada vez más lento. La solución tiene nombre: modelo estrella.

Qué es un modelo estrella

Es una forma de organizar tus datos en dos tipos de tablas:

  • Tabla de hechos: los eventos que mides. Una fila por venta, por pago o por movimiento de inventario. Tiene fechas, códigos y números (cantidad, importe, costo).
  • Tablas de dimensiones: las descripciones de esos eventos. Clientes, Productos, Vendedores, Sucursales, Calendario. Una fila por cada cliente, cada producto, cada día.

La tabla de hechos queda en el centro y las dimensiones alrededor, unidas por relaciones. Visto en la vista de modelo de Power BI, el dibujo parece una estrella: de ahí el nombre.

Un ejemplo concreto

Imagina que tu tabla única de ventas tiene estas columnas:

Fecha | N.º factura | Cód. cliente | Cliente | Ciudad | Cód. producto | Producto | Categoría | Cantidad | Precio | Total

En un modelo estrella la separas así:

Tabla Tipo Columnas
Ventas Hechos Fecha, N.º factura, Cód. cliente, Cód. producto, Cantidad, Total
Clientes Dimensión Cód. cliente, Cliente, Ciudad, Tipo de cliente
Productos Dimensión Cód. producto, Producto, Categoría, Precio de lista
Calendario Dimensión Fecha, Año, Mes, Nombre del mes, Trimestre, Día de la semana

La tabla de ventas se queda solo con códigos y números. Todo lo descriptivo vive una sola vez en su dimensión.

Por qué vale la pena

  • Totales correctos: cada filtro viaja desde la dimensión hacia los hechos por un solo camino, sin ambigüedades.
  • Archivos más livianos: el nombre “Distribuidora del Pacífico” se guarda una vez y no en cada una de sus 4.000 facturas.
  • Medidas DAX más simples: funciones como CALCULATE y la inteligencia de tiempo están pensadas para este diseño.
  • Escalable: si mañana agregas una tabla de Presupuesto o de Compras, se conecta a las mismas dimensiones y puedes comparar ventas contra presupuesto por producto y mes.

Cómo construirlo paso a paso en Power BI

1. Importa la tabla original

Conecta tu Excel con Obtener datos → Libro de Excel y entra en Transformar datos. Llama a la consulta Origen_Ventas.

2. Crea la dimensión Clientes

  1. Clic derecho sobre Origen_Ventas → Referencia. Se crea una consulta nueva que parte de la original.
  2. Conserva solo Cód. cliente, Cliente y Ciudad (selecciónalas → Quitar otras columnas).
  3. Selecciona Cód. cliente → Quitar filas → Quitar duplicados.
  4. Renombra la consulta como Clientes.

3. Repite para Productos

Mismo procedimiento con Cód. producto, Producto y Categoría. Quita duplicados por código.

4. Deja la tabla de hechos limpia

Crea otra referencia de Origen_Ventas, llámala Ventas y conserva solo Fecha, N.º factura, los códigos y los números. Haz clic derecho en Origen_Ventas y desmarca Habilitar carga: así no se carga dos veces en el modelo.

5. Crea la tabla Calendario

En la vista de datos, Modelado → Nueva tabla:

Calendario =
ADDCOLUMNS (
    CALENDARAUTO (),
    "Año", YEAR ( [Date] ),
    "Mes", MONTH ( [Date] ),
    "Nombre del mes", FORMAT ( [Date], "mmmm" ),
    "Trimestre", "T" & QUARTER ( [Date] )
)

Luego, con la tabla seleccionada, usa Herramientas de tabla → Marcar como tabla de fechas y elige la columna de fecha. Dedicaremos un artículo completo a la tabla calendario.

6. Crea las relaciones

Ve a la vista de modelo y arrastra:

  • Clientes[Cód. cliente] hacia Ventas[Cód. cliente]
  • Productos[Cód. producto] hacia Ventas[Cód. producto]
  • Calendario[Date] hacia Ventas[Fecha]

Cada relación debe quedar como uno a varios (1:*), con el “1” en la dimensión, y con dirección de filtro única (de la dimensión a los hechos). Power BI suele detectarlo solo; revísalo con doble clic sobre la línea de la relación.

Reglas de oro para que funcione

  1. Filtra siempre desde las dimensiones. En segmentaciones y ejes usa Clientes[Ciudad], no una ciudad que haya quedado en la tabla de ventas.
  2. Los números viven en los hechos y se resumen con medidas.
  3. Evita relaciones de varios a varios y filtros bidireccionales, salvo que sepas exactamente por qué los necesitas.
  4. Oculta los códigos de la tabla de hechos (clic derecho → Ocultar en la vista de informe). Así nadie los usa por error en un gráfico.

Errores típicos

  • “La relación no se puede crear porque ambas columnas tienen valores duplicados”: tu dimensión tiene códigos repetidos. Vuelve a Power Query y quita duplicados.
  • El gráfico muestra el mismo valor para todos los productos: falta la relación o la columna del eje viene de una tabla no relacionada.
  • Aparece una fila “(en blanco)”: hay ventas con un código que no existe en la dimensión. Es una señal útil: tienes datos maestros incompletos.

Pasar de una tabla única a un modelo estrella toma una tarde la primera vez, y es la diferencia entre un informe que se rompe cada mes y uno en el que tu equipo puede confiar.

JossuaConsultor en Business Intelligence y Analítica de Datos. Manta, Ecuador.

Sigue con Power BI

Otros artículos del mismo tema.