Udostępnij za pośrednictwem


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.
expression Wyrażenie DAX zwracające wartość skalarną lub tabelę.

Wartość zwracana

Nazwana zmienna zawierająca wynik argumentu wyrażenia.

Uwagi

  • Wyrażenie przekazane jako argument do 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 używania VAR, zobacz Używanie zmiennych w celu ulepszenia formuł DAX.

  • Aby dowiedzieć się więcej o sposobie użycia VAR w zapytaniu DAX, zobacz DAX zapytania.

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.

Używanie zmiennych w celu ulepszania formuł DAXDAX zapytań