Pero como todo lenguaje de fórmulas, DAX no solo requiere conocer funciones, sino también comprender bien el contexto en el que se ejecutan.

En este artículo revisaremos los errores más comunes que cometen quienes están aprendiendo DAX y, más importante aún, cómo evitarlos para crear cualquier representación que necesites en tu reporte de manera efectiva.

 👇🏻👇🏻👇🏻

Error: No entender el contexto de filtro

Uno de los errores más frecuentes es no entender cómo DAX evalúa una fórmula en función del contexto de filtro, lo que puede llevar a resultados inesperados, especialmente al usar funciones como CALCULATE.

Ejemplo

Si esta medida se usa dentro de una tabla donde el contexto ya filtra por país, puede parecer que no hace nada.

Cómo evitarlo

Estudia y practica los conceptos de contexto de fila y contexto de filtro, y utiliza herramientas como crear tablas con DAX o la función VALUES() para entender qué filtros están activos.

📌 Usa funciones como REMOVEFILTERS, ALL o KEEPFILTERS con cautela, ya que modifican directamente el contexto.

 

Error: Olvidar el contexto de evaluación en columnas calculadas

Muchos usuarios intentan escribir medidas dentro de columnas calculadas sin considerar que el contexto de evaluación es diferente.

Ejemplo

Esto no funcionará como se espera en una columna calculada, porque SUM() necesita un contexto de filtro que no está disponible fila por fila.

Cómo evitarlo

Recuerda:

  • Columnas calculadas se evalúan fila por fila.
  • Medidas se evalúan en contextos agregados.

✅ Si necesitas una suma total o segmentada, probablemente lo que necesitas es una medida, no una columna.

 

Error: No usar relaciones correctamente

Otro error común es asumir que Power BI siempre hará el trabajo de relacionar tablas automáticamente. Si las relaciones no están bien definidas, las medidas pueden devolver resultados incorrectos o vacíos.

Ejemplo

Usar RELATED() o RELATEDTABLE() sin que haya una relación activa entre las tablas involucradas.

Cómo evitarlo

  • Verifica que existan relaciones entre las tablas, y que estas relaciones sean activas.
  • Usa el modelo en la vista de relaciones para confirmar direccionalidad y cardinalidad.
  • En modelos complejos, considera activar relaciones inactivas con USERELATIONSHIP.

 

Error: Usar mal funciones de inteligencia de tiempo

Funciones como DATESYTD, SAMEPERIODLASTYEAR, DATEADD, etc., dependen de una tabla de fechas correctamente relacionada. Si esta tabla no es continua o no tiene una relación activa, estas funciones no funcionarán correctamente.

Cómo evitarlo

  • Usa una tabla calendario que cubra todos los periodos de tu modelo.
  • Relaciónala con tu tabla de hechos (ventas, por ejemplo).
  • Usa funciones como DATESINPERIOD, DATESBETWEEN y PARALLELPERIOD solo cuando el modelo tenga fechas válidas y completas.

 

Error: Usar CALCULATE sin entender cómo cambia el contexto

CALCULATE es la función más poderosa (y más peligrosa) de DAX porque puede reemplazar, agregar o eliminar filtros. Usarla sin saber esto lleva a errores difíciles de detectar.

Ejemplo

Este código reemplaza cualquier filtro previo en la columna Estado, incluso si el reporte ya tiene uno distinto.

Cómo evitarlo

  • Estudia cómo CALCULATE evalúa expresiones paso a paso.
  • Revisa siempre qué filtros se están manteniendo y cuáles se están sobreescribiendo.
  • Usa funciones como KEEPFILTERS() si no quieres reemplazar filtros, sino sumar condiciones.

 

Error: Crear modelos con tablas desconectadas sin saber usarlas

Muchos crean tablas de soporte (como una tabla de segmentación de precios o de escenarios) que no tienen relación con otras tablas del modelo, y luego intentan usarlas como si tuvieran efecto directo.

Cómo evitarlo

  • Si vas a usar tablas desconectadas, necesitas crear medidas con funciones como TREATAS o LOOKUPVALUE.
  • Asegúrate de saber cuándo necesitas relaciones físicas y cuándo puedes manejar el cruce de datos mediante fórmulas.

 

Error: Usar IF en lugar de SWITCH o de cálculos vectorizados

Muchos usan IF anidados de forma ineficiente o sin considerar que las funciones condicionales también siguen reglas de evaluación de contexto.

Cómo evitarlo

  • Prefiere SWITCH(TRUE(), …) cuando tengas múltiples condiciones.
  • Considera usar DIVIDE() en lugar de IF([Denominador] <> 0, [Numerador]/[Denominador])
  • Recuerda que DAX trabaja de forma vectorizada y que a veces hay formas más limpias de expresar la lógica.

 

Error: Repetir lógica en múltiples medidas

Copiar y pegar la misma lógica (por ejemplo, el cálculo de "Clientes Activos") en varias medidas, en lugar de centralizarla, genera duplicidad, errores y mantenimiento complejo.

Cómo evitarlo

  • Crea medidas base reutilizables y luego compón medidas más complejas sobre ellas.
  • Usa variables (VAR) para definir pasos intermedios.
  • Esto mejora tanto el rendimiento como la legibilidad del código.

 

Error: No validar los resultados con tablas simples

Creas una medida compleja y te sorprendes cuando el resultado no tiene sentido, pero no haces una validación paso a paso.

Cómo evitarlo

  • Usa visualizaciones tipo tabla para ver cómo se comporta tu medida fila por fila.
  • Revisa los resultados con ejemplos simples antes de confiar en los números agregados.
  • Utiliza RETURN en medidas temporales para evaluar valores de variables intermedias.

 

Aprender DAX es mucho más que memorizar funciones. Es entender cómo el modelo, el contexto y el lenguaje interactúan entre sí.

Cometer errores es parte del aprendizaje, pero saber detectarlos y evitarlos te convertirá en un desarrollador de Power BI más eficiente y confiable.

Domina DAX con nuestro curso especializado en

www.datdata.com/dax