Selles jaotises on toodud lingid näidetele, mis näitavad DAX-i valemite kasutamist järgmistes stsenaariumides.
-
Keerukate arvutuste tegemine
-
Teksti ja kuupäevadega töötamine
-
Tingimusväärtused ja vigade testimine
-
Ajateabe kasutamine
-
Väärtuste järjestamine ja võrdlemine
Selle artikli teemad
Alustamine
Külastage DAX-i ressursikeskuse vikit , kust leiate DAX-i kohta kõikvõimalikku teavet (sh ajaveebid, näidised, pagarid ja valdkonna juhtivate spetsialistide ja Microsofti videod).
Stsenaariumid: keerukate arvutuste tegemine
DAX-i valemid võivad teha keerukaid arvutusi, mis hõlmavad kohandatud liitmisi, filtreerimist ja tingimusväärtuste kasutamist. Sellest jaotisest leiate näiteid kohandatud arvutuste kasutamise alustamise kohta.
PivotTable-liigendtabeli jaoks kohandatud arvutuste loomine
CALCULATE ja CALCULATETABLE on võimsad paindlikud funktsioonid, mis on kasulikud arvutuslike väljade määratlemiseks. Need funktsioonid võimaldavad teil muuta konteksti, milles arvutus tehakse. Samuti saate kohandada tehtava liitmis- või matemaatilise toimingu tüüpi. Näiteid leiate järgmistest teemadest.
Filtri rakendamine valemile
Enamikus kohtades, kus DAX-i funktsioon võtab argumendina tabeli, saate tavaliselt edastada hoopis filtreeritud tabelis, kasutades tabelinime asemel funktsiooni FILTER või määrates funktsiooniargumentideks filtriavaldise. Järgmistest teemadest leiate näiteid filtrite loomise ja valemite tulemuste mõjutamise kohta. Lisateavet leiate teemast Andmete filtreerimine DAX-i valemites.
Funktsioon FILTER võimaldab määrata filtrikriteeriumeid avaldise abil, teised aga on loodud spetsiaalselt tühje väärtusi välja filtreerima.
Filtrite valikuline eemaldamine dünaamilise suhte loomiseks
Valemites dünaamiliste filtrite loomisega saate hõlpsalt vastata järgmistele küsimustele.
-
Milline oli praeguse toote müügi osakaal aasta kogumüügis?
-
Kui palju on see osakond panustanud kõigi tegevusaastate kogukasumisse võrreldes teiste allüksustega?
PivotTable-liigendtabeli kontekst võib mõjutada PivotTable-liigendtabelis kasutatavaid valemeid, kuid filtrite lisamise või eemaldamise abil saate konteksti valikuliselt muuta. Teema ALL näites kirjeldatakse, kuidas seda teha. Konkreetse edasimüüja müügisuhte leidmiseks kõigi edasimüüjate müügi suhtes tuleb luua mõõt, mis arvutab praeguse konteksti väärtuse jagatuna konteksti ALL väärtusega.
Teemas ALLEXCEPT on näide valemi filtrite valikulise tühjendamise kohta. Mõlemas näites kirjeldatakse tulemuste muutumist olenevalt PivotTable-liigendtabeli kujundusest.
Muid näiteid suhtarvude ja protsentide arvutamise kohta leiate järgmistest teemadest.
Välise tsükli väärtuse kasutamine
Lisaks praeguse konteksti väärtuste kasutamisele arvutustes saab DAX kasutada seotud arvutuste komplekti loomisel eelmise tsükli väärtust. Järgmises teemas antakse ülevaade sellest, kuidas koostada valem, mis viitab välisest tsüklist pärinevale väärtusele. Funktsioon EARLIER toetab kuni kahte pesastatud tsükli taset.
Lisateavet reakonteksti ja seotud tabelite ning selle kohta, kuidas seda mõistet valemites kasutada, leiate teemast Kontekst DAX-i valemites.
Stsenaariumid: teksti ja kuupäevadega töötamine
Sellest jaotisest leiate lingid DAX-i viiteteemadele, mis sisaldavad näiteid levinumate stsenaariumide kohta, mis hõlmavad tekstiga töötamist, kuupäeva- ja kellaajaväärtuste ekstraktimist ja koostamist või teatud tingimuse põhjal väärtuste loomist.
Võtmeveeru loomine ühendamise teel
Power Pivot ei võimalda liitvõtmeid; seega, kui andmeallikas on liitvõtmed, peate need võib-olla ühendama üheks võtmeveeruks. Järgmises teemas on toodud näide sellest, kuidas luua liitvõtme põhjal arvutatud veerg.
Kuupäeva koostamine tekstikuupäevast ekstraktitud kuupäevaosade põhjal
Power Pivot kasutab kuupäevadega töötamiseks SQL Serveri kuupäeva/kellaaja andmetüüpi; seega, kui teie välisandmed sisaldavad kuupäevi, mis on vormindatud teisiti – näiteks kui kuupäevad on kirjutatud piirkondlikus kuupäevavormingus, mida Power Pivot andmemootor ei tunne, või kui teie andmed kasutavad täisarvuliste asendusvõtmetega -- võib olla vaja kasutada DAX-i valemit kuupäevaosade ekstraktimiseks ja seejärel osade koostamiseks sobivasse kuupäeva-/kellaajavormingusse.
Näiteks kui teil on veerg kuupäevadega, mis on esitatud täisarvuna ja seejärel imporditud tekstistringina, saate teisendada stringi kuupäeva-/kellaajaväärtuseks, kasutades järgmist valemit:
=DATE(RIGHT([Väärtus1];4);LEFT([Väärtus1];2);MID([Väärtus1];2))
Väärtus1 |
Tulem |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Järgmistest teemadest leiate lisateavet kuupäevade ekstraktimiseks ja koostamiseks kasutatavate funktsioonide kohta.
Kohandatud kuupäeva- või arvuvormingu määratlemine
Kui teie andmed sisaldavad kuupäevi või arve, mis pole üheski Windowsi standardses tekstivormingus esitatud, saate määratleda kohandatud vormingu, et tagada väärtuste õige käsitlemine. Neid vorminguid kasutatakse väärtuste stringideks või stringideks teisendamisel. Järgmistest teemadest leiate ka üksikasjaliku loendi eelmääratletud vormingutest, mis on saadaval kuupäevade ja numbritega töötamiseks.
Andmetüüpide muutmine valemi abil
Power Pivot määrab väljundi andmetüüpi lähteveerud ja tulemi andmetüüpi ei saa täpselt määrata, kuna optimaalse andmetüübi määrab Power Pivot. Väljundandmetüübi muutmiseks saate aga kasutada Power Pivot tehtavaid kaudseid andmetüübiteisendusi.
-
Kuupäeva või arvustringi arvuks teisendamiseks korrutage väärtus 1,0-ga. Näiteks järgmine valem arvutab praeguse kuupäeva miinus 3 päeva ja väljastab seejärel vastava täisarvu.
=(TODAY()-3)*1,0
-
Kuupäeva, arvu või valuutaväärtuse stringi teisendamiseks ühendage väärtus tühja stringiga. Näiteks tagastab järgmine valem stringina tänase kuupäeva.
=""& TODAY()
Kindla andmetüübi tagastamise tagamiseks saab kasutada ka järgmisi funktsioone.
Reaalarvude teisendamine täisarvudeks
-
Reaalarvude, täisarvude või kuupäevade teisendamine stringideks
-
Stringide teisendamine reaalarvudeks või kuupäevadeks
Stsenaarium: tingimusväärtused ja vigade testimine
Nagu Excelil, on ka DAX-il funktsioonid, mis võimaldavad teil testida andmetes olevaid väärtusi ja tagastada tingimuse põhjal mõne muu väärtuse. Näiteks saate luua arvutusliku veeru, mis sildistab edasimüüjad vastavalt aasta müügisummale kas väärtuseks Eelistatud või Väärtus . Väärtusi testivad funktsioonid on kasulikud ka väärtuste vahemiku või tüübi kontrollimiseks, et vältida ootamatute andmevigade arvutuste katkestamist.
Väärtuse loomine tingimuse põhjal
Pesastatud IF-tingimuste abil saate väärtusi testida ja uusi väärtusi tingimuslikult genereerida. Järgmised teemad sisaldavad lihtsaid näiteid tingimustöötluse ja tingimusväärtuste kohta.
Valemi vigade testimine
Erinevalt Excelist ei saa arvutatud veeru ühes reas olla kehtivaid väärtusi ja teises reas sobimatuid väärtusi. See st kui Power Pivot veeru mis tahes osas ilmneb tõrge, märgitakse kogu veerg veaga, nii et peate alati parandama valemivead, mis tulemuseks on sobimatud väärtused.
Näiteks kui loote valemi, mis jagab nulliga, võite saada lõpmatuse tulemi või vea. Mõni valem nurjub ka siis, kui funktsioon kohtab arvväärtuse eeldamisel tühja väärtust. Andmemudeli väljatöötamisel on kõige parem lubada tõrgete kuvamine, et saaksite sõnumit klõpsata ja probleemi tõrkeotsingut teha. Töövihikute avaldamisel peaksite siiski kaasama tõrketöötluse, et vältida ootamatute väärtuste arvutuste nurjumist.
Arvutuslikus veerus vigade tagastamise vältimiseks testige loogika- ja teabefunktsioonide kombinatsiooni abil ja tagastage alati sobivad väärtused. Järgmistest teemadest leiate mõned lihtsad näited selle kohta, kuidas seda DAX-is teha.
Stsenaariumid: ajateabe kasutamine
DAX-i ajateabefunktsioonid sisaldavad funktsioone, mis aitavad teil andmetest kuupäevi või kuupäevavahemikke tuua. Seejärel saate neid kuupäevi või kuupäevavahemikke kasutada väärtuste arvutamiseks sarnaste perioodide lõikes. Ajateabefunktsioonid sisaldavad ka standardse kuupäevaintervalliga töötavaid funktsioone, et saaksite võrrelda kuude, aastate või kvartalite väärtusi. Samuti võite luua valemi, mis võrdleb määratud perioodi esimese ja viimase kuupäeva väärtusi.
Kõigi ajateabefunktsioonide loendi leiate teemast Ajateabefunktsioonid (DAX). Näpunäiteid kuupäevade ja kellaaegade tõhusa kasutamise kohta Power Pivot analüüsis leiate teemast Kuupäevad Power Pivotis.
Kumulatiivse müügi arvutamine
Järgmised teemad sisaldavad näiteid sulgemis- ja avamissaldode arvutamise kohta. Nende näidete abil saate luua jooksvad saldod erinevate intervallide (nt päevade, kuude, kvartalite või aastate) lõikes.
Väärtuste võrdlemine aja jooksul
Järgmised teemad sisaldavad näiteid selle kohta, kuidas võrrelda summasid eri ajavahemike lõikes. DAX-i toetatud vaikeajaperioodid on kuud, kvartalid ja aastad.
Väärtuse arvutamine kohandatud kuupäevavahemikus
Järgmistest teemadest leiate näiteid kohandatud kuupäevavahemike toomise kohta (nt esimesed 15 päeva pärast müügikampaania algust).
Kui kasutate ajateabefunktsioone kohandatud kuupäevakogumi toomiseks, saate seda kuupäevakomplekti kasutada arvutusi teostava funktsiooni sisendina, et luua ajaperioodide lõikes kohandatud liitväärtused. Selle kohta leiate näite järgmisest teemast.
-
Märkus.: Kui teil pole vaja kohandatud kuupäevavahemikku määrata, kuid töötate tavaliste raamatupidamisüksustega (nt kuud, kvartalid või aastad), soovitame teil teha arvutusi, kasutades selleks mõeldud ajateabefunktsioone (nt TOTALQTD, TOTALMTD, TOTALQTD jne).
Stsenaariumid: väärtuste järjestus ja võrdlemine
Ainult n ülemise arvu üksuste kuvamiseks veerus või PivotTable-liigendtabelis on teil mitu võimalust.
-
Ülemise filtri saate luua Exceli funktsioonide abil. PivotTable-liigendtabelis saate valida ka mitu suurimat või alumist väärtust. Selle jaotise esimeses osas kirjeldatakse, kuidas filtreerida PivotTable-liigendtabelis kümme esimest üksust. Lisateavet leiate Exceli dokumentatsioonist.
-
Saate luua valemi, mis järjestab väärtused dünaamiliselt, ja filtreerida seejärel reitinguväärtuste alusel või kasutada reitinguväärtust tükeldina. Selle jaotise teises osas kirjeldatakse, kuidas seda valemit luua ja seejärel tükeldi reitingut kasutada.
Igal meetodil on eelised ja puudused.
-
Exceli ülemist filtrit on lihtne kasutada, kuid see on mõeldud ainult kuvamiseks. Kui PivotTable-liigendtabeli aluseks olevad andmed muutuvad, peate muudatuste nägemiseks PivotTable-liigendtabelit käsitsi värskendama. Kui soovite reitingutega dünaamiliselt töötada, saate DAX-i abil luua valemi, mis võrdleb väärtusi veeru teiste väärtustega.
-
DAX-i valem on võimsam; lisaks saate tükeldile reitinguväärtuse lisamisega klõpsata tükeldit, et muuta kuvatavate maksimumväärtuste arvu. Arvutused on arvutuslikult kulukad ja see meetod ei pruugi sobida mitme reaga tabelite jaoks.
PivotTable-liigendtabelis ainult kümne esimese üksuse kuvamine
Ülemiste või alumiste väärtuste kuvamine PivotTable-liigendtabelis
|
Üksuste dünaamiline järjestamine valemi abil
Järgmine teema sisaldab näidet selle kohta, kuidas luua DAX-i abil arvutuslikus veerus talletatud reitingut. Kuna DAX-i valemeid arvutatakse dünaamiliselt, saate alati olla kindel, et reiting on õige isegi siis, kui aluseks olevad andmed on muutunud. Kuna valemit kasutatakse arvutuslikus veerus, saate kasutada tükeldi reitingut ja seejärel valida esimesed 5, 10 esimest või isegi 100 esimest väärtust.