Del via


VAR

Lagrer resultatet av et uttrykk som en navngitt variabel, som deretter kan sendes som et argument til andre measure uttrykk. Når resulterende values er beregnet for et variabeluttrykk, endres disse valuesnot, evenif variabelen refereres til i et annet uttrykk.

Syntaks

VAR <name> = <expression>

Parametere

Vilkår Definisjon
name Navnet på variabelen (identifikator).
Skilletegn støttes not. VarName or [varName] vil for eksempel resultere i en error.
Støttet tegnsett: a-z, A-Z, 0-9.
0-9 er not gyldige som first tegn.
__ (dobbelt understrekingstegn) er tillatt som et prefiks til identifikatornavnet.
Ingen andre spesialtegn støttes.
Reserverte nøkkelord not tillatt.
Navn på eksisterende tabeller er not tillatt.
Tomme mellomrom er not tillatt.
expression Et DAX uttrykk som returnerer en skalar or tabell value.

Returner value

En navngitt variabel som inneholder resultatet av uttrykksargumentet.

Merknader

  • Et uttrykk som sendes som et argument til VAR, kan inneholde en annen VAR deklarasjon.

  • Når du refererer til en variabel:

    • Mål kan ikke referere til variabler som er definert utenfor measure-uttrykket, men kan referere til variabler for funksjonsomfang som er definert i uttrykket.
    • Variabler kan referere til mål.
    • Variabler kan referere til tidligere definerte variabler.
    • Kolonner i tabellvariabler kan ikke refereres til via TableName[ColumnName]-syntaks.
  • Hvis du vil ha anbefalte fremgangsmåter når du bruker VAR, kan du se Bruke variabler til å forbedre DAX formler.

  • Hvis du vil ha mer informasjon om hvordan VAR brukes i en DAX spørring, kan du se DAX spørringer.

Eksempel

Hvis du vil calculate en prosentandel av year-over-year vekst uten å bruke en variabel, kan du opprette tre separate mål. Dette firstmeasure beregner Sum av salgsbeløp:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])

En secondmeasure beregner salgsbeløpet for previousyear:

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

Deretter kan du opprette en tredje measure som kombinerer de to andre målene for å calculate en vekstprosent. Legg merke til at Sum for SalesAmount-measure brukes på to steder. first å fastslå if det er et salg, og deretter på nytt for å calculate en prosentandel.

Sum of SalesAmount YoY%: = 
    IF([Sum of SalesAmount] ,
        DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
    )

Ved hjelp av en variabel kan du opprette én enkelt measure som beregner samme resultat:

YoY% =
  VAR Sales = 
      SUM(SalesTable[SalesAmount])
  VAR SalesLastYear =
      CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

  return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))

Ved hjelp av en variabel kan du få samme resultat, men på en mer lesbar måte. And fordi resultatet av uttrykket er lagret i variabelen, kan measureytelse forbedres betydelig fordi det ikke trenger å beregnes på nytt hver time den brukes.

Bruk variabler til å forbedre DAX formlerDAX spørringer