VAR
Speichert das Ergebnis eines Ausdrucks als benannte Variable, die dann als Argument an andere measure Ausdrücke übergeben werden kann. Nachdem die resultierenden values für einen Variablenausdruck berechnet wurden, ändern sich diese valuesnot ändern, evenif auf die Variable in einem anderen Ausdruck verwiesen wird.
Syntax
VAR <name> = <expression>
Parameter
Ausdruck | Definition |
---|---|
name |
Der Name der Variablen (Bezeichner). Trennzeichen werden not unterstützt. Beispielsweise führt "varName" or [varName] zu einem error. Unterstützte Zeichensätze: a-z, A-Z, 0-9. 0-9 sind not gültig als first Zeichen. __ (Doppelter Unterstrich) ist als Präfix für den Bezeichnernamen zulässig. Es werden keine anderen Sonderzeichen unterstützt. Reservierte Schlüsselwörter not zulässig. Namen vorhandener Tabellen sind not zulässig. Leerzeichen sind not zulässig. |
expression |
Ein DAX Ausdruck, der eine skalare or Tabelle valuezurückgibt. |
value zurückgeben
Eine benannte Variable, die das Ergebnis des Ausdrucksarguments enthält.
Bemerkungen
Ein Ausdruck, der als Argument an VAR übergeben wird, kann eine weitere VAR Deklaration enthalten.
Beim Verweisen auf eine Variable:
- Measures können nicht auf Variablen verweisen, die außerhalb des measure Ausdrucks definiert sind, können aber auf funktionale Bereichsvariablen verweisen, die innerhalb des Ausdrucks definiert sind.
- Variablen können auf Measures verweisen.
- Variablen können auf zuvor definierte Variablen verweisen.
- Spalten in Tabellenvariablen können nicht über die Syntax "TableName[ColumnName]" referenziert werden.
Bewährte Methoden bei der Verwendung von VARfinden Sie unter Verwenden von Variablen, um Ihre DAX Formelnzu verbessern.
Weitere Informationen zur Verwendung von VAR in einer DAX Abfrage finden Sie unter DAX Abfragen.
Beispiel
Um einen Prozentsatz von calculate-über-year Wachstum zu year, ohne eine Variable zu verwenden, könnten Sie drei separate Measures erstellen. Mit diesem firstmeasure werden Sum des Verkaufsbetrags berechnet:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
Ein secondmeasure berechnet den Umsatzbetrag für die previousyear:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Anschließend können Sie eine dritte measure erstellen, die die beiden anderen Measures kombiniert, um einen Wachstumsprozentsatz zu calculate. Beachten Sie, dass die Sum von SalesAmount measure an zwei Stellen verwendet wird; first, if es einen Verkauf gibt, und dann erneut, um einen Prozentsatz zu calculate.
Sum of SalesAmount YoY%: =
IF([Sum of SalesAmount] ,
DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
)
Mithilfe einer Variablen können Sie eine einzelne measure erstellen, die dasselbe Ergebnis berechnet:
YoY% =
VAR Sales =
SUM(SalesTable[SalesAmount])
VAR SalesLastYear =
CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))
Mithilfe einer Variablen können Sie dasselbe Ergebnis erhalten, aber auf lesbarere Weise. And, da das Ergebnis des Ausdrucks in der Variablen gespeichert ist, kann die Leistung des measureerheblich verbessert werden, da nicht jedes time neu berechnet werden muss, das verwendet wird.
Related Inhalte
Verwenden von Variablen zur Verbesserung ihrer DAX FormelnDAX Abfragen