VAR

Archivia il risultato di un'espressione come variabile denominata, che può quindi essere passata come argomento ad altre espressioni di misura. Dopo aver calcolato i valori risultanti per un'espressione variabile, non tali valori non cambiano, anche se viene fatto riferimento alla variabile in un'altra espressione.

Sintassi

VAR <name> = <expression>  

Parametri

Termine Definizione
name Nome della variabile (identificatore).
I delimitatori non sono supportati. "varName" o [varName], ad esempio, genererà un errore.
Set di caratteri supportato: a-z, A-Z, 0-9.
I caratteri compresi tra 0 e 9 non possono essere usati come primo carattere.
__ (carattere di sottolineatura doppio) è consentito come prefisso per il nome dell'identificatore.
Non sono supportati altri caratteri speciali.
Le parole chiave riservate non sono consentite.
I nomi delle tabelle esistenti non sono consentiti.
Gli spazi vuoti non sono consentiti.
expression Espressione DAX che restituisce un valore scalare o di tabella.

Valore restituito

Variabile denominata contenente il risultato dell'argomento dell'espressione.

Osservazioni:

  • Un'espressione passata come argomento a VAR può contenere un'altra dichiarazione VAR.

  • Quando si fa riferimento a una variabile:

    • Le misure non possono fare riferimento a variabili definite all'esterno dell'espressione di misura, ma possono fare riferimento alle variabili di ambito funzionale definite nell'espressione.
    • Le variabili possono fare riferimento alle misure.
    • Le variabili possono fare riferimento a variabili definite in precedenza.
    • Non è possibile fare riferimento alle colonne nelle variabili di tabella tramite la sintassi TableName[ColumnName].
  • Per le procedure consigliate quando si usa VAR, vedere Usare le variabili per migliorare le formule DAX.

  • Per ulteriori informazioni sull'uso di VAR all'interno di una query DAX, vedere le query DAX.

Esempio

Per calcolare una percentuale di crescita rispetto all'anno precedente senza usare una variabile, è possibile creare tre misure separate. Questa prima misura calcola la somma dell'importo delle vendite:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

Una seconda misura calcola l'importo delle vendite per l'anno precedente:

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

È quindi possibile creare una terza misura che combina le altre due misure per calcolare una percentuale di crescita. Si noti che la misura Sum of SalesAmount viene usata due volte: prima per determinare se è presente una vendita e in seguito per calcolare una percentuale.

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

Usando una variabile, è possibile creare una singola misura che calcola lo stesso risultato:

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

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

Usando una variabile, è possibile ottenere lo stesso risultato, ma in modo più leggibile. Poiché il risultato dell'espressione viene archiviato nella variabile, le prestazioni della misura possono essere notevolmente migliorate perché non è necessario effettuare il ricalcolo ogni volta che si usa.

Usare le variabili per migliorare le formule DAX
Query DAX