VAR
Uloží výsledek výrazu jako pojmenovanou proměnnou, která se pak dá předat jako argument jiným výrazům measure. Po výpočtu výsledného values pro výraz proměnné se tyto valuesnot změní, evenif se na proměnnou odkazuje v jiném výrazu.
Syntax
VAR <name> = <expression>
Parametry
Semestr | Definice |
---|---|
name |
Název proměnné (identifikátoru). Oddělovače se podporují not. Například hodnota varName or [varName] bude mít za následek error. Podporovaná znaková sada: a-z, A-Z, 0-9. Číslo 0–9 je not platné jako znak first. __ (dvojité podtržítko) je povoleno jako předpona názvu identifikátoru. Nejsou podporovány žádné další speciální znaky. Vyhrazená klíčová slova not povolena. Názvy existujících tabulek jsou not povolené. Prázdné mezery jsou not povoleny. |
expression |
Výraz DAX, který vrátí skalární or tabulku value. |
Vrácení value
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 measure, 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í VARnajdete v tématu DAXvzorců .
Další informace o tom, jak se VAR používá v DAX dotazu, najdete v tématu DAX dotazy.
Příklad
Pokud chcete calculate procento year-over-year růst bez použití proměnné, můžete vytvořit tři samostatné míry. Tento firstmeasure vypočítá Sum částky prodeje:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
second measure vypočítá částku prodeje pro previousyear:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Pak můžete vytvořit třetí measure, která zkombinuje ostatní dvě míry calculate procento růstu. Všimněte si, že Summeasure SalesAmount se používá na dvou místech; first určit, if existuje prodej, a pak znovu calculate 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 jeden measure, 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. And, protože výsledek výrazu je uložený v proměnné, může být výkon measurevýrazně vylepšen, protože není nutné přepočítat jednotlivé time, které se používají.