VAR

Lagrar resultatet av ett uttryck som en namngiven variabel, som sedan kan skickas som ett argument till andra måttuttryck. När resulterande värden har beräknats för ett variabeluttryck ändras inte dessa värden, även om variabeln refereras till i ett annat uttryck.

Syntax

VAR <name> = <expression>  

Parametrar

Period Definition
name Namnet på variabeln (identifierare).
Avgränsare stöds inte. Till exempel resulterar "varName" eller [varName] i ett fel.
Teckenuppsättning som stöds: a-z, A-Z, 0-9.
0–9 är inte giltiga som första tecken.
__ (dubbelt understreck) tillåts som ett prefix till identifierarnamnet.
Inga andra specialtecken stöds.
Reserverade nyckelord tillåts inte.
Namn på befintliga tabeller tillåts inte.
Tomma blanksteg tillåts inte.
Uttryck Ett DAX-uttryck som returnerar ett skalärt eller tabellvärde.

Returvärde

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 måttuttrycket, 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 VAR finns i Använda 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 beräkna en procentandel av tillväxten från år till år utan att använda en variabel kan du skapa tre separata mått. Det här första måttet beräknar summan av försäljningsbeloppet:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

Ett andra mått beräknar försäljningsbeloppet för föregående år:

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

Du kan sedan skapa ett tredje mått som kombinerar de andra två måtten för att beräkna en tillväxtprocent. Observera att måttet Sum of SalesAmount används på två platser. först för att avgöra om det finns en försäljning, sedan igen för att beräkna 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 ett enda mått 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. Och eftersom resultatet av uttrycket lagras i variabeln kan måttets prestanda förbättras avsevärt eftersom det inte behöver beräknas om varje gång det används.

Använda variabler för att förbättra dina DAX-formler
DAX-frågor