VAR

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

Syntax

VAR <name> = <expression>  

Parametre

Obdobie Definícia
názov Názov premennej (identifikátor).
Oddeľovače nie sú podporované. Napríklad "varName" alebo [varName] bude mať 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é.
Výraz 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 funkcie VAR môže obsahovať inú deklaráciu funkcie VAR.

  • Pri odkazovaní 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é.
    • Na stĺpce v premenných tabuľky sa nemôže odkazovať pomocou syntaxe TableName[ColumnName].
  • Najvhodnejšie postupy pri používaní funkcie VAR nájdete v téme Vylepšenie vzorcov DAX pomocou premenných.

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

Príklad

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 SalesAmount = SUM(SalesTable[SalesAmount])  

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

SalesAmount PreviousYear =
    CALCULATE([Sum of SalesAmount],
    SAMEPERIODLASTYEAR(Calendar[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 mierka Sum of SalesAmount sa používa na dvoch miestach. najprv zistiť, či existuje predaj, potom znova vypočítať percento.

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

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

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

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

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

Pomocou premennej môžete získať rovnaký výsledok, ale v čitateľnejšom presnímaní. A keďže výsledok výrazu je uložený v premennej, výkon mierky možno výrazne zvýšiť, pretože sa nemusí opätovne vypočítať pri každom použití.

Vylepšenie vzorcov DAX pomocou premenných
Dotazy DAX