Sdílet prostřednictvím


VAR

Uloží výsledek výrazu jako pojmenovanou proměnnou, která se pak dá předat jako argument jiným výrazům míry. Po výpočtu výsledných hodnot pro výraz proměnné se tyto hodnoty nezmění, a to ani v případě, že se na proměnnou odkazuje v jiném výrazu.

Syntaxe

VAR <name> = <expression>  

Parametry

Pojem definice
name Název proměnné (identifikátoru).
Oddělovače nejsou podporovány. Například "varName" nebo [varName] způsobí chybu.
Podporovaná znaková sada: a-z, A-Z, 0-9.
0–9 není platné jako první znak.
__ (dvojité podtržítko) je povoleno jako předpona názvu identifikátoru.
Nejsou podporovány žádné další speciální znaky.
Vyhrazená klíčová slova nejsou povolena.
Názvy existujících tabulek nejsou povoleny.
Prázdné mezery nejsou povoleny.
výraz Výraz DAX, který vrací skalární hodnotu nebo hodnotu tabulky.

Vrácená hodnota

Pojmenovaná proměnná obsahující výsledek argumentu výrazu.

Poznámky

  • Výraz předaný jako argument var může obsahovat jinou deklaraci VAR.

  • Při odkazování na proměnnou:

    • Míry nemohou odkazovat na proměnné definované mimo výraz míry, ale mohou odkazovat na proměnné funkčního oboru definované v rámci výrazu.
    • Proměnné můžou odkazovat na míry.
    • Proměnné můžou odkazovat na dříve definované proměnné.
    • Sloupce v proměnných tabulky nelze odkazovat prostřednictvím syntaxe TableName[ColumnName].
  • Osvědčené postupy při použití funkce VAR najdete v tématu Použití proměnných ke zlepšení vzorců DAX.

  • Další informace o tom, jak se var používá v rámci dotazu DAX, najdete v dotazech DAX.

Příklad

Pokud chcete vypočítat procento meziročního růstu bez použití proměnné, můžete vytvořit tři samostatné míry. Tato první míra vypočítá součet částky prodeje:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

Druhá míra vypočítá částku prodeje za předchozí rok:

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

Pak můžete vytvořit třetí míru, která sloučí ostatní dvě míry k výpočtu procenta růstu. Všimněte si, že se na dvou místech používá míra Sum of SalesAmount; nejprve určit, zda je prodej, a pak znovu vypočítat procento.

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

Pomocí proměnné můžete vytvořit jednu míru, která vypočítá stejný výsledek:

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

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

Pomocí proměnné můžete získat stejný výsledek, ale čitelnějším způsobem. A protože výsledek výrazu je uložený v proměnné, může být výkon míry výrazně vylepšen, protože nemusí být přepočítán při každém použití.

Použití proměnných ke zlepšení vzorců DAX
Dotazy DAX