(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
DAX

Variables en DAX: medidas más legibles y más rápidas

João Barros 19 de September de 2025 2 min de lectura

Introducidas en DAX en 2015, las variables (VAR/RETURN) son quizá la adición más impactante al lenguaje. Permiten dar nombre a subexpresiones, haciendo el código más legible y potencialmente más rápido.

Sintaxis

Medida =
VAR vVentas = SUM(fVentas[Ingresos])
VAR vCoste  = SUM(fVentas[Coste])
VAR vMargen = vVentas - vCoste
RETURN
    DIVIDE(vMargen, vVentas)

Beneficios de legibilidad

Compare con la versión sin variables:

-- Sin variables (difícil de leer y mantener)
Margen % = DIVIDE(
    SUM(fVentas[Ingresos]) - SUM(fVentas[Coste]),
    SUM(fVentas[Ingresos])
)

Con variables, cada parte tiene un nombre semántico. Otros miembros del equipo (o usted dentro de 6 meses) entienden de inmediato la intención.

Beneficios de rendimiento

Una variable se evalúa una sola vez en el contexto de filtro en el que se declara. Si la misma subexpresión aparece tres veces en la medida, sin variables se evalúa tres veces; con variables, se evalúa una vez y el resultado se reutiliza.

Variables para depuración

Debug Medida =
VAR vBase     = CALCULATE(SUM(fVentas[Ingresos]), REMOVEFILTERS())
VAR vFiltrado = SUM(fVentas[Ingresos])
RETURN
    "Base: " & vBase & " | Filtrado: " & vFiltrado

Cambie el RETURN para revelar valores intermedios durante el desarrollo, sin alterar la lógica final.

Limitación importante

Una variable captura el contexto de filtro en el momento de su declaración. Si el contexto cambia después (p. ej. dentro de un CALCULATE), la variable no se reevalúa. Este comportamiento es intencional y consistente, pero conviene conocerlo.

Conclusión

Use VAR/RETURN en todas las medidas con más de una subexpresión. El coste es cero y las ganancias en legibilidad y mantenimiento son enormes.

Compartir: