Inicio / Power BI / Power BI: Dashboards e Informes Profesionales / Modelo de Datos y Relaciones

Modelo de Datos y Relaciones

Diseña modelos estrella, crea relaciones, tabla de calendario y jerarquías para un modelo de datos sólido.

Intermedio
🔒 Solo lectura
📖

Estás en modo lectura

Puedes leer toda la lección, pero para marcar progreso, hacer ejercicios y ganar XP necesitas una cuenta Pro.

Desbloquear por $9/mes

Modelo de Datos y Relaciones

El modelo de datos es el corazón de Power BI. Define cómo se conectan las tablas entre sí y determina cómo fluyen los filtros en tus visualizaciones.

¿Qué es un modelo de datos?

Un modelo de datos es un conjunto de tablas relacionadas que representan la realidad del negocio. En Power BI, el modelo define:

  • Qué tablas existen.
  • Cómo se relacionan (claves primarias y foráneas).
  • En qué dirección fluyen los filtros.

Esquema Estrella (Star Schema)

El patrón más recomendado para Power BI es el esquema estrella:

         ┌──────────┐
         │ DimFecha │
         └────┬─────┘
              │
┌──────────┐  │  ┌───────────┐
│DimProducto├──┼──┤FactVentas │
└──────────┘  │  └─────┬─────┘
              │        │
         ┌────┴─────┐  │
         │DimCliente│──┘
         └──────────┘
  • Tabla de hechos (Fact): Contiene las métricas numéricas (ventas, cantidades, montos). Tiene muchas filas.
  • Tablas de dimensión (Dim): Contienen los atributos descriptivos (nombres, categorías, fechas). Tienen pocas filas.

Crear relaciones

En la Vista de Modelo, arrastra un campo de una tabla a otra para crear la relación:

Productos.ID ──── Ventas.ProductoID
Clientes.ID  ──── Ventas.ClienteID
Fecha.Fecha  ──── Ventas.FechaVenta

Propiedades de las relaciones

Cardinalidad

Tipo Descripción Ejemplo
1:M (Uno a muchos) Lo más común. Una fila en la dimensión se relaciona con muchas en la tabla de hechos Un producto → muchas ventas
1:1 (Uno a uno) Cada fila tiene exactamente una coincidencia Empleado → detalle de nómina
M:M (Muchos a muchos) Requiere tabla puente. Úsalo con cuidado Estudiante ↔ Curso

Dirección del filtro cruzado

Producto ──(1:M)──► Ventas
    │                    
    ▼ Filtro fluye en esta dirección
  • Single (Unidireccional): El filtro va de la dimensión a la tabla de hechos. Recomendado.
  • Both (Bidireccional): El filtro va en ambas direcciones. Puede causar ambigüedad; evítalo cuando sea posible.

Tabla de fechas

Toda base de análisis temporal necesita una tabla de fechas (calendario) dedicada:

Calendario = 
ADDCOLUMNS(
    CALENDARAUTO(),
    "Año", YEAR([Date]),
    "Mes", FORMAT([Date], "MMMM"),
    "MesNumero", MONTH([Date]),
    "Trimestre", "Q" & FORMAT([Date], "Q"),
    "DiaSemana", FORMAT([Date], "dddd"),
    "DiaSemanaNum", WEEKDAY([Date], 2),
    "AñoMes", FORMAT([Date], "YYYY-MM")
)

Márcala como tabla de fechas en Power BI: clic derecho sobre la tabla → Marcar como tabla de fechas.

Relaciones inactivas

Power BI solo permite una relación activa entre dos tablas. Si necesitas más (por ejemplo, FechaVenta y FechaEnvío apuntando a la misma tabla de calendario), la segunda será inactiva.

Para usarla en DAX:

Ventas por Envío = 
CALCULATE(
    SUM(Ventas[Monto]),
    USERELATIONSHIP(Ventas[FechaEnvío], Calendario[Date])
)

Roles de datos

Puedes asignar categorías de datos a columnas para mejorar las visualizaciones:

  • Categoría geográfica: País, Estado, Ciudad, Latitud, Longitud.
  • URL de imagen: Para mostrar imágenes en tablas.
  • URL web: Para crear enlaces clickeables.

Jerarquías

Crea jerarquías para navegación drill-down:

Geografía:
  └── País
       └── Estado
            └── Ciudad

Tiempo:
  └── Año
       └── Trimestre
            └── Mes
                 └── Día

En las visualizaciones, puedes hacer drill-down/drill-up por los niveles de la jerarquía.

Errores comunes en el modelo

Error Problema Solución
Relaciones M:M sin tabla puente Resultados incorrectos Crear tabla puente
Filtros bidireccionales innecesarios Rendimiento y ambigüedad Usar unidireccional
Tabla de hechos como filtro de dimensión Modelo invertido Reestructurar con star schema
Sin tabla de fechas Time Intelligence no funciona Crear tabla calendario
Columnas de fecha como texto No hay jerarquía temporal Convertir a tipo Date

Resumen

Un buen modelo de datos usa esquema estrella con tablas de hechos y dimensiones claras. Las relaciones definen cómo fluyen los filtros. Siempre crea una tabla de fechas dedicada y prefiere relaciones unidireccionales 1:M.

🔒

Ejercicio práctico disponible

Diseña un modelo estrella con relaciones

Desbloquear ejercicios
// Diseña un modelo estrella con relaciones
// Desbloquea Pro para acceder a este ejercicio
// y ganar +50 XP al completarlo

function ejemplo() {
    // Tu código aquí...
}

¿Te gustó esta lección?

Con Pro puedes marcar progreso, hacer ejercicios, tomar quizzes, ganar XP y obtener tu constancia.

Ver planes desde $9/mes