VAR
Tallentaa lausekkeen tuloksen nimettynä muuttujana, joka voidaan sitten välittää argumenttina muihin mittayksikkölausekkeisiin. Kun tuloksena syntyvät arvot on laskettu muuttujalausekkeelle, nämä arvot eivät muutu, vaikka muuttujaan viitattiin toisessa lausekkeessa.
Syntaksi
VAR <name> = <expression>
Parametrit
Termi | Määritelmä |
---|---|
nimi | Muuttujan nimi (tunniste). Erottimia ei tueta. Esimerkiksi 'varName' tai [varName] palauttaa virheen. Tuettu merkistö: a–z, A–Z, 0–9. 0–9 ei kelpaa ensimmäisenä merkkinä. __ (kaksinkertainen alaviiva) sallitaan etuliitteenä tunnisteen nimelle. Muita erikoismerkkejä ei tueta. Varattuja avainsanoja ei sallita. Olemassa olevien taulukoiden nimiä ei sallita. Tyhjiä välilyöntejä ei sallita. |
Ilmaisun | DAX-lauseke, joka palauttaa skalaari- tai taulukkoarvon. |
Palautusarvo
Nimetty muuttuja, joka sisältää lausekeargumentin tuloksen.
Huomautukset
VAR-argumenttina välitetty lauseke voi sisältää toisen VAR-esittelyn.
Viitattaessa muuttujaan:
- Mittarit eivät voi viitata muuttujiin, jotka on määritetty mittayksikkö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.
Lisätietoja VAR-funktion käytöstä on kohdassa DAX-kaavojen parantaminen muuttujien avulla.
Lisätietoja SIITÄ, miten VAR:a käytetään DAX-kyselyssä, on kohdassa DAX-kyselyt.
Esimerkki
Voit luoda kolme erillistä mittaria, jos haluat laskea prosenttiosuuden kasvulle vuodesta vuoteen käyttämättä muuttujaa. Tämä ensimmäinen mittayksikkö laskee myyntimäärän summan:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
Toinen mittayksikkö laskee edellisen vuoden myyntimäärän:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Voit sitten luoda kolmannen mittayksikön, joka yhdistää kaksi muuta mittaria, kasvuprosentin laskemiseksi. Huomaa, että Myyntimäärän summa -mittaria käytetään kahdessa paikassa. selvitä ensin, onko myynti olemassa, ja laske prosenttiluku uudelleen.
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 mittarin, 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ä. Koska lausekkeen tulos on tallennettu muuttujaan, sen suorituskykyä voidaan parantaa huomattavasti, koska sitä ei tarvitse laskea uudelleen aina, kun sitä käytetään.