DAX-funktioiden käyttäminen
DAX-funktiokirjastossa on satoja funktioita, joista jokainen on suunniteltu tiettyä tarkoitusta varten.
DAX on peräisin Microsoft Excel 2010:n Power Pivot -apuohjelmasta, joten yli 80 käytettävissä olevaa funktiota sisältyy myös Exceliin. Taustalla oli Microsoftin tarkoituksellinen strategia, jolla varmistettiin, että Excelin käyttäjät pystyvät lisäämään tuottavuuttaan nopeasti DAX-funktioilla.
Kirjastossa on kuitenkin monia funktioita, jotka puuttuvat Excelistä, koska ne liittyvät nimenomaan tietojen mallinnukseen:
- Suhteiden välisen siirtymisen funktiot
- Suodatuskontekstin muokkausfunktiot
- Iteraattorifunktiot
- Aikatietofunktiot
- Polkufunktiot
Vihje
Voit etsiä DAX-funktioon liittyviä ohjeita antamalla verkkohaussa avainsanan DAX ja funktion nimen.
Lisätietoja on DAX-funktioita käsittelevässä oppaassa.
Funktiot, jotka ovat peräisin Excelistä
Seuraavissa osioissa käydään läpi useita hyödyllisiä funktioita, jotka saatat jo tuntea, koska niitä käytetään Excelissä.
DAX-funktio IF
testaa, täyttyykö ensimmäiseksi argumentiksi annettu ehto. Se palauttaa yhden arvon, jos ehdon arvo on TRUE, ja toisen arvon, jos ehdon arvo on FALSE. Funktion syntaksi on seuraava:
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Vihje
Funktion argumentti on valinnainen, kun se on ohjeissa kirjoitettuna hakasulkeisiin.
Jos logical_test tuottaa arvon FALSE ja value_if_false-arvoa ei anneta, funktio palauttaa arvon BLANK.
Käytettävissä on monia Excelin yhteenvetofunktioita, kuten SUM
, COUNT
, AVERAGE
, MIN
, MAX
ja monia muita. Ainoa ero on, että DAX-kielessä välitetään sarakeviittaus, kun taas Excelissä välitetään solualue.
Monia Excelin matemaattisia funktioita, teksti-, päivämäärä ja aika- ja tietofunktioita sekä loogisia funktioita on myös käytettävissä. Esimerkiksi pieni esimerkki DAXissa käytettävissä olevista Excel-funktioista ovat ABS
, , ROUND
, SQRT
, , LEFT
LEN
, RIGHT
, , UPPER
, DATE
, YEAR
, , MONTH
, , NOW
, TRUE
ISNUMBER
, FALSE
, AND
, OR
NOT
ja IFERROR
.
Funktiot, jotka eivät ole peräisin Excelistä
Kaksi hyödyllistä DAX-funktiota, jotka eivät liity nimenomaan mallinnusta eivätkä ole peräisin Excelistä, ovat DISTINCTCOUNT
ja DIVIDE
.
DISTINCTCOUNT-funktio
DAX-funktiolla DISTINCTCOUNT
voit laskea sarakkeen erillisten arvojen määrän. Tästä funktiosta on hyötyä erityisesti analytiikkaratkaisuissa. Ota huomioon, että asiakkaiden määrä poikkeaa erillisten asiakkaiden määrästä. Jälkimmäisessä ei lasketa toistuvia asiakkaita, joten kyseessä on asiakkaiden määrä verrattuna eri asiakkaiden määrään.
DIVIDE-funktio
Voit suorittaa jakolaskun DIVIDE
DAX-funktiolla. Siinä on välitettävä osoittajan ja nimittäjän lausekkeet. Valinnaisesti voit välittää arvon, joka edustaa vaihtoehtoista tulosta. Funktion DIVIDE
syntaksi on seuraava:
DIVIDE(<numerator>, <denominator>[, <alternate_result>])
Funktio DIVIDE
käsittelee automaattisesti jakolaskun nollalla tapauksien mukaan. Jos vaihtoehtoista tulosta ei välitetä ja nimittäjä on nolla tai BLANK, funktio palauttaa arvon BLANK. Kun vaihtoehtoinen tulos välitetään, se palautetaan arvon BLANK asemesta.
Tämä funktio on kätevä, koska lausekkeen ei tarvitse ensin testata nimittäjän arvoa. Funktio on myös optimoitu paremmin nimittäjäarvon testaamiseen kuin IF
funktio. Suorituskykyhyöty on huomattava, koska nollalla jakamisen tarkistus on kallista. Lisäksi funktion DIVIDE
käyttäminen tuottaa tiiviimmän ja siistimmän lausekkeen.
Vihje
On suositeltavaa käyttää -funktiota DIVIDE
aina, kun nimittäjä on lauseke, joka voi palauttaa nollan tai tyhjän. Jos nimittäjä on vakioarvo, on suositeltavaa käyttää jako-operaattoria (/), joka esitellään jäljempänä tässä moduulissa. Tällöin jakolasku onnistuu varmasti, ja lauseke toimii tehokkaammin, koska tarpeetonta testausta ei ole.