4.2 · Power Pivot, modelo de datos e introducción a DAX

Nivel 4 · Experto: Power Query, modelo de datos y VBA

4.2Power Pivot, modelo de datos e introducción a DAX

Objetivo: Comprender el modelo de datos (relaciones entre tablas) y la idea de una medida DAX.
Tiempo estimado: 14 min · lectura autónoma · Si solo tienes 5 min: lee «Lo esencial en 30s» + el esquema.

Lo esencial en 30 segundos

  • Relacionar en lugar de aplanar: el modelo de datos (Power Pivot) relaciona varias tablas mediante relaciones sobre una clave común — una tabla dinámica bebe entonces de varias tablas como si fueran una sola.
  • DAX = cálculos centralizados: una medida (ej. SUMA(Ventas[Montant])) vive en el modelo y se recalcula según los filtros de la tabla dinámica — un solo cálculo de «facturación» para todas las tablas.
  • Reflejo de Wassim: en cuanto los BUSCARX se multiplican, es hora de modelar — y es la puerta hacia Power BI (mismos conceptos).

Mini-caso hilado — Wassim cruza ventas y productos sin un solo BUSCARX

Wassim, contable en Argel, analiza la cifra de negocio por categoría: su tabla Ventas (CodigoProducto, Montant) y su tabla Productos (CodigoProducto, Categoria) le obligaban a BUSCARX frágiles sobre miles de filas. Carga las dos tablas en el modelo, crea una relación sobre CodigoProducto y escribe una medida Total Ventas. Su tabla dinámica cruza la categoría (de Productos) y la medida — sin BUSCARX. Segundo hito del hilo conductor: la tabla Power Query de 4.1 alimenta ahora un modelo real.

Continuación del caso 4.1 — la tabla limpiada por Wassim entra en el modelo de datos.

1. Relacionar tablas en lugar de aplanarlo todo

En lugar de escribir BUSCARX para reunirlo todo en una sola tabla gigante, el modelo de datos (Power Pivot) relaciona varias tablas mediante relaciones (una clave común, ej. CodigoProducto). Una tabla dinámica puede entonces beber de varias tablas relacionadas como si fueran una sola. Es el principio de las bases de datos dentro de Excel — y Wassim gana con ello libros ligeros y fiables.

La relación exige claves del mismo tipo (texto con texto, número con número) y valores únicos en el lado principal: si no, la unión falla o produce duplicados. Se verifican los tipos desde Power Query, antes de modelar.

2. La medida DAX

DAX (Data Analysis eXpressions) es el lenguaje de cálculo del modelo. Una medida es un cálculo reutilizable y contextual: Total Ventas := SUMA(Ventas[Montant]) se recalcula según lo que se filtre en la tabla dinámica (por región, por mes…). Una medida vive en el modelo, no en una celda — todas las tablas dinámicas comparten el mismo cálculo.

No confundas medida (contextual, recalculada por filtro) con fórmula de celda (fija, local): es la contextualidad la que da la potencia al modelo de Wassim.

3. Por qué es potente

El modelo gestiona grandes volúmenes (muy por encima de una hoja), evita la duplicación (nada de BUSCARX por todas partes) y centraliza los cálculos (una medida «facturación» usada por todas las tablas dinámicas). Es el paso hacia Power BI, que se apoya en los mismos conceptos (modelo + DAX).

En la práctica: se cargan las tablas limpiadas (idealmente mediante Power Query) en el modelo con Agregar al modelo de datos, se declaran las relaciones, se escriben las medidas básicas y luego se construyen las tablas dinámicas.

Error frecuente de interpretación: «Una medida DAX es solo una fórmula en una celda, y el modelo no sirve para nada si conozco BUSCARX». No. Una medida vive en el modelo y se recalcula según el contexto de filtro de la tabla dinámica — una fórmula de celda permanece fija y local. Y apilar BUSCARX para aplanarlo todo da un libro pesado y frágil, cuando una relación hace el mismo cruce limpiamente, sobre grandes volúmenes, con cálculos centralizados.
El modelo de datos Tablas relacionadas por relaciones + medidas DAX: la lógica de las bases de datos en Excel Tablas vinculadasRelaciones por clave+Modelo de datosPower Pivot+Medidas DAXContextuales Relacionar por una clave en lugar de duplicar mediante BUSCARX.
Tablas relacionadas por relaciones + medidas DAX: la lógica de las bases de datos en Excel
Versión en texto del esquema (SEO / lectores de pantalla / traducción): 1) Wassim carga sus tablas Ventas y Productos en el modelo de datos. 2) Crea una relación sobre la clave común CodigoProducto, con tipos idénticos. 3) Escribe la medida Total Ventas que suma los importes. 4) Su tabla dinámica cruza la categoría (tabla Productos) y la medida, sin ningún BUSCARX, y el resultado sigue los filtros. Lección: modelar por relaciones, centralizar en medidas, analizar en tabla dinámica.

¿Lo sabías?

Una tabla dinámica conectada a un modelo puede cruzar millones de filas sin que ninguna se muestre en una hoja.
Verdadero: el modelo almacena y calcula en segundo plano — la hoja solo muestra el resultado.

La tabla dinámica es solo el escaparate; el modelo es la tienda.

🔎 Ejemplo concreto — 🔎 Ejemplo concreto — Una tabla dinámica sobre dos tablas relacionadas

Tabla Ventas (CodigoProducto, Montant) relacionada con Productos (CodigoProducto, Categoria):

Relación: Ventas[CodigoProducto] → Productos[CodigoProducto]
Medida   : Total Ventas := SUM(Ventas[Montant])
Tabla dinámica: Categoria (de Productos) en Filas, [Total Ventas] en Valores
→ Facturación por categoría SIN ningún BUSCARX

