Leer en inglés

Compartir a través de


VAR

Almacena el resultado de una expresión como una variable con nombre, que luego se puede pasar como argumento a otras expresiones de medida. Una vez calculados los valores resultantes para una expresión variable, esos valores no cambian, incluso si se hace referencia a la variable en otra expresión.

Sintaxis

VAR <name> = <expression>  

Parámetros

Término Definición
name Nombre de la variable (identificador).
No se admiten delimitadores. Por ejemplo, "varName" o [varName] producirán un error.
Juego de caracteres admitido: a-z, A-Z, 0-9.
0-9 no son válidos como primer carácter.
__ (carácter de subrayado doble) se permite como prefijo al nombre del identificador.
No se admite ningún otro carácter especial.
No se permiten palabras clave reservadas.
No se permiten nombres de tablas existentes.
No se permiten espacios vacíos.
expression Expresión DAX que devuelve un valor escalar o de tabla.

Valor devuelto

Variable con nombre que contiene el resultado del argumento de expresión.

Observaciones

  • Una expresión pasada como argumento a VAR puede contener otra declaración VAR.

  • Al hacer referencia a una variable:

    • Las medidas no pueden hacer referencia a variables definidas fuera de la expresión de medida, pero pueden hacer referencia a variables de ámbito funcional definidas dentro de la expresión.
    • Las variables pueden hacer referencia a medidas.
    • Las variables pueden hacer referencia a variables definidas previamente.
    • No se puede hacer referencia a columnas de variables de tabla a través de la sintaxis TableName[ColumnName].
  • Para conocer los procedimientos recomendados al usar VAR, consulte Uso de variables para mejorar las fórmulas DAX.

  • Para obtener más información sobre cómo se usa VAR en una consulta DAX, consulte consultas DAX.

Ejemplo

Para calcular un porcentaje del crecimiento anual a lo largo del año sin usar una variable, podría crear tres medidas independientes. Esta primera medida calcula la suma del importe de ventas:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

Una segunda medida calcula el importe de ventas del año anterior:

SalesAmount PreviousYear =
    CALCULATE([Sum of SalesAmount],
    SAMEPERIODLASTYEAR(Calendar[Date])
    )  

A continuación, puede crear una tercera medida que combine las otras dos medidas para calcular un porcentaje de crecimiento. Observe que la medida Sum of SalesAmount se usa en dos lugares; primero para determinar si hay una venta y, a continuación, volver a calcular un porcentaje.

Sum of SalesAmount YoY%: = 
    IF([Sum of SalesAmount] ,  
        DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
    )  

Con una variable, puede crear una sola medida que calcule el mismo resultado:

YoY% =
  VAR Sales = 
      SUM(SalesTable[SalesAmount])  
  VAR SalesLastYear =
      CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

  return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))  

Mediante el uso de una variable, puede obtener el mismo resultado, pero de una manera más legible. Y como el resultado de la expresión se almacena en la variable, el rendimiento de la medida se puede mejorar significativamente porque no tiene que volver a calcularse cada vez que se usa.

Usar variables para mejorar las fórmulas DAX
consultas DAX