VAR

Przechowuje wynik wyrażenia jako nazwaną zmienną, która następnie może zostać przekazana jako argument do innych wyrażeń miary. Po obliczeniu wartości wynikowych dla wyrażenia zmiennej te wartości nie zmieniają się, nawet jeśli zmienna jest przywoływane w innym wyrażeniu.

Składnia

VAR <name> = <expression>  

Parametry

Termin Definicja
name Nazwa zmiennej (identyfikator).
Ograniczniki nie są obsługiwane. Na przykład wyrażenie "varName" lub [varName] spowoduje wystąpienie błędu.
Obsługiwany zestaw znaków: a-z, A-Z, 0-9.
Wartość 0–9 jest nieprawidłowa jako pierwszy znak.
__ (podwójne podkreślenie) jest dozwolone jako prefiks nazwy identyfikatora.
Nie są obsługiwane żadne inne znaki specjalne.
Zastrzeżone słowa kluczowe są niedozwolone.
Nazwy istniejących tabel są niedozwolone.
Puste spacje są niedozwolone.
wyrażenie Wyrażenie języka DAX zwracające wartość skalarną lub tabelę.

Wartość zwracana

Nazwana zmienna zawierająca wynik argumentu wyrażenia.

Uwagi

  • Wyrażenie przekazane jako argument var może zawierać inną deklarację VAR.

  • Podczas odwoływania się do zmiennej:

    • Miary nie mogą odwoływać się do zmiennych zdefiniowanych poza wyrażeniem miary, ale mogą odwoływać się do zmiennych zakresu funkcjonalnego zdefiniowanych w wyrażeniu.
    • Zmienne mogą odwoływać się do miar.
    • Zmienne mogą odwoływać się do wcześniej zdefiniowanych zmiennych.
    • Nie można odwoływać się do kolumn w zmiennych tabeli za pomocą składni TableName[ColumnName].
  • Aby uzyskać najlepsze rozwiązania dotyczące korzystania z funkcji VAR, zobacz Używanie zmiennych do ulepszania formuł języka DAX.

  • Aby dowiedzieć się więcej na temat sposobu użycia funkcji VAR w zapytaniu języka DAX, zobacz Zapytania języka DAX.

Przykład

Aby obliczyć procent wzrostu rok do roku bez użycia zmiennej, można utworzyć trzy oddzielne miary. Ta pierwsza miara oblicza sumę kwoty sprzedaży:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

Druga miara oblicza kwotę sprzedaży dla poprzedniego roku:

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

Następnie możesz utworzyć trzecią miarę, która łączy dwie pozostałe miary w celu obliczenia wartości procentowej wzrostu. Zwróć uwagę, że miara Sum of SalesAmount jest używana w dwóch miejscach; najpierw, aby ustalić, czy istnieje sprzedaż, a następnie ponownie, aby obliczyć wartość procentową.

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

Używając zmiennej, można utworzyć pojedynczą miarę, która oblicza ten sam wynik:

YoY% = VAR Sales = SUM(SalesTable[SalesAmount])  

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

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

Używając zmiennej, można uzyskać ten sam wynik, ale w bardziej czytelny sposób. Ponieważ wynik wyrażenia jest przechowywany w zmiennej, wydajność miary może zostać znacznie ulepszona, ponieważ nie musi być ponownie obliczana za każdym razem, gdy jest używana.

Ulepszanie formuł języka DAX przy użyciu zmiennych
Zapytania języka DAX