See kiirjuhend on mõeldud kasutajatele, kes on excelis Power Pivot või SQL Serveri andmeriistade abil loodud tabelimudeliprojektid. Selle eesmärk on anda teile kiire ja lihtne sissejuhatus selle kohta, kuidas kasutada andmeanalüüsi avaldisi (DAX) mitmete põhiliste andmete modelleerimise ja analüüsiga seotud probleemide lahendamiseks. See teema sisaldab kontseptuaalset teavet, ülesannete sarja, mida saate lõpule viia, ja paari õppetesti, et õpitut testida. Pärast selle teema lõpuleviimist peaks teil olema hea arusaam DAX-i kõige põhilisematest põhimõistetest.
Mis on DAX?
DAX on kogum funktsioone, operaatoreid ja konstante, mida saab kasutada valemis ja avaldises ühe või mitme väärtuse arvutamiseks ning tagastamiseks. Lihtsamalt öeldes aitab DAX luua uut teavet juba teie mudelis olevatest andmetest.
Miks on DAX nii tähtis?
Töövihiku loomine ja sellesse andmete importimine on lihtne. Saate isegi luua PivotTable-liigendtableid või PivotChart-liigenddiagramme, mis kuvavad olulist teavet, ilma DAX-i valemeid kasutamata. Mida aga teha siis, kui teil on vaja analüüsida kriitilisi müügiandmeid mitme tootekategooria ja erinevate kuupäevavahemike kohta? Või peate erinevates andmeallikates kombineerima mitme tabeli olulisi inventuuriandmeid? DAX-i valemid pakuvad seda võimalust ja palju muid olulisi võimalusi. Tõhusate DAX-i valemite loomise õppimine aitab teil oma andmeid võimalikult tõhusalt kasutada. Kui saate vajaliku teabe, saate hakata lahendama tegelikke äriprobleeme, mis mõjutavad teie alumist joont. See on ärianalüüs ja DAX aitab teil sinna jõuda.
Eeltingimused
Võib-olla olete juba tuttav Microsoft Excelis valemite loomisega. Need teadmised on DAX-i mõistmisel kasulikud, kuid isegi kui teil pole Exceli valemitega kogemusi, aitavad siin kirjeldatud mõisted teil kohe DAX-i valemeid luua ja probleeme lahendada.
Keskendume konkreetselt arvutustes kasutatavate DAX-i valemite mõistmisele. Peaksite juba olema tuttav nii arvutuslike veergude kui ka mõõtude (ehk arvutuslike väljade) põhimõistetega, mida on kirjeldatud Power Pivot spikris. Samuti peaksite olema tuttav Exceli loomekeskkonna ja -tööriistade Power Pivot.
Näidistöövihik
Parim viis DAX-i tundmaõppimiseks on luua põhivalemeid, kasutada neid tegelike andmetega ja vaadata tulemusi ise. Siinses näites kasutatakse Contoso näidis-DAX-i Formulas.xlsx töövihikut. Töövihiku saate alla laadida kohast http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Kui töövihik on arvutisse alla laaditud, avage see ja seejärel avage Power Pivot aken.
Hakkame pihta!
Paneme DAX-i ümber kolme väga tähtsa põhimõiste: süntaks, funktsioonid ja kontekst. Muidugi on DAX-is muid olulisi kontseptsioone, kuid nende kolme kontseptsiooni mõistmine annab parima aluse, millele oma DAX-i oskusi ehitada.
Süntaks
Enne oma valemite loomist vaatame DAX-i valemisüntaksit. Süntaks sisaldab mitmesuguseid elemente, mis moodustavad valemi, või lihtsamalt valemi kirjutamise viisi. Vaatame näiteks lihtsat DAX-i valemit, mida kasutatakse arvutusliku veeru (nimega Veeris) iga rea jaoks uute andmete (väärtuste) loomiseks factSales tabelis: (valemi tekstivärvid on mõeldud ainult illustratiivseks otstarbeks)
Selle valemi süntaks sisaldab järgmisi elemente.
-
Võrdusmärk (=) näitab valemi algust ja kui see valem arvutatakse, tagastab see tulemi või väärtuse. Kõik väärtuse arvutavad valemid algavad võrdusmärgiga.
-
Viidatud veerg [Müügisumma] sisaldab väärtusi, millest soovite lahutada. Valemi veeruviidet ümbritsevad alati nurksulud []. Erinevalt Exceli valemitest, mis viitavad lahtrile, viitab DAX-i valem alati veerule.
-
Lahutamise (-) matemaatiline tehtemärk.
-
Viidatud veerg [TotalCost] sisaldab väärtusi, mille soovite veeru [Müügisumma] väärtustest lahutada.
Kui püüate mõista, kuidas DAX-i valemit lugeda, on sageli kasulik jaotada kõik elemendid keeleks, mida mõtlete ja räägite iga päev. Näiteks saate lugeda seda valemit järgmiselt:
Arvutage tabelis FactSales (FactSales) arvutatud veeru Veerised iga rea jaoks väärtus (=), lahutades veeru [TotalCost] väärtused veeru [Müügisumma]väärtustest.
Vaatame mõnda muud tüüpi valemit, mida kasutatakse mõõdus.
See valem sisaldab järgmisi süntaksielemente.
-
Mõõdu nimi Müügisumma summa. Mõõtude valemid võivad sisaldada mõõdu nime, koolonit ja seejärel arvutusvalemi.
-
Võrdusmärk (=) näitab arvutusvalemi algust. Kui see arvutatakse, tagastab see tulemi.
-
Funktsioon SUM liidab kõik veeru [Müügisumma] arvud. Funktsioonide kohta saate hiljem lisateavet.
-
Ümarsulg () ümbritseb ühte või mitut argumenti. Kõik funktsioonid nõuavad vähemalt ühte argumenti. Argument edastab funktsioonile väärtuse.
-
Viidatud tabel FactSales.
-
Viidatud veerg [Müügisumma] tabelis FactSales . Selle argumendi korral teab funktsioon SUM, millises veerus SUM liita.
Seda valemit saate lugeda järgmiselt:
Mõõdu nimega Müügisumma summa puhul arvutage (=) tabeli FactSales (Faktimüük) veerus [Müügisumma] väärtuste summa .
Kui see mõõt paigutatakse PivotTable-liigendtabeli väljaloendi väärtuste rippvööndisse, arvutab ja tagastab see mõõt väärtused, mis on määratletud PivotTable-liigendtabeli iga lahtriga (nt USA mobiiltelefonid).
Pange tähele, et selles valemis on võrreldes veeru Veerised arvutatud veerus kasutatud valemiga mõned asjad erinevad. Eriti tutvustasime funktsiooni SUM. Funktsioonid on valmisvalemid, mis hõlbustavad keerukate arvutuste ja manipulatsioonide tegemist arvude, kuupäevade, kellaaja, teksti ja muuga. Funktsioonide kohta saate hiljem lisateavet.
Erinevalt varasemast veerise arvutuslikust veerust näete veergu [Müügisumma], millele eelneb tabel FactSales, kuhu veerg kuulub. Seda nimetatakse täielikuks veerunimeks, kuna see sisaldab veerunime, millele eelneb tabeli nimi. Samas tabelis viidatud veerud ei nõua tabelinime kaasamist valemisse. See võib muuta paljudele veergudele viitavad pikad valemid lühemaks ja hõlpsamini loetavaks. Siiski on mõistlik kaasata mõõduvalemitesse alati tabeli nimi isegi siis, kui see on samas tabelis.
Märkus.: Kui tabeli nimi sisaldab tühikuid, reserveeritud märksõnu või keelatud märke, peate tabeli nime ümbritsema ülakomadega. Kui nimi sisaldab ka väljaspool ANSI tähe- ja numbrimärkide vahemikku sisestatud märke, tuleb tabelinimed panna jutumärkidesse sõltumata sellest, kas teie lokaat toetab märgistikku või mitte.
Väga oluline on, et valemitel oleks õige süntaks. Kui süntaks pole õige, tagastatakse enamasti süntaksiviga. Muudel juhtudel võib süntaks olla õige, kuid tagastatud väärtused ei pruugi olla ootuspärased. Power Pivot (ja SQL Serveri andmeriistad) sisaldavad IntelliSense'i; funktsioon, mida kasutatakse süntaksiliselt õigete valemite loomiseks, aidates valida õigeid elemente.
Loome lihtsa valemi. See toiming aitab teil täpsemalt mõista valemisüntaksit ja seda, kuidas valemiriba funktsioon IntelliSense teid aidata saab.
Ülesanne: arvutatud veeru jaoks lihtsa valemi loomine
-
Kui te pole veel Power Pivot aknas, klõpsake Exceli lindil Power Pivot nuppu Power Pivot aken.
-
Klõpsake Power Pivot aknas tabelit Faktimüük (vahekaart).
-
Liikuge kerides kõige parempoolsema veeruni ja seejärel klõpsake veerupäises nuppu Lisa veerg.
-
Klõpsake mudelikujundaja akna ülaservas asuvat valemiriba.
Kursor kuvatakse nüüd valemiribal. Valemiribal saate tippida arvutusliku veeru või arvutusliku välja valemi.
Vaatame veidi valemiribast vasakul asuvaid kolme nuppu.
Kui kursor on valemiribal aktiivne, muutuvad need kolm nuppu aktiivseks. Kõige vasakpoolsem nupp X on lihtsalt loobumisnupp. Jätkake ja klõpsake seda. Teie kursorit ei kuvata enam valemiribal ning nuppu Loobu ja märkeruutu enam ei kuvata. Jätkake ja klõpsake uuesti valemiriba. Nupp Loobu ja märkenupp kuvatakse nüüd uuesti. See tähendab, et olete valmis valemit sisestama.
Märkenupp on nupp Kontrolli valemit. See ei tee palju enne, kui olete sisestanud valemi. Me tuleme selle juurde veidi aja pärast tagasi.
Klõpsake nuppu Fx . Kuvatakse uus dialoogiboks. dialoogiboks Funktsiooni lisamine. Dialoogiboks Funktsiooni lisamine on lihtsaim viis DAX-i valemi sisestamise alustamiseks. Lisame valemisse funktsiooni, kui loome mõõdu veidi hiljem, kuid praegu ei pea te funktsiooni oma arvutatud veeru valemisse lisama. Sulgege dialoogiboks Funktsiooni lisamine.
-
Tippige valemiribale võrdusmärk =, seejärel tippige algusnurksulg [. Kuvatakse väike aken kõigi tabeli FactSales veergudega. See on Tegevuses IntelliSense.
Kuna arvutuslikud veerud luuakse alati aktiivses tabelis, pole vaja veeru nimele tabeli nimega eelneda. Liikuge kerides allapoole ja seejärel topeltklõpsake väärtust [Müügikvantiteet]. Samuti saate kerida soovitud veerunimeni ja seejärel vajutada tabeldusklahvi (Tab).
Kursor on nüüd aktiivses üksusest [Müügikvantiteet] paremal.
-
Tippige tühik ja seejärel lahutamismärk – (miinusmärk) ja seejärel teine tühik.
-
Nüüd tippige teine algusnurksulg [. Seekord valige veerg [ReturnQuantity] ja vajutage sisestusklahvi (Enter).
Kui saate tõrketeate, vaadake hoolikalt oma süntaksit. Vajadusel võrrelge seda eespool kirjeldatud arvutatud veeriseveeru valemiga.
Kui vajutate valemi lõpuleviimiseks sisestusklahvi (Enter), kuvatakse Power Pivot akna allservas olekuribal sõna Arvutamine . See läheb kiiresti, kuigi arvutasite uusi väärtusi enam kui kolme miljoni rea jaoks.
-
Paremklõpsake veerupäist ja nimetage veerg ümber nimega NetSales.
Ongi kõik! Lõite just lihtsa, kuid väga võimsa DAX-i valemi. Valem NetSales arvutab iga tabeli FactSales rea väärtuse, lahutades veeru [ReturnQuantity] väärtuse veeru [SalesQuantity] väärtusest. Pange tähele, kuidas me just ütlesime "Iga rea jaoks". See on pilk veel ühest väga olulisest kontseptsioonist DAX-is; reakontekst. Reakonteksti kohta saate hiljem lisateavet.
DAX-i valemisse tehtemärgi tippimisel on väga oluline mõista teie argumentide andmetüüpi. Näiteks kui tipite järgmise valemi , = 1 & 2, oleks tagastatud väärtus tekstväärtus "12". Seda seetõttu, et ampersandi (&) tehtemärk on teksti ühendamiseks. DAX tõlgendab seda valemit nii, et see loeks: arvutage tulem, võttes väärtuse 1 tekstina ja lisades väärtuse 2 tekstina. Kui nüüd tippida = 1 + 2, loeb DAX selle valemi ette järgmiselt: arvutage tulem, võttes arvulise väärtuse 1 ja lisades arvväärtuse 2. Tulem on muidugi "3", mis on arvväärtus. DAX arvutab tulemiks olevad väärtused olenevalt valemi tehtemärgist, mitte argumendis kasutatud veergude andmetüübist. DAX-i andmetüübid on väga olulised, kuid väljaspool selle lühijuhendi ulatust. DAX-i valemite andmetüüpide ja tehtemärkide kohta leiate lisateavet raamatute veebirakenduse DAX-viitest (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409).
Proovime teist. Seekord saate mõõdu loomiseks tippida valemi ja kasutada IntelliSense'i. Ärge muretsege liiga palju, kui te valemist täielikult aru ei saa. Siin on oluline teada, kuidas luua valem, kasutades õiges süntaksis mitut elementi.
Ülesanne: mõõduvalemi loomine
-
Klõpsake tabelis FactSales (Faktimüük ) arvutusalas mõnda tühja lahtrit. See on tühjade lahtrite ala, mis asub Power Pivot akna tabeli all.
-
Tippige valemiribale nimi Eelmine kvartal Müük:.
-
Arvutusvalemi alustamiseks tippige võrdusmärk =.
-
Tippige esimesed tähed CAL ja seejärel topeltklõpsake funktsiooni, mida soovite kasutada. Selles valemis soovite kasutada funktsiooni CALCULATE .
-
Tippige avasulg ( funktsioonile CALCULATE edastatavate argumentide alustamiseks.
Pange tähele, et pärast avasulgude tippimist kuvab IntelliSense funktsiooni CALCULATE jaoks nõutavad argumendid. Argumentide kohta leiate teavet veidi.
-
Tippige tabeli FactSales esimesed tähed ja seejärel topeltklõpsake ripploendis väärtust FactSales[Sales].
-
Tippige esimese filtri määramiseks koma (,), seejärel tippige, PRE ja topeltklõpsake funktsiooni PREVIOUSQUARTER .
Pärast funktsiooni PREVIOUSQUARTER valimist kuvatakse veel üks algussulg, mis näitab, et nõutav on teine argument. seekord funktsiooni PREVIOUSQUARTER jaoks.
-
Tippige esimesed paar tähte Dim ja seejärel topeltklõpsake väärtust DimDate[DateKey].
-
Sulgege nii funktsioonile PREVIOUSQUARTER edastatav argument kui ka funktsioon CALCULATE, tippides kaks lõpusulgu )).
Valem peaks nüüd välja nägema selline:
Eelmise kvartali müük:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))
-
Valemi valideerimiseks klõpsake valemiribal valemi kontrollimise nuppu. Kui saate tõrketeate, kontrollige süntaksi iga elementi.
Sa tegid seda! Te lõite just DAX-i abil mõõdu, mitte lihtsalt. See valem arvutab eelmise kvartali kogumüügi sõltuvalt PivotTable-liigendtabelis või PivotChart-liigenddiagrammis rakendatud filtritest.
Teile tutvustati just mitmeid DAX-i valemite olulisi aspekte. Esiteks sisaldas see valem kahte funktsiooni. Pange tähele, et funktsioon PREVIOUSQUARTER on pesastatud funktsioonile CALCULATE edastatud argumendina. DAX-i valemid võivad sisaldada kuni 64 pesastatud funktsiooni. On ebatõenäoline, et valem sisaldaks nii palju pesastatud funktsioone. Tegelikult oleks sellist valemit väga keeruline luua ja siluda ning tõenäoliselt poleks see ka väga kiire.
Selles valemis kasutasite ka filtreid. Filtrid määratlevad, mida arvutatakse. Sel juhul valisite argumendiks ühe filtri, mis on tegelikult teine funktsioon. Lisateavet filtrite kohta saate hiljem.
Lõpuks kasutasite funktsiooni CALCULATE. See on üks DAX-i võimsamaid funktsioone. Kui koostate andmemudeleid ja loote keerukamaid valemeid, kasutate seda funktsiooni tõenäoliselt mitu korda. Funktsiooni CALCULATE arutamine jääb selle kiirjuhendi kohaldamisalast välja, kuid kui teie teadmised DAX-ist kasvavad, pöörake sellele erilist tähelepanu.
Märkus.: Tavaliselt peate ajateabefunktsioonide kasutamiseks DAX-i valemites määrama kordumatu kuupäevaveeru dialoogiboksi Märgi kuupäevatabeliks abil. Samples.xlsx töövihikus Contoso DAX-i valem valitakse kordumatu kuupäevaveeruna tabeli DimDate veerg KuupäevVõti.
Täiendav krediit
Võib-olla küsite: "Mis on lihtsaim DAX-i valem, mida ma luua saan?" Vastus sellele on "valem, mida sa ei pea". Ja seda saabki teha, kui kasutate mõõdus standardset liitmisfunktsiooni. Peaaegu iga andmemudel peab filtreerima ja arvutama koondatud andmete põhjal. Näiteks kasutatakse funktsiooni SUM eelnevalt kuvatud mõõdus Müügisumma kõigi arvude liitmiseks kindlas veerus. DAX sisaldab ka mitut muud väärtust koondavat funktsiooni. Automaatsumma funktsiooni abil saate automaatselt luua valemeid, kasutades standardseid liitmisi.
Täiendav krediidiülesanne: automaatsumma funktsiooni abil mõõduvalemi loomine
-
Liikuge tabelis FactSales (FactSales) kerides veeruni ReturnQuantity (Tagastuskvantiteet) ja klõpsake kogu veeru valimiseks veerupäist.
-
Klõpsake menüü Avaleht lindi jaotises Arvutused nuppu Automaatsumma .
Klõpsake nupu Automaatsumma kõrval olevat allanoolt ja seejärel nuppu Keskmine (pange tähele ka muid standardseid liitmisfunktsioone, mida saate kasutada).
Kohe luuakse uus mõõt nimega ReturnQuantity keskmine: sellele järgneb valem =AVERAGE([ReturnQuantity]).
Kas polnud nii lihtne? Loomulikult pole kõik loodud valemid nii lihtsad. Automaatsumma funktsiooni abil saate aga luua kiireid ja lihtsaid valemeid, kasutades standardseid liitmisarvutusi.
See peaks andma teile üsna hea ülevaate DAX-i valemites kasutatavast süntaksist. Samuti tutvustati teile väga lahedaid funktsioone nagu IntelliSense ja AutoSum, mis aitavad teil luua kiireid, lihtsaid ja täpseid valemeid. Muidugi on süntaksi kohta palju rohkem teavet. Hea koht lisateabe saamiseks on DAX-i teatmematerjalid või SQL Books Online.
Süntaksi kiirtest
-
Mida see nupp valemiribal teeb?
-
Mis ümbritseb veerunime alati DAX-i valemis?
-
Kuidas kirjutaksite järgmise valemi:
Arvutage tabelis DimProduct arvutatud veeru UnitMargin iga rea jaoks väärtus, lahutades veeru UnitCost väärtused veeru ÜhikuHindväärtustest?
Vastused leiate selle teema lõpust.
Funktsioonid
Funktsioonid on eelmääratletud valemid, mis teostavad arvutusi kindlas järjestuses või struktuuris teatud väärtuste (argumentide) abil. Argumendid võivad olla muud funktsioonid, muud valemid, veeruviited, arvud, tekst, loogikaväärtused (nt TRUE või FALSE) või konstandid.
DAX sisaldab järgmisi funktsioonide kategooriaid: kuupäev ja kellaaeg, teave, loogiline, matemaatiline, statistika-, teksti- ja ajateabefunktsioonid. Kui olete Exceli valemites funktsioonidega tuttav, on paljud DAX-i funktsioonid teiega sarnased. DAX-i funktsioonid on siiski kordumatud järgmistel viisidel.
-
DAX-i funktsioon viitab alati täielikule veerule või tabelile. Kui soovite kasutada ainult kindlaid väärtusi tabelist või veerust, saate valemisse filtreid lisada.
-
Kui teil on vaja arvutusi kohandada rea kaupa, pakub DAX funktsioone, mis võimaldavad teil kasutada praegust reaväärtust või seotud väärtust argumendina, et teha kontekstipõhiseid arvutusi. Hiljem saate konteksti kohta lisateavet.
-
DAX sisaldab paljusid funktsioone, mis tagastavad väärtuse asemel tabeli. Tabelit ei kuvata, kuid seda kasutatakse teistele funktsioonidele sisendi andmiseks. Näiteks saate tuua tabeli ja seejärel loendada selles olevad eristatavad väärtused või arvutada dünaamilisi summasid filtreeritud tabelites või veergudes.
-
DAX sisaldab mitmesuguseid ajateabefunktsioone. Nende funktsioonide abil saate määratleda või valida kuupäevavahemikke ja nende põhjal dünaamilisi arvutusi teha. Näiteks saate võrrelda summasid paralleelsetel perioodidel.
Mõnikord on raske teada, milliseid funktsioone võib vaja minna valemis kasutada. Power Pivot ja SQL Serveri andmeriistade tabelimudeli kujundajas on ka funktsioon Lisa funktsioon – dialoogiboks, mis aitab teil funktsioone kategooriate kaupa valida ja iga funktsiooni kohta lühikirjeldusi saada.
Loome uue valemi, mis sisaldab funktsiooni, mille saate funktsiooni Lisa abil valida.
Ülesanne: funktsiooni lisamine valemisse funktsiooni Insert abil
-
Liikuge tabelis FactSales (FactSales) kerides kõige parempoolsema veeruni ja seejärel klõpsake veerupäises nuppu Add Column (Lisa veerg).
-
Tippige valemiribale võrdusmärk =.
-
Klõpsake nuppu Lisa funktsioon . – avatakse dialoogiboks Funktsiooni lisamine .
-
Klõpsake dialoogiboksis Funktsiooni lisamine loendiboksi Valige kategooria . Vaikimisi on valitud kõik ja kõik kategooria Kõik funktsioonid on loetletud allpool. Kuna funktsioone on palju, soovite neid filtreerida, et otsitava funktsiooni tüüpi oleks lihtsam leida.
-
Selle valemi puhul soovite tagastada andmed, mis on teises tabelis juba olemas. Selleks tuleb kasutada kategoorias Filter olevat funktsiooni. Klõpsake kategooriat Filter ja seejärel kerige jaotises Valige funktsioon allapoole ja topeltklõpsake funktsiooni RELATED. Dialoogiboksi Funktsiooni lisamine sulgemiseks klõpsake nuppu OK.
-
Kasutage Veeru DimChannel[ChannelName] leidmiseks ja valimiseks IntelliSense'i.
-
Sulgege valem ja vajutage sisestusklahvi (Enter).
-
Kui vajutate valemi lõpuleviimiseks sisestusklahvi (Enter), kuvatakse Power Pivot akna allservas olekuribal sõna Arvutamine. Nüüd näete, et lõite Just uue veeru FactSales tabelis kanaliteabega DimChanneli tabelist.
-
Nimetage veerg Kanal ümber.
Valem peaks välja nägema selline: =RELATED(DimChannel[ChannelName])
Teid tutvustati äsja DAX-is mõnele muule väga olulisele funktsioonile , funktsioonile RELATED . Funktsioon RELATED tagastab väärtused teisest tabelist. Funktsiooni RELATED saate kasutada juhul, kui parajasti avatud tabeli ja neid väärtusi sisaldava tabeli vahel on seos. Muidugi on FUNKTSIOONIl RELATED tohutud võimalused. Sel juhul saate nüüd iga müügi müügikanali lisada factSales tabelisse. Nüüd saate DimChanneli tabeli Peita PivotTable-liigendtabeli väljaloendis, et hõlbustada navigeerimist ja vaadata ainult kõige olulisemat teavet, mida te tegelikult vajate. Sarnaselt eespool kirjeldatud funktsiooniga CALCULATE on ka funktsioon RELATED väga oluline ja tõenäoliselt kasutate seda mitu korda.
Nagu näete, aitavad DAX-i funktsioonid teil luua väga võimsaid valemeid. Me puudutasime ainult funktsioonide põhitõdesid. DAX-i oskuste täiustamisel saate luua valemeid, mis kasutavad palju erinevaid funktsioone. Üks parimaid kohti kõigi DAX-i funktsioonide kohta üksikasjaliku teabe saamiseks on andmeanalüüsi avaldiste (DAX) viide.
Funktsioonide kiirtest
-
Millele funktsioon alati viitab?
-
Kas valem võib sisaldada mitut funktsiooni?
-
Millise funktsioonide kategooria abil ühendaksite kaks tekstistringi üheks stringiks?
Vastused leiate selle teema lõpust.
Kontekst
Kontekst on üks olulisemaid DAX-i mõisteid, millest aru saada. DAX-is on kahte tüüpi konteksti; reakontekst ja filtrikontekst. Esmalt vaatame rea konteksti.
Rea kontekst
Rea konteksti peetakse kõige hõlpsamini praeguseks reaks. Näiteks kas mäletate varem süntaksi kohta lisateabe saamiseks arvutatud veergu Veeris? Valem =[Müügisumma] – [TotalCost] arvutab veerus Veeris iga tabelirea väärtuse. Iga rea väärtused arvutatakse sama rea kahe teise veeru väärtustest: [Müügisumma] ja [Kogusumma]. DAX saab arvutada veeru Veerised iga rea väärtused, kuna sellel on kontekst: iga rea jaoks lahutatakse veeru [TotalCost] väärtused ja lahutatakse need veeru [Müügisumma] väärtustest.
Allpool kuvatud valitud lahtris arvutati praeguse rea väärtus 49,54 $, lahutades veeru [TotalCost] väärtusest 101,08 veeru [Müügisumma] väärtusest 51,54 $.
Rea kontekst ei kehti ainult arvutatud veergudele. Rea kontekst rakendatakse ka siis, kui valemil on funktsioon, mis rakendab filtreid tabeli ühe rea tuvastamiseks. Funktsioon rakendab olemuselt iga filtreeritava tabelirea jaoks reakonteksti. Seda tüüpi reakontekst rakendatakse kõige sagedamini mõõtudele.
Filtri kontekst
Filtri konteksti on pisut raskem mõista kui reakonteksti. Filtreerimiskontekstist on kõige hõlpsam mõelda kui: üks või mitu arvutuses rakendatud filtrit, mis määratleb tulemi või väärtuse.
Filtrikonteksti pole reakonteksti asemel olemas; see kehtib lisaks reakontekstile. Näiteks arvutusse kaasatavate väärtuste täpsemaks piiritlemiseks saate rakendada filtrikonteksti, mis lisaks reakontekstile määrab ka ainult kindla väärtuse (filtri) selles reakontekstis.
Filtri kontekst on PivotTable-liigendtabelites kergesti nähtav. Näiteks kui lisate alale Väärtused summakoodi ning lisate seejärel alale Rida või Veerud väärtuse Aasta ja piirkond, määratlete filtrikonteksti, mis valib antud aasta ja piirkonna põhjal andmete alamhulga.
Miks on filtrikontekst DAX-i jaoks nii oluline? Kuna filtrikonteksti saab kõige hõlpsamini rakendada, lisades PivotTable-liigendtabelisse veeru- ja reasilte ning tükeldeid, saab filtrikonteksti rakendada ka DAX-i valemis, määratledes filtri, kasutades funktsioone ALL, RELATED, FILTER, CALCULATE, seoste ning muude mõõtude ja veergude abil. Vaatame näiteks mõõdus StoreSales järgmist valemit:
On selge, et see valem on keerukam kui mõned teised valemid, mida olete näinud. Kuid selle valemi paremini mõistmiseks saame selle lõhkuda, nagu oleme seda teinud teiste valemitega.
See valem sisaldab järgmisi süntaksielemente.
-
Mõõdu nimi StoreSales, millele järgneb koolon :.
-
Võrdusmärk (=) tähistab valemi algust.
-
Funktsioon CALCULATE hindab avaldist argumendina kontekstis, mida määratud filtrid on muutnud.
-
Ümarsulg () ümbritseb ühte või mitut argumenti.
-
Avaldisega samas tabelis olev mõõt [Müük]. Müügimõõdul on valem: =SUM(FactSales[SalesAmount]).
-
Koma (,) eraldab iga filtri.
-
Viidatud veerg ja kindel väärtus DimChannel[ChannelName] ="Store", filtrina.
See valem tagab, et filtrina ainult müügimõõdus Müük määratletud müügiväärtused arvutatakse ainult nende ridade jaoks, mis asuvad veerus DimChannel[ChannelName] väärtusega "Pood" filtrina.
Nagu võite ette kujutada, on valemis filtrikonteksti määratlemisel tohutu ja võimas võimekus. Seotud tabelis on võimalik viidata ainult kindlale väärtusele. Ärge muretsege, kui te konteksti kohe täielikult ei mõista. Oma valemite loomisel mõistate paremini konteksti ja miks see on DAX-is nii oluline.
Konteksti kiirtest
-
Mis on kahte tüüpi kontekst?
-
Mis on filtrikontekst?
-
Mis on reakontekst?
Vastused leiate selle teema lõpust.
Kokkuvõte
Nüüd, kui teil on põhiline arusaam DAX-i kõige olulisematest kontseptsioonidest, saate hakata ise DAX-i valemeid arvutuslike veergude ja mõõtude jaoks looma. DAX võib tõepoolest olla veidi keeruline õppida, kuid teile on saadaval palju ressursse. Pärast selle teema paar korda läbilugemist ja mõne oma valemi katsetamist saate lisateavet teiste DAX-i kontseptsioonide ja valemite kohta, mis aitavad teil oma äriprobleeme lahendada. Power Pivot spikris, SQL Server Books Online'is, nii Microsofti kui ka juhtivate ärianalüüsispetsialistide ajaveebides on saadaval palju DAX-i ressursse. DAX-i ressursikeskuse viki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) on hea koht alustamiseks. Suurepärane ressurss on ka andmeanalüüsi avaldiste (DAX) viide . Salvestage see kindlasti kausta Lemmikud.
Bi tabelmudeli DAX, mis on allalaadimiseks saadaval (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) annab üksikasjalikuma ülevaate nii siin kasutusele võetud mõistetest kui ka paljudest muudest keerukamatest kontseptsioonidest ja valemitest. See pagar kasutab ka sama Contoso DAX-i näidistöövihiku Formulas.xlsx, mis teil juba on.
Kiirtesti vastused
Süntaks:
-
Avab funktsiooni Lisa.
-
Sulud [].
-
=[ÜhikuHind] – [ÜhikuHind]
Funktsioone:
-
Tabel ja veerg.
-
Jah. Valem võib sisaldada kuni 64 pesastatud funktsiooni.
Kontekst:
-
Reakontekst ja filtrikontekst.
-
Üks või mitu arvutuse filtrit, mis määratleb ühe väärtuse.
-
Praegune rida.