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 di variabile, tali valori non cambiano, anche se la variabile viene fatto riferimento in un'altra espressione.
Sintassi
VAR <name> = <expression>
Parametri
Termine | Definizione |
---|---|
name |
Nome della variabile (identificatore). I delimitatori non sono supportati. Ad esempio, 'varName' o [varName] genererà un errore. Set di caratteri supportato: a-z, A-Z, 0-9. 0-9 non sono validi come primo carattere. __ (doppio carattere di sottolineatura) è consentito come prefisso al nome dell'identificatore. Non sono supportati altri caratteri speciali. Parole chiave riservate non 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 di 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 a variabili di ambito funzionale definite all'interno dell'espressione.
- Le variabili possono fare riferimento a 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 altre informazioni sull'uso di VAR all'interno di una query DAX, vedere DAX query.
Esempio
Per calcolare una percentuale di crescita annuale nell'anno 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 in due posizioni; prima di determinare se è presente una vendita, quindi di nuovo 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 ricalcolare ogni volta che viene usato.