// Variante: facturación de Argel únicamente
CA Argel := CALCULATE(SUM(Ventas[Montant]), Ventas[Ciudad] = "Argel")

Lectura: la tabla dinámica cruza dos tablas gracias a la relación, y la medida sigue los filtros.

Lección: se modela (relaciones) en lugar de aplanar a base de BUSCARX.

Vocabulario de la sección

Modelo de datos
Conjunto de tablas relacionadas por relaciones, almacenadas en el libro.

Ejemplo sencillo: Wassim carga en él Ventas y Productos para cruzarlas en la tabla dinámica.

Lo que no es: una sola tabla gigante aplanada a base de BUSCARX.

Reflejo: varias tablas que cruzar de forma duradera: cargarlas en el modelo.

Relación
Vínculo entre dos tablas mediante una clave común (ej. CodigoProducto), de tipos idénticos.

Ejemplo sencillo: Wassim relaciona Ventas y Productos por CodigoProducto.

Lo que no es: una fórmula que copia un valor línea a línea.

Reflejo: cruzar dos tablas: declarar la relación sobre la clave.

Medida DAX
Cálculo reutilizable y contextual que se adapta a los filtros de la tabla dinámica.

Ejemplo sencillo: El Total Ventas de Wassim se recalcula por mes y por ciudad.

Lo que no es: una fórmula de celda fija y local.

Reflejo: cálculo compartido por varias tablas dinámicas: escribir una medida.

Contexto de filtro
Lo que está filtrado en la tabla dinámica y condiciona el resultado de una medida.

Ejemplo sencillo: Filtrar por Argel recalcula automáticamente la facturación de Wassim.

Lo que no es: un valor fijo independiente de los filtros.

Reflejo: medida sorpresa: verificar primero los filtros activos.

En la práctica — En práctica — Relacionar dos tablas

  1. Carga dos tablas (Ventas, Productos) en el modelo de datos.
  2. Crea una relación sobre la clave común (CodigoProducto).
  3. Crea una medida simple: Total Ventas := SUM(Ventas[Montant]).
  4. Haz una tabla dinámica que cruce una columna de Productos y la medida, sin BUSCARX.
Cruzas varias tablas mediante relaciones y calculas con una medida DAX.

Guion listo para decir — explicar el modelo a un compañero (30 s)

«Soy Wassim: en lugar de copiar las categorías con BUSCARX, relacioné las dos tablas por el código de producto. La tabla dinámica cruza directamente las tablas, y mi medida de la cifra de negocio se recalcula según los filtros. Un solo cálculo para todas las tablas — y prepara Power BI.»

Decirlo cuando alguien proponga «otra columna más de BUSCARX»: muestra la tabla dinámica multi-tabla.

Plantilla para copiar y pegar — Medidas DAX básicas

Total Ventas := SUM(Ventas[Montant])
Nb Ventas := COUNTROWS(Ventas)
Ticket Medio := DIVIDE([Total Ventas], [Nb Ventas])
CA Argel := CALCULATE(SUM(Ventas[Montant]), Ventas[Ciudad] = "Argel")

Facturación por categoría

Como Wassim: relación Ventas-Productos por CodigoProducto, tabla dinámica con categoría en filas y medida en valores.

Seguimiento por ciudad

Filtrar la tabla dinámica por Argel: la misma medida se recalcula sin nueva fórmula.

Grandes volúmenes

Cientos de miles de filas: el modelo las absorbe donde la hoja se satura.

Claves de tipos distintos

Fallo de relación: realinear los tipos en Power Query (texto/texto) y luego recrear la relación.

✓ Buenas prácticas

  • Modelar por relaciones en lugar de duplicar.
  • Centralizar los cálculos en medidas.
  • Ver el modelo como la puerta hacia Power BI.

✗ Errores frecuentes

  • Aplanarlo todo con BUSCARX (pesado, frágil).
  • Relaciones sobre claves de tipos distintos (fallo).
  • Confundir una medida (contextual) y una fórmula de celda (fija).

Puntos clave

  • El modelo de datos relaciona varias tablas mediante relaciones.
  • Una tabla dinámica puede beber de varias tablas relacionadas.
  • DAX: una medida = cálculo reutilizable y contextual.
  • Mismos conceptos que Power BI (modelo + DAX).

Reto 48h — aplícalo mañana

Sobre tus tablas reales: carga dos en el modelo, crea la relación sobre la clave común, escribe una medida SUMA y crúzala en tabla dinámica sin BUSCARX.

Lista de salida de la sección
  • Sé cargar tablas y crear una relación.
  • Sé escribir una medida DAX simple y contextual.
  • Sé cruzar varias tablas en tabla dinámica sin BUSCARX.
Autoevaluación 1-5: ¿sabría explicar la diferencia entre medida y fórmula de celda?¿se apoyan todavía mis cruces en BUSCARX frágiles?

Preguntas frecuentes

¿Modelo de datos o BUSCARX?

BUSCARX para traer un valor puntual; el modelo para analizar de forma duradera varias tablas relacionadas (grandes volúmenes, cálculos centralizados). En cuanto los BUSCARX se multiplican, es hora de modelar.

¿Es difícil DAX?

Las medidas simples (SUMA, PROMEDIO dentro del modelo) son accesibles; la potencia (contextos, CALCULATE) requiere práctica. Se empieza por medidas básicas, exactamente como se empezó por =SUMA.

Comprueba tu comprensión

¿Para qué sirve una relación en el modelo de datos?

Recursos adicionales (opcional, para ir más allá)

Examen del nivel 4Preguntas inéditas y más difíciles para validar tus conocimientos