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.