VARVAR

Lagrar resultatet av ett uttryck som en namngiven variabel, som sedan kan skickas som ett argument till andra måttuttryck.Stores the result of an expression as a named variable, which can then be passed as an argument to other measure expressions. När resultatvärden har beräknats för ett variabeluttryck ändras dessa värden inte, även om variabeln refereras till i ett annat uttryck.Once resultant values have been calculated for a variable expression, those values do not change, even if the variable is referenced in another expression.

SyntaxSyntax

VAR <name> = <expression>  

ParametrarParameters

PeriodTerm DefinitionDefinition
namnname Namnet på variabeln (identifierare).The name of the variable (identifier).
Avgränsare stöds inte.Delimiters are not supported. Exempelvis så resulterar ”varName” eller [varName] i ett fel.For example, 'varName' or [varName] will result in an error.
Teckenuppsättning som stöds: a–z, A–Z, 0–9.Supported character set: a-z, A-Z, 0-9.
0–9 är inte giltiga som första tecknet.0-9 are not valid as first character.
__ (dubbla understreck) tillåts som ett prefix i identifierarens namn.__ (double underscore) is allowed as a prefix to the identifier name.
Inga andra specialtecken stöds.No other special characters are supported.
Reserverade nyckelord är inte tillåtna.Reserved keywords not allowed.
Namn på befintliga tabeller är inte tillåtna.Names of existing tables are not allowed.
Blanksteg tillåts inte.Empty spaces are not allowed.
uttryckexpression Ett DAX-uttryck som returnerar ett skalärt värde eller ett tabellvärde.A DAX expression which returns a scalar or table value.

ReturvärdeReturn value

En namngiven variabel som innehåller resultatet av uttrycksargumentet.A named variable containing the result of the expression argument.

KommentarerRemarks

  • Ett uttryck som skickas som ett argument till VAR kan innehålla en annan VAR-deklaration.An expression passed as an argument to VAR can contain another VAR declaration.

  • Vid referens till en variabel:When referencing a variable:

    • Mått kan inte referera till variabler som definieras utanför måttuttrycket, men de kan referera till variabler för funktionellt omfång som definieras i uttrycket.Measures cannot refer to variables defined outside the measure expression, but can refer to functional scope variables defined within the expression.
    • Variabler kan referera till mått.Variables can refer to measures.
    • Variabler kan referera till variabler som definieras tidigare.Variables can refer to previously defined variables.
    • Kolumner i tabellvariabler kan inte refereras till via TableName[ColumnName]-syntax.Columns in table variables cannot be referenced via TableName[ColumnName] syntax.

ExempelExample

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 olika mått.To calculate a percentage of year-over-year growth without using a variable, you could create three separate measures. Det första måttet beräknar summan av försäljningsbeloppet:This first measure calculates Sum of Sales Amount:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

Det andra måttet beräknar försäljningsbeloppet för föregående år:A second measure calculates the sales amount for the previous year:

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

Du kan sedan skapa ett tredje mått som kombinerar de två andra måtten för att beräkna en tillväxtprocent.You can then create a third measure that combines the other two measures to calculate a growth percentage. 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 och sedan igen för att beräkna en procentandel.Notice the Sum of SalesAmount measure is used in two places; first to determine if there is a sale, then again to calculate a percentage.

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 enskilt mått som beräknar samma resultat:By using a variable, you can create a single measure that calculates the same result:

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.By using a variable, you can get the same outcome, but in a more readable way. Dessutom lagras resultatet av uttrycket i variabeln vid deklaration.In addition, the result of the expression is stored in the variable upon declaration. Det behöver inte räknas om varje gång det används, vilket skulle vara nödvändigt utan användning av en variabel.It doesn't have to be recalculated each time it is used, as it would without using a variable. Detta kan förbättra måttets prestanda.This can improve the measure's performance.