Hyödynnä kesäkampanjan etuhinnat 100-300 €/kurssi – etu voimassa 1.6.-14.8.2026 tulleisiin kurssi-ilmoittautumisiin valituista koulutuksista. Tarkemmat tiedot kesäkampanjan kursseista ja ehdoista löydät Kampanjat-sivulta.

Power BI DAX-kaavat aloittelijalle – 10 tärkeintä funktiota

Power BI:n DAX-kaavat ovat yksi tehokkaimmista työkaluista, joita raportoinnin ammattilaisella voi olla hallussaan. DAX eli Data Analysis Expressions on kaavakieli, joka mahdollistaa dynaamisten mittareiden, laskennallisten sarakkeiden ja kehittyneiden analyysien rakentamisen suoraan Power BI -malliin. Jos olet vasta aloittamassa Power BI:n käytön, DAX-funktiot saattavat aluksi tuntua monimutkaisilta, mutta kun opit ne kunnolla, ne muuttavat tapaa, jolla ajattelet ja käsittelet dataa.

Tässä artikkelissa käymme läpi 10 tärkeintä DAX-funktiota, joita jokainen aloittelija tarvitsee. Jokaisesta funktiosta löydät selityksen, koodiesimerkin ja tyypillisen käyttötapauksen, jotta ymmärrät paitsi, miten funktio toimii, myös milloin sitä kannattaa käyttää.

Mitä DAX-kaavat ovat Power BI:ssä?

DAX on Power BI:n laskentakieli, joka toimii tietomallissa taulujen ja sarakkeiden päällä. Se muistuttaa syntaksiltaan Excelin kaavoja, mutta toimii eri logiikalla: mittarit arvioidaan suodatinkontekstissa ja laskennalliset sarakkeet rivikontekstissa. Tämä tekee siitä huomattavasti joustavamman monimutkaisten laskelmien rakentamiseen.

DAX-kaavoilla voi luoda kolmenlaisia elementtejä: mittareita, jotka laskevat arvon dynaamisesti raportin suodattimien mukaan, laskennallisia sarakkeita, jotka lisäävät tauluun uuden pysyvän sarakkeen, sekä laskennallisia tauluja, jotka generoidaan kaavan perusteella. Mittarit ovat näistä yleisimmin käytettyjä ja myös tehokkain tapa hyödyntää DAX-kieltä raportoinnissa.

Miksi DAX kannattaa opetella heti alussa?

Monet Power BI -aloittelijat jättävät DAX-kielen sivuun ja yrittävät selviytyä pelkillä peruslaskuilla tai Power Queryn muunnoksilla. Tämä toimii yksinkertaisissa raporteissa, mutta törmää nopeasti rajoihin heti, kun laskelmiin tarvitaan kontekstikohtaista logiikkaa, vertailujaksoja tai monimutkaisia suodatuksia.

DAX-taidon kartuttaminen alusta asti rakentaa vahvan perustan koko Power BI -osaamiselle. Kun ymmärtää, miten suodatinkonteksti ja rivikonteksti toimivat, alkaa myös hahmottaa, miksi tietomallin rakenne vaikuttaa niin paljon raportin toimintaan. DAX ei siis ole pelkkä laskentakieli, vaan avain syvempään ymmärrykseen Power BI:n toimintaperiaatteista.

10 tärkeintä DAX-funktiota aloittelijalle

Seuraavat funktiot kattavat suuren osan siitä, mitä käytännön raportoinnissa tarvitaan. Ne esiintyvät toistuvasti niin yksinkertaisissa kuin kehittyneissäkin laskelmissa, ja niiden hallinta avaa oven monimutkaisempiin DAX-rakenteisiin.

Corellian Power BI -koulutuksessa harjoittelet DAX-kaavoja ohjatusti oikeiden aineistojen kanssa, mikä nopeuttaa oppimista huomattavasti verrattuna itseopiskeluun.

1. SUM ja SUMX

SUM laskee sarakkeen kaikki arvot yhteen. SUMX puolestaan käy taulukon läpi rivi riviltä ja laskee lausekkeen jokaiselle riville erikseen ennen yhteenlaskua.

  • SUM: Kokonaismyynti = SUM(Myynti[Summa])
  • SUMX: Myyntimarginaali = SUMX(Myynti, Myynti[Hinta] - Myynti[Kustannus])

SUM sopii suoraan sarakkeen yhteenlaskuun, kun taas SUMX tarvitaan aina, kun laskenta edellyttää rivi kerrallaan tapahtuvaa lausekkeen arviointia.

2. CALCULATE

CALCULATE on DAX:n tärkein funktio. Se laskee lausekkeen muutetussa suodatinkontekstissa, eli sillä voi ohittaa tai lisätä suodattimia dynaamisesti.

  • Myynti_FI = CALCULATE(SUM(Myynti[Summa]), Myynti[Maa] = "Suomi")

Käyttötapaus: vertailuarvojen laskeminen, kuten edellisen vuoden myynti tai tietyn segmentin osuus kokonaismyynnistä. Huomaa, että esimerkin kaava suodattaa faktataulun saraketta suoraan – käytännön malleissa suodatus kannattaa usein tehdä erillisen dimensiotaulun kautta, mikä tekee mallista selkeämmän ja helpommin ylläpidettävän.

3. FILTER

