Saltar al contenido

Lección 18 de 20 · Lectura y práctica

Crear Modelo de Datos y Medidas Avanzadas

Concepto claveEn 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.

Del concepto a la práctica

Taller de esta lección

Una medida avanzada debe expresar una comparación reproducible. Con ventas de Enero 100 y Febrero 130, el crecimiento absoluto es 30 y el relativo es 30 por ciento, porque 30 dividido entre 100 equivale a 0,30. La base del porcentaje es Enero, no Febrero ni el total de ambos meses.

Ejemplo resuelto

  1. Construye una dimensión de meses ordenada cronológicamente.

  2. Crea una medida de ventas del periodo seleccionado.

  3. Define variación como ventas actuales menos ventas anteriores.

  4. Divide la variación entre el periodo anterior y formatea como porcentaje.

Error frecuente: calcular 130/100 y llamarlo crecimiento, mostrando 130 por ciento. Corrige restando primero la base: 130 menos 100, dividido entre 100, da 30 por ciento.

Pruébalo

Usa Marzo 104 después de Febrero 130. Resultado esperado: variación absoluta -26 y crecimiento -20 por ciento. Mantén el signo negativo y no lo presentes como una caída de 26 por ciento.

Comprueba tu resultado

Verifica 104 - 130 = -26 y -26/130 = -0,20. Si el resultado cambia al añadir una categoría, revisa que la medida respete el contexto y que la tabla de fechas filtre las ventas.

DAX para el periodo anterior

Usa fechas reales 2024-01-01, 2024-02-01 y 2024-03-01 con importes 100,130,104. Crea Calendario con un día por fila del trimestre, sin huecos, márcalo como tabla de fechas y relaciónalo a Ventas[Fecha]. Cada visual selecciona un mes único:

DAX
Ventas = SUM(Ventas[Importe])
Ventas Anteriores = CALCULATE([Ventas], DATEADD(Calendario[Fecha], -1, MONTH))
Variacion = [Ventas] - [Ventas Anteriores]
Crecimiento = DIVIDE([Variacion], [Ventas Anteriores])

Febrero da 30 y 30%; marzo -26 y -20%. Enero no tiene base anterior en este fixture: DIVIDE devuelve BLANK. No conviertas falta de observación en crecimiento cero. Para otros filtros o calendarios fiscales revisa el periodo comparable antes de aplicar DATEADD.

Crea cada definición DAX como una medida separada: el bloque reúne cuatro definiciones para mostrar la dependencia, no es una sola fórmula que se pega completa. La primera medida se llama Ventas, y las siguientes la referencian.

Flujo de datos: dos formatos de la misma fecha se normalizan y un vacío queda marcado antes de comprobar tipos, duplicados y unidades.
CursaloMapa de práctica
Antes del gráfico, revisa los datos

Antes de analizar, comprueba los tipos, valores vacíos, duplicados y unidades. Decide cómo tratar cada problema según el contexto y conserva la trazabilidad del cambio. Un gráfico solo es útil si los datos de entrada son coherentes.

Ver la infografía en tamaño completo ↗
Fuentes para profundizar

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.

Sigue con Dashboards Ejecutivos en Power BI: Modelado y Visualización

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.