Freigeben über


VAR

Speichert das Ergebnis eines Ausdrucks als benannte Variable, die dann als Argument an andere Measureausdrücke übergeben werden kann. Nachdem resultierende Werte für einen Variablenausdruck berechnet wurden, ändern sich diese Werte nicht, auch wenn auf die Variable in einem anderen Ausdruck verwiesen wird.

Syntax

VAR <name> = <expression>

Parameter

Ausdruck Definition
name Der Name der Variablen (Bezeichner).
Trennzeichen werden nicht unterstützt. Beispielsweise führt 'varName' oder [varName] zu einem Fehler.
Unterstützte Zeichensätze: a-z, A-Z, 0-9.
0-9 sind nicht als erstes Zeichen gültig.
__ (Doppelter Unterstrich) ist als Präfix für den Bezeichnernamen zulässig.
Es werden keine anderen Sonderzeichen unterstützt.
Reservierte Schlüsselwörter sind nicht zulässig.
Namen vorhandener Tabellen sind nicht zulässig.
Leerzeichen sind nicht zulässig.
expression Ein DAX Ausdruck, der einen Skalar- oder Tabellenwert zurückgibt.

Rückgabewert

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 Measureausdrucks definiert sind, 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 des Jahres-über-Jahr-Wachstums zu berechnen, ohne eine Variable zu verwenden, könnten Sie drei separate Measures erstellen. Dieses erste Measure berechnet die Summe des Umsatzbetrags:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])

Ein zweites Maß berechnet den Umsatzbetrag für das Vorjahr:

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

Anschließend können Sie ein drittes Measure erstellen, das die beiden anderen Measures kombiniert, um einen Wachstumsprozentsatz zu berechnen. Beachten Sie, dass die Summe des SalesAmount-Measures an zwei Stellen verwendet wird; zuerst, um festzustellen, ob ein Verkauf vorhanden ist, und dann erneut, um einen Prozentsatz zu berechnen.

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

Mithilfe einer Variablen können Sie ein einzelnes Measure erstellen, das 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. Und da das Ergebnis des Ausdrucks in der Variablen gespeichert ist, kann die Leistung des Measures erheblich verbessert werden, da er nicht jedes Mal neu berechnet werden muss, wenn er verwendet wird.

Verwenden von Variablen zur Verbesserung ihrer DAX FormelnDAX Abfragen