VAR
Lagrar resultatet av ett uttryck som en namngiven variabel, som sedan kan skickas som ett argument till andra measure uttryck. När resulterande values har beräknats för ett variabeluttryck values de not ändras, evenif variabeln refereras till i ett annat uttryck.
Syntax
VAR <name> = <expression>
Parametrar
Term | Definition |
---|---|
name |
Namnet på variabeln (identifierare). Avgränsare stöds not. Till exempel resulterar "varName" or [varName] i en error. Teckenuppsättning som stöds: a-z, A-Z, 0-9. 0–9 är not giltiga som first tecken. __ (dubbelt understreck) tillåts som ett prefix till identifierarnamnet. Inga andra specialtecken stöds. Reserverade nyckelord not tillåtna. Namn på befintliga tabeller tillåts not. Tomma blanksteg tillåts not. |
expression |
Ett DAX uttryck som returnerar en skalär or tabell value. |
Returnera value
En namngiven variabel som innehåller resultatet av uttrycksargumentet.
Anmärkningar
Ett uttryck som skickas som ett argument till VAR kan innehålla en annan VAR deklaration.
När du refererar till en variabel:
- Mått kan inte referera till variabler som definierats utanför measure uttryck, men kan referera till funktionella omfångsvariabler som definierats i uttrycket.
- Variabler kan referera till mått.
- Variabler kan referera till tidigare definierade variabler.
- Kolumner i tabellvariabler kan inte refereras via TableName[ColumnName]-syntax.
Metodtips när du använder VARfinns i Använd variabler för att förbättra dina DAX formler.
Mer information om hur VAR används i en DAX-fråga finns i DAX frågor.
Exempel
Om du vill calculate en procentandel av yearöveryear tillväxt utan att använda en variabel kan du skapa tre separata mått. Den här firstmeasure beräknar Sum av försäljningsbelopp:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
En secondmeasure beräknar försäljningsbeloppet för previousyear:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Du kan sedan skapa en tredje measure som kombinerar de andra två måtten för att calculate en tillväxtprocent. Observera att Sum för SalesAmount-measure används på två platser. first för att fastställa if det finns en försäljning, sedan igen för att calculate en procentandel.
Sum of SalesAmount YoY%: =
IF([Sum of SalesAmount] ,
DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
)
Med hjälp av en variabel kan du skapa en enda measure som beräknar samma resultat:
YoY% =
VAR Sales =
SUM(SalesTable[SalesAmount])
VAR SalesLastYear =
CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))
Med hjälp av en variabel kan du få samma resultat, men på ett mer läsbart sätt. And eftersom resultatet av uttrycket lagras i variabeln kan measureprestanda förbättras avsevärt eftersom den inte behöver beräknas om varje time den används.
Related innehåll
Använd variabler för att förbättra dina DAX formlerDAX frågor