Crear Modelo de Datos y Medidas Avanzadas

Lectura
25 min~4 min lectura

Concepto clave

En Power BI, el modelo de datos es la estructura que organiza tus tablas de información y define cómo se relacionan entre sí. Piensa en él como el plano arquitectónico de un edificio: sin un buen plano, aunque tengas los mejores materiales (tus datos), el resultado será inestable y difícil de usar. Un modelo bien diseñado permite que las visualizaciones se actualicen dinámicamente cuando los usuarios interactúan con el dashboard.

Las medidas avanzadas son fórmulas DAX (Data Analysis Expressions) que calculan valores sobre la marcha, como porcentajes de crecimiento, promedios móviles o comparaciones año tras año. Son el "cerebro" de tu dashboard, transformando datos crudos en insights accionables. Por ejemplo, una medida puede calcular automáticamente el margen de beneficio sin necesidad de almacenarlo en una tabla.

"Un buen modelo de datos es invisible: los usuarios solo ven insights claros, no complejidades técnicas."

Cómo funciona en la práctica

Vamos a construir un modelo básico para ventas. Supón que tienes tres tablas: Ventas (con campos como Fecha, ProductoID, Cantidad, Precio), Productos (ProductoID, Nombre, Categoría) y Calendario (Fecha, Año, Mes, Trimestre).

  1. Importa las tablas a Power BI Desktop desde Excel o una base de datos.
  2. En la vista de Modelo, arrastra el campo ProductoID desde Ventas hasta Productos para crear una relación uno a muchos.
  3. Arrastra Fecha desde Ventas hasta Calendario para otra relación. Esto permite filtrar ventas por tiempo fácilmente.

Ahora, crea una medida avanzada. En la pestaña Modelado, haz clic en Nueva medida y escribe:

Ventas Totales = SUM(Ventas[Cantidad]) * SUM(Ventas[Precio])

Esta medida suma todas las ventas, respetando los filtros aplicados (como seleccionar un mes específico).

Caso de estudio

Imagina que eres Business Analyst en una empresa retail. Tu jefe te pide un dashboard que muestre:

  • Ventas totales por categoría de producto.
  • Crecimiento mensual comparado con el año anterior.
  • Top 5 productos más vendidos.

Primero, diseñas el modelo: relacionas Ventas con Productos y Calendario como en el ejemplo anterior. Luego, creas medidas clave:

MedidaFórmula DAXPropósito
Ventas Año Actual= SUM(Ventas[Cantidad] * Ventas[Precio])Calcula ventas totales
Ventas Año Anterior= CALCULATE([Ventas Año Actual], SAMEPERIODLASTYEAR(Calendario[Fecha]))Compara con el año pasado
Crecimiento %= DIVIDE([Ventas Año Actual] - [Ventas Año Anterior], [Ventas Año Anterior])Muestra porcentaje de cambio

Con esto, al arrastrar Categoría a un gráfico y Crecimiento % a valores, obtienes un visual interactivo que responde a filtros de tiempo.

Errores comunes

  • Relaciones circulares: Ocurre cuando hay múltiples caminos entre tablas (ej., Ventas se relaciona con Productos y también con una tabla intermedia). Esto confunde a Power BI. Solución: simplifica el modelo o usa direccionalidad única en relaciones.
  • Medidas que no respetan filtros: Si usas funciones como ALL en DAX sin cuidado, puedes anular filtros de usuario. En su lugar, usa CALCULATE para controlar el contexto.
  • Tablas de calendario duplicadas: Tener más de una tabla de fechas puede causar inconsistencias. Usa una sola tabla de calendario y relaciónala con todas las tablas que tengan fechas.
  • Ignorar el rendimiento: Medidas muy complejas o modelos con muchas columnas innecesarias ralentizan el dashboard. Optimiza eliminando columnas no usadas y precalculando datos simples en Power Query.

Checklist de dominio

  1. He importado al menos tres tablas de datos a Power BI Desktop.
  2. He creado relaciones entre tablas usando campos clave (como ID o fecha).
  3. He definido una medida básica usando DAX (ej., suma o promedio).
  4. He probado que las medidas responden a filtros (ej., al seleccionar un mes, los números cambian).
  5. He usado una tabla de calendario para análisis de tiempo.
  6. He evitado relaciones circulares en mi modelo.
  7. He revisado que mi dashboard se actualiza en menos de 5 segundos con los datos de prueba.

Construye un modelo de ventas con medidas de crecimiento

En este ejercicio, crearás un modelo de datos simple y medidas avanzadas para analizar ventas. Sigue estos pasos:

  1. Descarga el archivo de datos de ejemplo ventas_ejemplo.xlsx (disponible en los recursos de la lección). Contiene tres hojas: Ventas, Productos y Calendario.
  2. En Power BI Desktop, importa las tres hojas como tablas separadas.
  3. Ve a la vista de Modelo y crea relaciones:
    • Arrastra ProductoID desde la tabla Ventas hasta Productos.
    • Arrastra Fecha desde Ventas hasta Calendario.
  4. Crea las siguientes medidas en la tabla Ventas (usa Nueva medida):
    • Ventas Totales: Calcula el total de ventas (Cantidad * Precio).
    • Ventas Mes Anterior: Usa CALCULATE y DATEADD para comparar con el mes anterior.
    • Crecimiento Mensual %: Calcula el porcentaje de cambio entre el mes actual y el anterior.
  5. En la vista de Reporte, crea un gráfico de barras que muestre Ventas Totales por Categoría de producto, y añade un segmentador de fecha para filtrar por mes.
  6. Prueba tu dashboard: selecciona diferentes meses y verifica que las medidas se actualicen correctamente.
Pistas
  • Usa la función SUMX si necesitas calcular ventas por fila antes de sumar.
  • Para Ventas Mes Anterior, investiga la función DATEADD en DAX.
  • Asegúrate de que la tabla Calendario tenga una columna de fecha continua sin huecos.

Evalua tu comprension

Completa el quiz interactivo de arriba para ganar XP.