FILTER palauttaa taulukon suodatettuna ehdon mukaan. Sitä käytetään usein CALCULATE-funktion sisällä tarkempaan suodatuslogiikkaan.

  • SuuretTilaukset = CALCULATE(SUM(Tilaukset[Arvo]), FILTER(Tilaukset, Tilaukset[Arvo] > 1000))

FILTER on välttämätön silloin, kun perussuodatus ei riitä ja tarvitaan monimutkaisempia ehtoja.

4. ALL

ALL poistaa suodattimet taulusta tai sarakkeesta. Tätä tarvitaan esimerkiksi prosenttiosuuksien laskemiseen suhteessa kokonaismäärään.

  • Osuus = DIVIDE(SUM(Myynti[Summa]), CALCULATE(SUM(Myynti[Summa]), ALL(Myynti)))

5. RELATED

RELATED hakee arvon toisesta taulusta tietomallin relaation kautta. Se toimii tyypillisimmin laskennallisissa sarakkeissa, mutta sitä voidaan käyttää myös mittareissa tilanteen mukaan.

  • Tuoteryhmä = RELATED(Tuotteet[Ryhmä])

Käyttötapaus: kun haluat tuoda esimerkiksi tuotteen kategorian myyntitauluun ilman Power Queryn muunnosta.

6. IF

IF toimii kuten Excelissäkin: se arvioi ehdon ja palauttaa eri arvon sen mukaan, onko ehto tosi vai epätosi.

  • Tavoite_Saavutettu = IF(SUM(Myynti[Summa]) >= [Tavoite], "Kyllä", "Ei")

7. DIVIDE

DIVIDE jakaa kaksi lukua turvallisesti: se palauttaa automaattisesti nollan tai määritetyn vaihtoehtoarvon, jos jakaja on nolla. Tämä estää virhearvot raporteissa.

  • Voittomarginaali = DIVIDE(SUM(Myynti[Voitto]), SUM(Myynti[Liikevaihto]), 0)

8. DATEADD

DATEADD siirtää päivämääräkontekstia tietyn ajanjakson verran taaksepäin tai eteenpäin. Se on perusfunktio vertailujaksojen laskemiseen.

  • Myynti_EdellinenVuosi = CALCULATE(SUM(Myynti[Summa]), DATEADD(Kalenteri[Päivämäärä], -1, YEAR))

DATEADD vaatii toimiakseen erillisen kalenteritaulun tietomallissa, mikä on muutenkin hyvä käytäntö kaikissa aikasarjaraporteissa.

9. RANKX

RANKX laskee rivin järjestysluvun suhteessa muihin riveihin valitun lausekkeen perusteella. Sitä käytetään esimerkiksi myyjien tai tuotteiden ranking-listoissa.

  • Myyjäranking = RANKX(ALL(Myyjät), SUM(Myynti[Summa]))

10. COUNTROWS

COUNTROWS laskee taulukon rivien määrän. Se on usein selkeämpi vaihtoehto COUNT-funktiolle silloin, kun halutaan laskea tapahtumia tai rivejä suodatuksen jälkeen.

  • TilaustenMäärä = COUNTROWS(Tilaukset)

Yleisimmät virheet DAX-kaavojen kirjoittamisessa

Yksi tyypillisimmistä virheistä on kontekstin sekoittaminen: aloittelija kirjoittaa laskennalliseen sarakkeeseen kaavan, joka toimii vain mittarissa, tai päinvastoin. Laskennallinen sarake arvioidaan rivikontekstissa, mittari suodatinkontekstissa, ja tämä ero on tärkeä sisäistää, ennen kuin DAX alkaa tuntua luontevalta.

Toinen yleinen ongelma on CALCULATE-funktion käyttäminen ilman ymmärrystä siitä, miten se muuttaa kontekstia. Moni lisää CALCULATE-funktion kaavaan ikään kuin varmuuden vuoksi, vaikka se ei ole tarpeen, tai jättää sen pois tilanteessa, jossa se olisi välttämätön. Kolmas virhe on unohtaa DIVIDE-funktio ja käyttää sen sijaan suoraa jakolaskua, jolloin nollalla jakaminen tuottaa raporttiin virhearvoja.

Näin pääset alkuun DAX-harjoittelun kanssa

Paras tapa oppia DAX on harjoitella oikealla datalla, ei pelkästään lukemalla dokumentaatiota. Aloita rakentamalla yksinkertainen tietomalli esimerkiksi myynti- tai projektidatasta ja luo sen päälle ensin SUM- ja COUNTROWS-mittareita. Lisää sitten CALCULATE ja kokeile, miten suodattimet vaikuttavat tuloksiin.

Kun perusfunktiot alkavat tuntua tutuilta, siirry aikasarja- ja aikaälyfunktioihin, kuten DATEADD, ja rakenna ensimmäinen vertailumittarisi. Tässä vaiheessa myös virheenkorjaus ja DAX Studio -työkalu alkavat olla hyödyllisiä apuvälineitä. Oppiminen nopeutuu huomattavasti, kun harjoittelee oikeissa tilanteissa ja saa palautetta siitä, miksi jokin kaava toimii tai ei toimi.

DAX haltuun käytännön harjoittelulla: ilmoittaudu Power BI -koulutukseen ja vie raportointitaitosi uudelle tasolle. Ohjatussa ympäristössä oikeiden aineistojen kanssa funktioiden logiikka selkenee nopeasti, ja kouluttajamme vastaa mielellään kysymyksiin myös kurssin jälkeen.

Aiheeseen liittyvät artikkelit