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í.