VAR

Uloží výsledok výrazu ako pomenovanú premennú, ktorú potom môžete preniesť ako argument do iných výrazov mierky. Po DAX vypočítaní hodnôt pre výraz premennej sa tieto hodnoty nezmenia, a to ani v prípade, že odkazujete na premennú v inom výraze.

Syntax

VAR <name> = <expression>

Parametre

Termín Definícia
name Názov premennej (identifikátor).
Oddeľovače nie sú podporované. Napríklad "varName" alebo [varName] má za následok chybu.
Podporovaná množina znakov: a – z, A – Z, 0 – 9.
0 – 9 nie sú platné ako prvý znak.
__ (dvojité podčiarkovanie) je povolené ako predpona názvu identifikátora.
Nie sú podporované žiadne ďalšie špeciálne znaky.
Vyhradené kľúčové slová nie sú povolené.
Názvy existujúcich tabuliek nie sú povolené.
Prázdne medzery nie sú povolené.
expression Výraz DAX , ktorý vracia skalárnu hodnotu alebo hodnotu tabuľky.

Vrátená hodnota

Pomenovaná premenná obsahujúca výsledok argumentu výrazu.

Poznámky

  • Výraz odovzdaný ako argument do VAR môže obsahovať inú deklaráciu VAR.

  • Keď odkazujete na premennú:

    • Mierky nemôžu odkazovať na premenné definované mimo výrazu mierky, ale môžu odkazovať na premenné funkčného rozsahu definované v rámci výrazu.
    • Premenné môžu odkazovať na mierky.
    • Premenné môžu odkazovať na predtým definované premenné.
    • Nemôžete odkazovať na stĺpce v premenných tabuľky pomocou syntaxe TableName[ColumnName].
  • Najvhodnejšie postupy pri používaní VARnájdete v téme Vylepšenie vzorcov DAX pomocou premenných.

  • Ďalšie informácie o používaní VAR v rámci dotazu DAX nájdete v téme DAX dotazy.

Príklad

Príklady v tomto článku možno použiť so vzorovým modelom aplikácie Power BI Desktop Adventure Works DW 2020. Ak chcete získať model, pozrite si DAX ukážkový model.

Ak chcete vypočítať percento medziročného rastu bez použitia premennej, môžete vytvoriť tri samostatné mierky. Táto prvá mierka vypočíta súčet čiastky predaja (Sum of Sales Amount):

Sum of Sales Amount =
SUM ( Sales[Sales Amount] )

Druhá mierka vypočíta čiastku predaja za predchádzajúci rok:

Sales Amount PreviousYear =
CALCULATE ( [Sum of Sales Amount], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )

Potom môžete vytvoriť tretiu mierku, ktorá kombinuje ďalšie dve mierky na výpočet percentuálneho nárastu. Všimnite si, že možnosť Sum of SalesAmount (Súčet objemPredaja) sa používa na dvoch miestach: najprv na kontrolu existencie predaja a potom znova na výpočet percentuálnej hodnoty.

Sum of SalesAmount YoY%: =
IF (
    [Sum of Sales Amount] && [Sales Amount PreviousYear],
    DIVIDE (
        ( [Sum of Sales Amount] - [Sales Amount PreviousYear] ),
        [Sales Amount PreviousYear]
    )
)

Pomocou premennej môžete vytvoriť jednu mierku, ktorá vypočíta rovnaký výsledok:

YoY% =
VAR Sales =
    SUM ( Sales[Sales Amount] )
VAR SalesLastYear =
    CALCULATE ( SUM ( Sales[Sales Amount] ), SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
RETURN
    IF ( Sales && SalesLastYear, DIVIDE ( Sales - SalesLastYear, SalesLastYear ) )

Použitím premennej môžete získať rovnaký výsledok čitateľnejším spôsobom. A keďže výsledok výrazu je uložený v premennej, výkon mierky sa výrazne zlepší, pretože DAX sa nevypočíva pri každom použití.