Tässä osassa on linkkejä esimerkkeihin, jotka osoittavat DAX-kaavojen käytön seuraavissa skenaarioissa.
-
Monimutkaisten laskutoimitusten suorittaminen
-
Tekstin ja päivämäärien käsitteleminen
-
Ehdolliset arvot ja virheiden testaaminen
-
Aikatietojen käyttäminen
-
Arvojen luokittelu ja vertailu
Tämän artikkelin sisältö
Aloitusopas
Käy DAX Resource Center Wikissä , josta löydät dax-tietoja, kuten alan johtavien ammattilaisten ja Microsoftin tarjoamia blogeja, näytteitä, valkopaperia ja videoita.
Skenaariot: Monimutkaisten laskutoimitusten suorittaminen
DAX-kaavat voivat suorittaa monimutkaisia laskutoimituksia, joihin liittyy mukautettuja koosteita, suodatusta ja ehdollisten arvojen käyttöä. Tässä osassa on esimerkkejä mukautettujen laskutoimitusten käytön aloittamisesta.
Mukautettujen laskutoimitusten luominen Pivot-taulukkoa varten
CALCULATE ja CALCULATETABLE ovat tehokkaita ja joustavia funktioita, jotka ovat hyödyllisiä laskettujen kenttien määrittämisessä. Näiden funktioiden avulla voit muuttaa kontekstia, jossa laskutoimitus suoritetaan. Voit myös mukauttaa suoritettavan kooste- tai matemaattisen toiminnon tyyppiä. Esimerkkejä on seuraavissa ohjeaiheissa.
Suodattimen käyttäminen kaavassa
Useimmissa paikoissa, joissa DAX-funktio käyttää argumenttina taulukkoa, voit yleensä käyttää suodatettua taulukkoa joko käyttämällä SUODATA-funktiota taulukon nimen sijaan tai määrittämällä suodatinlausekkeen yhdeksi funktion argumenteista. Seuraavissa ohjeaiheissa on esimerkkejä suodattimien luomisesta ja siitä, miten suodattimet vaikuttavat kaavojen tuloksiin. Lisätietoja on artikkelissa Tietojen suodattaminen DAX-kaavoissa.
SUODATA-funktion avulla voit määrittää suodatusehdot lausekkeen avulla, kun taas muut funktiot on suunniteltu suodattamaan tyhjät arvot pois.
Suodattimien poistaminen valikoivasti dynaamisen suhteen luomiseksi
Luomalla dynaamisia suodattimia kaavoihin voit helposti vastata esimerkiksi seuraaviin kysymyksiin:
-
Mikä oli nykyisen tuotteen myynnin osuus vuoden kokonaismyynnistä?
-
Kuinka paljon tämä divisioona on edistänyt kaikkien toimintavuosien kokonaisvoittoja verrattuna muihin divisiooniin?
Pivot-taulukon konteksti voi vaikuttaa Pivot-taulukossa käytettäviin kaavoihin, mutta voit muuttaa kontekstia valikoivasti lisäämällä tai poistamalla suodattimia. KAIKKI-aiheessa olevassa esimerkissä kerrotaan, miten tämä tehdään. Jos haluat selvittää tietyn jälleenmyyjän myyntisuhteen kaikkien jälleenmyyjien myyntiin nähden, luo mittayksikkö, joka laskee nykyisen kontekstin arvon jaettuna ALL-kontekstin arvolla.
ALLEXCEPT-aiheessa on esimerkki kaavan suodattimien valikoivasta tyhjentämisestä. Molemmissa esimerkeissä kerrotaan, miten tulokset muuttuvat Pivot-taulukon rakenteen mukaan.
Muita esimerkkejä suhteiden ja prosenttien laskemisesta on seuraavissa ohjeaiheissa:
Ulkosilmukan arvon käyttäminen
Sen lisäksi, että DAX käyttää nykyisen kontekstin arvoja laskutoimituksissa, se voi käyttää edellisen silmukan arvoa toisiinsa liittyvien laskutoimitusten luomisessa. Seuraavassa ohjeaiheessa kerrotaan, miten voit luoda kaavan, joka viittaa ulkosilmukan arvoon. EARLIER-funktio tukee enintään kahta sisäkkäisten silmukoiden tasoa.
Lisätietoja rivikontekstista ja siihen liittyvistä taulukoista sekä tämän käsitteen käyttämisestä kaavoissa on artikkelissa DAX-kaavojen konteksti.
Skenaariot: Tekstin ja päivämäärien käsitteleminen
Tässä osassa on linkkejä DAX-ohjeaiheisiin, jotka sisältävät esimerkkejä yleisistä skenaarioista, joissa käsitellään tekstiä, poimitaan ja luodaan päivämäärä- ja aika-arvoja tai luodaan arvoja ehdon perusteella.
Avainsarakkeen luominen ketjuttamalla
Power Pivot ei salli yhdistelmäavaimia. Jos tietolähteessäsi on koosteavaimia, ne on ehkä yhdistettävä yhdeksi avainsarakkeeksi. Seuraavassa aiheessa on yksi esimerkki yhdistelmäavaimeen perustuvan lasketun sarakkeen luomisesta.
Päivämäärän luominen tekstipäivämäärästä poimittujen päivämääräosien perusteella
Power Pivot käyttää päivämäärien käsittelyssä SQL Serverin päivämäärä- ja aikatietotyyppiä. 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 aluekohtaisessa päivämäärämuodossa, jota Power Pivot tietomoduuli ei tunnista, tai jos tiedot käyttävät kokonaisluvun korvaavia näppäimiä, sinun on ehkä käytettävä DAX-kaavaa päivämääräosien poimimiseen ja osien kirjoittamiseen kelvolliseen päivämäärä-/aikamuotoon.
Jos sinulla on esimerkiksi päivämääräsarake, joka on esitetty kokonaislukuna ja tuotu sitten tekstimerkkijonona, voit muuntaa merkkijonon päivämäärä-/aika-arvoksi käyttämällä seuraavaa kaavaa:
=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))
Arvo1 |
Tulos |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Seuraavissa ohjeaiheissa on lisätietoja päivämäärien poimimiseen ja kirjoittamiseen käytetyistä funktioista.
Mukautetun päivämäärä- tai lukumuodon määrittäminen
Jos tiedot sisältävät päivämääriä tai lukuja, joita ei ole esitetty Windowsin vakiotekstimuodossa, voit määrittää mukautetun muodon, joka 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ä muotoiluista, jotka ovat käytettävissä päivämäärien ja numeroiden käsittelyyn.
Tietotyyppien muuttaminen kaavan avulla
Power Pivot lähdesarakkeet määrittävät tulostuksen tietotyypin, etkä voi erikseen määrittää tuloksen tietotyyppiä, koska optimaalisen tietotyypin määrittää Power Pivot. Voit kuitenkin käyttää Power Pivot suorittamia implisiittisiä tietotyyppimuunnoksia kohdetietotyypin käsittelyyn.
-
Jos haluat muuntaa päivämäärän tai lukumerkkijonon luvuksi, kerro luvulla 1,0. Esimerkiksi seuraava kaava laskee nykyisen päivämäärän miinus 3 päivää 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, yhdistä arvo tyhjään merkkijonoon. Esimerkiksi seuraava kaava palauttaa kuluvan päivän päivämäärän merkkijonona.
=""& TÄNÄÄN()
Seuraavilla funktioilla voidaan myös varmistaa, että tietty tietotyyppi palautetaan:
Reaalilukujen muuntaminen kokonaisluvuiksi
-
Reaalilukujen, kokonaislukujen tai päivämäärien muuntaminen merkkijonoiksi
-
Merkkijonojen muuntaminen todellisiksi luvuiksi tai päivämääriksi
Skenaario: Ehdolliset arvot ja virheiden testaaminen
Excelin tavoin DAX-funktioiden avulla voit testata tietojen arvoja ja palauttaa eri arvon ehdon perusteella. Voit esimerkiksi luoda lasketun sarakkeen, joka merkitsee jälleenmyyjät joko Ensisijaiseksi tai Arvoksi vuosittaisen myyntisumman mukaan. Arvoja testaavat funktiot ovat hyödyllisiä myös alueen tai arvotyypin tarkistamisessa, jotta odottamattomat tietovirheet eivät voi rikkoa laskutoimituksia.
Arvon luominen ehdon perusteella
Sisäkkäisen JOS-ehdon avulla voit testata arvoja ja luoda uusia arvoja ehdollisesti. Seuraavissa aiheissa on yksinkertaisia esimerkkejä ehdollisesta käsittelystä ja ehdollisista arvoista:
Kaavan virheiden testaaminen
Toisin kuin Excelissä, lasketun sarakkeen yhdellä rivillä ei voi olla kelvollisia arvoja eikä toisella rivillä voi olla virheellisiä arvoja. Jos siis jossakin Power Pivot sarakkeen osassa on virhe, koko sarake merkitään virheellä, joten sinun on aina korjattava kaavavirheet, jotka aiheuttavat virheellisiä arvoja.
Jos esimerkiksi luot kaavan, joka jakautuu nollalla, saatat saada äärettömän tuloksen tai virheen. 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 näkyminen, jotta voit napsauttaa viestiä ja tehdä ongelman vianmäärityksen. Kun julkaiset työkirjoja, sinun on kuitenkin sisällytettävä virheiden käsittely, jotta odottamattomat arvot eivät aiheuta laskutoimitusten epäonnistumista.
Voit välttää lasketun sarakkeen virheiden palauttamisen käyttämällä loogisten funktioiden ja tietofunktioiden yhdistelmää virheiden testaamiseen ja aina kelvollisten arvojen palauttamiseen. Seuraavissa ohjeaiheissa on joitakin yksinkertaisia esimerkkejä siitä, miten tämä tehdään DAX:ssa:
Skenaariot: Aikatietojen käyttäminen
DAX-aikatietofunktiot sisältävät funktioita, joiden avulla voit noutaa päivämääriä tai päivämääräalueita tiedoistasi. Voit sitten käyttää näitä päivämääriä tai päivämääräalueita samanlaisten kausien arvojen laskemiseen. Aikatietofunktiot sisältävät myös funktioita, jotka toimivat normaalien päivämäärävälien kanssa, jotta voit vertailla kuukausien, vuosien tai vuosineljänneksten arvoja. Voit myös luoda kaavan, joka vertaa määritetyn kauden ensimmäisen ja viimeisen päivämäärän arvoja.
Kaikkien aikatietofunktioiden luettelo on artikkelissa Aikatietofunktiot (DAX). Vihjeitä päivämäärien ja kellonaikojen tehokkaaseen käyttöön Power Pivot analyysissa on artikkelissa Päivämäärät Power Pivotissa.
Kumulatiivisen myynnin laskeminen
Seuraavissa ohjeaiheissa on esimerkkejä loppu- ja avaussaldon laskemisesta. Esimerkkien avulla voit luoda juoksevat saldot eri aikavälein, kuten päivinä, kuukausina, vuosineljänneksinä tai vuosina.
Arvojen vertailu ajan kuluessa
Seuraavissa ohjeaiheissa on esimerkkejä eri ajanjaksojen summien vertailusta. DAX:n tukemat oletusarvoiset ajanjaksot ovat kuukaudet, vuosineljännekset ja vuodet.
Mukautetun päivämääräalueen arvon laskeminen
Seuraavissa ohjeaiheissa on esimerkkejä mukautettujen päivämääräalueiden noutamisesta, kuten ensimmäiset 15 päivää myynninedistämisen aloittamisesta.
Jos noudat mukautetun päivämääräjoukon aikatietofunktioiden avulla, voit käyttää kyseistä päivämääräjoukkoa laskutoimituksia suorittavan funktion syötteenä mukautettujen koosteiden luomiseen ajanjaksojen aikana. Seuraavassa ohjeaiheessa on esimerkki siitä, miten tämä tehdään:
-
Huomautus: Jos sinun ei tarvitse määrittää mukautettua päivämääräaluetta, mutta käytät vakiolaskentayksiköitä, kuten kuukausia, vuosineljänneksiä tai vuosia, on suositeltavaa suorittaa laskutoimituksia tätä tarkoitusta varten suunniteltujen aikatietofunktioiden avulla, kuten TOTALQTD, TOTALMTD, TOTALQTD jne.
Skenaariot: Arvojen luokittelu ja vertailu
Jos haluat näyttää vain sarakkeen tai Pivot-taulukon kohteiden ylimmän n määrän, sinulla on useita vaihtoehtoja:
-
Excelin ominaisuuksien avulla voit luoda parhaan suodattimen. Voit myös valita pivot-taulukon ylimmät tai alimmat arvot. Tämän osan ensimmäisessä osassa kuvataan, miten voit suodattaa Pivot-taulukon 10 ensimmäistä kohdetta. Lisätietoja on Excelin ohjeissa.
-
Voit luoda kaavan, joka asettaa arvot dynaamisesti järjestykseen, suodattaa sitten luokitusarvojen mukaan tai käyttää luokitusarvoa osittajana. Tämän osan toisessa osassa kuvataan, miten tämä kaava luodaan ja miten sitä käytetään osittajassa.
Jokaisella menetelmällä on etuja ja haittoja.
-
Excel top -suodatinta on helppo käyttää, mutta suodatin on tarkoitettu vain näyttötarkoituksiin. Jos Pivot-taulukon pohjana olevat tiedot muuttuvat, pivot-taulukko on päivitettävä manuaalisesti, jotta muutokset näkyvät. Jos haluat käsitellä sijoituksia dynaamisesti, voit luoda DAX-funktiolla kaavan, joka vertaa arvoja sarakkeen muihin arvoihin.
-
DAX-kaava on tehokkaampi; Lisäämällä luokitusarvon osittajaan voit myös napsauttaa osittajaa ja muuttaa näytettävien ylimpien arvojen määrää. Laskutoimitukset ovat kuitenkin laskennallisesti kalliita, eikä tämä menetelmä välttämättä sovi taulukoihin, joissa on useita rivejä.
Pivot-taulukon kymmenen suurimman kohteen näyttäminen
Pivot-taulukon ylimmän tai alimman arvon näyttäminen
|
Kohteiden järjestäminen dynaamisesti kaavan avulla
Seuraavassa aiheessa on esimerkki siitä, miten DAX:n avulla luodaan laskettuun sarakkeeseen tallennettu luokitus. Koska DAX-kaavat lasketaan dynaamisesti, voit aina olla varma, että luokitus on oikea, vaikka pohjana olevat tiedot olisivat muuttuneet. Koska kaavaa käytetään lasketussa sarakkeessa, voit käyttää luokitusta osittajassa ja valita sitten ensimmäiset 5, 10 tai jopa 100 parasta arvoa.