Tässä osassa on linkkejä esimerkkeihin, joissa esitellään DAX-kaavojen käyttöä seuraavissa skenaarioissa.
-
Monimutkaisten laskutoimitusten suorittaminen
-
Tekstin ja päivämäärien käyttö
-
Ehdolliset arvot ja virheiden testaaminen
-
Aikatietojen käyttäminen
-
Arvojen luokittelu ja vertailu
Tämän artikkelin sisältö
Käytön aloittaminen
Käy DAX Resource Center Wiki -wikissä, josta löydät kaikenlaisia DAX-tietoja, kuten blogeja, näytteitä, tietoraportteja ja alan johtavien ammattilaisten ja Microsoftin videoita.
Skenaariot: Monimutkaisten laskutoimitusten suorittaminen
DAX-kaavat voivat suorittaa monimutkaisia laskutoimituksia, joissa käytetään mukautettuja koostuksia, suodatusta ja ehdollisten arvojen käyttöä. Tässä osassa on esimerkkejä mukautettujen laskutoimitusten käytön aloittamista varten.
Mukautettujen laskutoimitusten luominen Pivot-taulukkoa varten
CALCULATE ja CALCULATETABLE ovat tehokkaita ja joustavia funktioita, jotka ovat hyödyllisiä laskettujen kenttien määrittämiseen. Näiden funktioiden avulla voit muuttaa kontekstia, jossa laskutoimitus suoritetaan. Voit myös mukauttaa kooste- tai matemaattista toimintoa. Esimerkkejä on seuraavissa ohjeaiheissa.
Suodattimen käyttäminen kaavassa
Useimmissa paikoissa, joissa DAX-funktio käyttää taulukkoa argumenttina, voit yleensä siirtää sen sijaan suodatettuun taulukkoon joko käyttämällä FILTER-funktiota taulukon nimen sijaan tai määrittämällä suodatinlausekkeen funktion argumenttina. Seuraavissa ohjeaiheissa on esimerkkejä siitä, miten suodattimia luodaan ja miten suodattimet vaikuttavat kaavojen tuloksiin. Lisätietoja on artikkelissa DAX-kaavojen tietojen suodattaminen.
SUODATA-funktion avulla voit määrittää suodatusehdot lausekkeen avulla, kun taas muut funktiot on suunniteltu erityisesti tyhjien arvojen suodatusta varten.
Dynaamisen suhteen luominen poistamalla suodattimia valikoidusti
Luomalla dynaamisia suodattimia kaavoihin voit vastata helposti esimerkiksi seuraaviin kysymyksiin:
-
Mikä oli nykyisen tuotteen myynnin osuus vuoden kokonaismyynnistä?
-
Kuinka paljon tämä osasto on vaikuttanut kaikkien käyttövuosien kokonaisvoitoihin verrattuna muihin osastoihin?
Pivot-taulukossa käytettävät kaavat voivat vaikuttaa Pivot-taulukon kontekstiin, mutta voit muuttaa kontekstia valikoivasti lisäämällä tai poistamalla suodattimia. KAIKKI-ohjeaiheen esimerkissä näytetään, miten voit tehdä tämän. Voit selvittää tietyn jälleenmyyjän myynnin suhteen kaikkien jälleenmyyjien myyntiin luomalla mittayksikön, joka laskee nykyisen kontekstin arvon jaettuna ALL-kontekstin arvolla.
ALLEXCEPT-aiheessa on esimerkki siitä, miten voit poistaa kaavan suodattimet valikoidusti. Molemmissa esimerkeissä esitetään, miten tulokset muuttuvat Pivot-taulukon rakenteen mukaan.
Muita esimerkkejä suhteiden ja prosenttien laskemisesta on seuraavissa ohjeaiheissa:
Arvon käyttäminen uloimman silmukan avulla
Nykyisen kontekstin arvojen käyttämisen lisäksi DAX voi käyttää edellisen silmukan arvoa toisiinsa liittyvien laskutoimitusten luomiseen. Seuraavassa ohjeaiheessa on vaiheittaiset ohjeet siihen, miten voit luoda kaavan, joka viittaa arvon ulomman silmukan arvoon. EARLIER-funktio tukee enintään kahta sisäkkäisten silmukkatasojen tasoa.
Lisätietoja rivikontekstista ja siihen liittyvistä taulukoista sekä tämän käsitteen käytöstä kaavoissa on artikkelissa DAX-kaavojen konteksti.
Skenaariot: Tekstin ja päivämäärien käyttö
Tässä osiossa on linkkejä DAX-viiteaiheisiin, jotka sisältävät esimerkkejä yleisistä skenaarioista, jotka liittyvät tekstin käyttöön, päivämäärän ja ajan arvojen poimimiseen ja kirjoitmiseen tai arvojen luomiseen ehdon perusteella.
Avainsarakkeen luominen ketjutuksen avulla
Power Pivot ei salli yhdistelmäavaimia; Jos tietolähteessäsi on yhdistelmäavaimia, ne on ehkä yhdistettävä yhdeksi avainsarakkeeksi. Seuraavassa ohjeaiheessa on esimerkki yhdistelmäavaimen perusteella lasketun sarakkeen luokasta.
Päivämäärästä poimittuihin päivämääräosiin perustuvan päivämäärän luonti
Power Pivot käyttää SQL Server ja kellonaika -tietotyyppiä; Jos ulkoiset tiedot sisältävät päivämääriä, jotka on muotoiltu eri tavalla (esimerkiksi jos päivämäärät on kirjoitettu alueellisissa päivämäärämuodoissa, joita Power Pivot-datamoduuli ei tunnista, tai jos tiedot käyttävät kokonaislukujen korjastusavaimia), voit joutua poimimaan päivämäärän osat DAX-kaavan avulla ja kirjoittamaan sitten osat kelvollisen päivämäärän ja ajan esitysmuotoon.
Jos sinulla on esimerkiksi päivämääräsarake, joka on esitetty kokonaislukuna ja tuotu tekstimerkkijonona, voit muuntaa merkkijonon päivämäärä-/aika-arvoksi käyttämällä seuraavaa kaavaa:
=PÄIVÄYS(OIKEA([Arvo1],4),VASEN([Arvo1],2),MID([Arvo1],2))
Arvo1 |
Tulos |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Seuraavissa ohjeaiheissa on lisätietoja funktioista, joita käytetään päivämäärien poimintaan ja luontiin.
Mukautetun päivämäärä- tai lukumuotoilun luominen
Jos tiedot sisältävät päivämääriä tai numeroita, joita ei ole esitetty vakiomuotoiluissa Windows, voit määrittää mukautetun muotoilun ja varmistaa, että arvot käsitellään oikein. Näitä muotoiluja käytetään muunnettaessa arvoja merkkijonoiksi tai merkkijonoista. Seuraavissa ohjeaiheissa on myös yksityiskohtainen luettelo ennalta määritetyistä muodoista, jotka ovat käytettävissä päivämäärien ja numeroiden kanssa työskentelyä varten.
Tietotyyppien muuttaminen kaavan avulla
Power Pivot-sarakkeessa tulosteen tietotyyppi määräytyy lähdesarakkeiden mukaan, eikä tuloksen tietotyyppiä voi määrittää eksplisiittisesti, koska paras mahdollinen tietotyyppi määräytyy Power Pivot. Voit kuitenkin käsitellä tulosteen tietotyyppiä Power Pivot implisiittisten tietotyyppimuunnosten avulla.
-
Voit muuntaa päivämäärän tai numeromerkkijonon kertomalla luvun 1,0:lla. Esimerkiksi seuraava kaava laskee nykyisen päivämäärän vähennettynä kolmella päivällä ja palauttaa sitten vastaavan kokonaislukuarvon.
=(TÄMÄ.PÄIVÄ()-3)*1,0
-
Jos haluat muuntaa päivämäärän, luvun tai valuutta-arvon merkkijonoksi, ketjuta arvo tyhjään merkkijonoon. Esimerkiksi seuraava kaava palauttaa tämän päivän päivämäärän merkkijonona.
=""& TÄMÄ.PÄIVÄ()
Seuraavien funktioiden avulla voidaan myös varmistaa, että tietty tietotyyppi palautetaan:
Reaalilukujen muuntaminen kokonaisluvuiksi
-
Reaalilukujen, kokonaislukujen tai päivämäärien muuntaminen merkkijonoiksi
-
Merkkijonojen muuntaminen reaaliluvuiksi tai päivämääriksi
Skenaario: Ehdolliset arvot ja virheiden testaaminen
Kuten Excel, DAX sisältää funktioita, joiden avulla voit testata tietojen arvoja ja palauttaa eri arvon ehdon perusteella. Voit esimerkiksi luoda lasketun sarakkeen, jossa jälleenmyyjät on merkitty joko ensisijaisiksi tai arvoksi vuosittaista myyntisummaa käyttäen. Funktiot, jotka testaavat arvoja, ovat hyödyllisiä myös arvojen alueen tai tyypin tarkistamiseen, jotta odottamattomat tietovirheet eivät katkea laskutoimituksia.
Arvon luominen ehdon perusteella
Sisäkkäisten JOS-ehtojen avulla voit testata arvoja ja luoda uusia arvoja ehdollisesti. Seuraavat aiheet sisältävät yksinkertaisia esimerkkejä ehdollisesta käsittelystä ja ehdollisesta arvosta:
Kaavan virheiden testaaminen
Toisin Excel ei voi olla kelvollisia arvoja lasketun sarakkeen yhdellä rivillä ja virheellisiä arvoja toisella rivillä. Jos Power Pivot-sarakkeen jossakin osassa ilmenee virhe, koko sarakkeeseen on merkitty virhe, joten sinun on aina korjattava kaavavirheet, jotka johtavat virheellisiin arvoihin.
Jos esimerkiksi luot kaavan, joka jaetaan nollalla, tuloksena voi olla ääretön tulos tai virhe. Jotkin kaavat epäonnistuvat myös, jos funktio kohtaa tyhjän arvon, kun se odottaa numeerista arvoa. Kun kehität tietomallia, on parasta sallia virheiden ilmestyminen, jotta voit napsauttaa viestiä ja tehdä ongelman vianmäärityksen. Kun julkaiset työkirjoja, sinun kannattaa kuitenkin sisällyttää virheenkäsittely, jotta odottamattomat arvot eivät aiheuta laskutoimitusten epäonnistumista.
Voit välttää virheiden palauttamisen lasketussa sarakkeessa käyttämällä loogisia ja tietofunktioita, jotka testaavat virheitä ja palauttavat aina kelvollisia arvoja. Seuraavissa ohjeaiheissa on joitakin yksinkertaisia esimerkkejä siitä, miten voit tehdä tämän DAX-kielen avulla:
Skenaariot: Aikatietojen käyttäminen
DAX-aikatietofunktiot sisältävät funktioita, joiden avulla voit noutaa päivämäärät tai päivämäärävälit tiedoistasi. Tämän jälkeen voit käyttää näitä päivämääriä tai päivämääräalueita, kun haluat laskea arvoja samankaltaisilta kausilta. Aikatietofunktiot sisältävät myös funktioita, jotka toimivat tavallisilla päivämääräväleilla, jotta voit verrata kuukausien, vuosien tai vuosineljänneksten arvoja. Voit myös luoda kaavan, joka vertaa tietyn jakson ensimmäisen ja viimeisen päivämäärän arvoja.
Luettelo kaikista aikatietofunktioista on kohdassa Aikatietofunktiot (DAX). Vihjeitä päivämäärien ja kellonaikojen tehokkaaseen käyttöön tietojen Power Pivot on kohdassa Päivämäärät Power Pivotissa.
Kumulatiivisen myynnin laskeminen
Seuraavissa ohjeaiheissa on esimerkkejä loppu- ja avaussaldojen laskemisesta. Esimerkkien avulla voit luoda juoksevan saldon eri välein, kuten päiville, kuukausille, neljännesvuosille tai vuosille.
Arvojen vertaaminen ajan mittaan
Seuraavissa ohjeaiheissa on esimerkkejä eri ajanjaksojen summien vertaamiseen. DAXin tukemat oletusaikajaksot ovat kuukaudet, vuosineljännekset ja vuodet.
Arvon laskeminen mukautetulla päivämääräalueella
Seuraavissa ohjeaiheissa on esimerkkejä mukautettujen päivämäärävälien hakemiseen, kuten ensimmäiset 15 päivää myyntikampanjan alkamisen jälkeen.
Jos noudat mukautetun päivämääräjoukon aikatietofunktioiden avulla, voit käyttää tätä päivämääräjoukkoa syötteenä funktioon, joka suorittaa laskutoimituksia, ja luoda mukautettuja koostuksia eri ajanjaksoille. Seuraavassa aiheessa on esimerkki siitä, miten voit tehdä tämän:
-
Huomautus: Jos sinun ei tarvitse määrittää mukautettua päivämääräväliä, mutta käytät tavallisia laskentayksiköitä, kuten kuukausia, neljännesvuosia tai vuosia, suosittelemme tekemään laskutoimituksia tähän tarkoitukseen suunniteltujen aikatietojen funktioiden avulla, kuten TOTALQTD, TOTALMTD, TOTALQTD jne.
Skenaariot: Arvojen luokittelu ja vertailu
Jos haluat näyttää vain ylimmän n kohteiden määrän sarakkeessa tai Pivot-taulukossa, sinulla on useita vaihtoehtoja:
-
Voit luoda ylimmän suodattimen Excel 2010:n ominaisuuksien avulla. Voit myös valita pivot-taulukon ylimmät tai alimmat arvot. Tämän osan ensimmäisessä osassa kuvataan, miten pivot-taulukon 10 ensimmäistä kohdetta suodatetaan. Lisätietoja on Excel ohjeissa.
-
Voit luoda kaavan, joka järjestää arvot dynaamisesti ja suodattaa sitten luokitusarvojen mukaan tai käyttää luokitusarvoa osittajana. Tämän osan toisessa osassa kuvataan, miten voit luoda tämän kaavan ja käyttää tätä sijoituksia osittajassa.
Kullakin menetelmällä on etuja ja haittoja.
-
Ylimmän Excel suodatinta on helppo käyttää, mutta suodatin on tarkoitettu ainoastaan näyttötarkoituksiin. Jos Pivot-taulukon pohjana olevat tiedot muuttuvat, muutokset on päivitettävä manuaalisesti Pivot-taulukkoon. Jos haluat käyttää sijoituksia dynaamisesti, voit luoda DAX-kaavoja, jotka vertaavat arvoja sarakkeen muihin arvoihin.
-
DAX-kaava on tehokkaampi. Kun lisäät luokitusarvon osittajaan, voit napsauttaa osittajaa ja muuttaa näkyvissä olevien ylimpia arvoja. Laskutoimitukset ovat kuitenkin tietojenkäsittelyllisesti kalliita, eikä tätä menetelmää välttämättä voi käyttää taulukoihin, joissa on useita rivejä.
Näytä vain kymmenen ylintä kohdetta Pivot-taulukossa
Pivot-taulukon ylimmät tai alimmat arvot
|
Kohteiden dynaaminen järjestys kaavan avulla
Seuraavassa aiheessa on esimerkki DAX-järjestyksen luosta, joka tallennetaan laskettuun sarakkeeseen. Koska DAX-kaavat lasketaan dynaamisesti, voit aina olla varma, että järjestys on oikea, vaikka pohjana olevat tiedot ovat muuttuneet. Koska kaavaa käytetään lasketussa sarakkeessa, voit käyttää osittajan luokitusta ja valita sitten osittajassa 5 ylintä, 10 ylintä tai jopa 100 ylintä arvoa.