Del via


VARIANS

Gemmer resultatet af et udtryk som en navngivet variabel, som derefter kan overføres som et argument til andre målingsudtryk. Når de resulterende værdier er beregnet for et variabeludtryk, ændres disse værdier ikke, selvom der refereres til variablen i et andet udtryk.

Syntaks

VAR <name> = <expression>  

Parametre

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

Returværdi

En navngivet variabel, der indeholder resultatet af udtryksargumentet.

Kommentarer

  • 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 målingsudtrykket, 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, under Brug variabler til at forbedre dine DAX-formler.

  • Du kan få mere at vide om, hvordan VAR bruges i en DAX-forespørgsel, under DAX-forespørgsler.

Eksempel

Hvis du vil beregne en procentdel af væksten år for år uden at bruge en variabel, kan du oprette tre separate målinger. Denne første måling beregner Sum of Sales Amount:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

En anden måling beregner salgsbeløbet for det foregående år:

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

Du kan derefter oprette en tredje måling, der kombinerer de to andre målinger for at beregne en vækstprocent. Bemærk, at målingen Sum of SalesAmount bruges to steder. først for at afgøre, om der er et salg, og derefter igen for at beregne 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 måling, 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. Og da resultatet af udtrykket er gemt i variablen, kan målingens ydeevne forbedres betydeligt, fordi den ikke behøver at blive genberegnet, hver gang den bruges.

Brug variabler til at forbedre dine DAX-formler
DAX-forespørgsler