VAR
Tallentaa lausekkeen tuloksen nimettynä muuttujana, joka voidaan sitten välittää argumenttina muihin measure lausekkeisiin. Kun tuloksena saatu values on laskettu muuttujalausekkeelle, nämä values muuttuvat not, evenif muuttujaan viitataan toisessa lausekkeessa.
Syntaksi
VAR <name> = <expression>
Parametrit
Termi | Määritelmä |
---|---|
name |
Muuttujan nimi (tunniste). Erottimia not tueta. Esimerkiksi 'varName' or [varName] tuottaa error. Tuettu merkistö: a–z, A–Z, 0–9. 0–9 not kelpaa first merkkinä. __ (kaksinkertainen alaviiva) sallitaan etuliitteenä tunnisteen nimelle. Muita erikoismerkkejä ei tueta. Varatut avainsanat not sallittu. Olemassa olevien taulukoiden nimet sallitaan not. Tyhjät välilyönnit sallitaan not. |
expression |
DAX-lauseke, joka palauttaa skalaaritaulukon orvalue. |
Palauta value
Nimetty muuttuja, joka sisältää lausekeargumentin tuloksen.
Huomautuksia
VAR argumenttina välitetty lauseke voi sisältää toisen VAR esittelyn.
Viitattaessa muuttujaan:
- Mittarit eivät voi viitata muuttujiin, jotka on määritetty measure lausekkeen ulkopuolella, mutta ne voivat viitata lausekkeessa määritettyihin funktionaalisiin vaikutusalueen muuttujiin.
- Muuttujat voivat viitata mittareihin.
- Muuttujat voivat viitata aiemmin määritettyihin muuttujiin.
- Taulukkomuuttujien sarakkeisiin ei voi viitata TableName[ColumnName]-syntaksin avulla.
Katso VARkäyttämisen parhaat käytännöt kohdasta Paranna DAX kaavojakäyttämällä muuttujia.
Lisätietoja siitä, miten VAR käytetään DAX kyselyssä, on artikkelissa Kyselyjen DAX.
Esimerkki
Jos haluat calculate prosenttiosuuden yearyear kasvua käyttämättä muuttujaa, voit luoda kolme erillistä mittaria. Tämä firstmeasure laskee myyntimäärän Sum:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
second measure laskee previousyearmyynnin määrän:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Voit sitten luoda kolmannen measure, joka yhdistää kaksi muuta mittaria kasvuprosentin calculate. Huomaa, että SalesAmountmeasureSum käytetään kahdessa paikassa: first määrittää, if myynti on olemassa, ja calculate sitten prosenttiosuuden.
Sum of SalesAmount YoY%: =
IF([Sum of SalesAmount] ,
DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
)
Käyttämällä muuttujaa voit luoda yksittäisen measure, joka laskee saman tuloksen:
YoY% =
VAR Sales =
SUM(SalesTable[SalesAmount])
VAR SalesLastYear =
CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))
Käyttämällä muuttujaa voit saada saman tuloksen, mutta helpommin luettavassa mielessä. And, koska lausekkeen tulos on tallennettu muuttujaan, measuresuorituskykyä voidaan parantaa merkittävästi, koska sitä ei tarvitse laskea uudelleen jokaista sen käyttämää time.