Del via


VAR

Gemmer resultatet af et udtryk som en navngivet variabel, som derefter kan overføres som et argument til andre measure udtryk. Når den resulterende values er beregnet for et variabeludtryk, ændres disse valuesnot, evenif der refereres til variablen i et andet udtryk.

Syntaks

VAR <name> = <expression>

Parametre

Udtryk Definition
name Navnet på variablen (id).
Afgrænsere understøttes not. 'varName' or [varName] resulterer f.eks. i en error.
Understøttet tegnsæt: a-z, A-Z, 0-9.
0-9 er not gyldige som first tegn.
__ (dobbelt understregningstegn) er tilladt som præfiks for id-navnet.
Ingen andre specialtegn understøttes.
Reserverede nøgleord not tilladt.
Navne på eksisterende tabeller er not tilladt.
Tomme mellemrum er not tilladt.
expression Et DAX udtryk, der returnerer en skalar or tabel value.

Returner value

En navngivet variabel, der indeholder resultatet af udtryksargumentet.

Bemærkninger

  • Et udtryk, der overføres som et argument til VAR, kan indeholde en anden VAR erklæring.

  • Når du refererer til en variabel:

    • Målinger kan ikke referere til variabler, der er defineret uden for udtrykket measure, men kan referere til funktionelle områdevariabler, der er defineret i udtrykket.
    • Variabler kan referere til målinger.
    • Variabler kan referere til tidligere definerede variabler.
    • Der kan ikke refereres til kolonner i tabelvariabler via syntaksen TableName[ColumnName].
  • Du kan få de bedste fremgangsmåder, når du bruger VAR, i Brug variabler til at forbedre dine DAX formler.

  • Hvis du vil vide mere om, hvordan VAR bruges i en DAX-forespørgsel, skal du se DAX forespørgsler.

Eksempel

Hvis du vil calculate en procentdel af year-over-year vækst uden at bruge en variabel, kan du oprette tre separate målinger. Dette firstmeasure beregner Sum af Salgsbeløb:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])

En secondmeasure beregner salgsbeløbet for previousyear:

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

Du kan derefter oprette en tredje measure, der kombinerer de to andre målinger for at calculate en vækstprocent. Bemærk, at Sum af SalesAmount-measure bruges to steder. first til at bestemmeif der er et salg, og derefter igen for at calculate en procentdel.

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

Ved hjælp af en variabel kan du oprette en enkelt measure, der beregner det 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 hjælp af en variabel kan du få det samme resultat, men på en mere læsevenlig måde. And fordi resultatet af udtrykket er gemt i variablen, kan ydeevnen for measureforbedres betydeligt, fordi den ikke behøver at blive genberegnet hver time den bruges.

Brug variabler til at forbedre dine DAX formlerDAX forespørgsler