Vodnik za hitri začetek: naučite se osnov jezika DAX v 30 minutah

Ta hitri začetek je namenjen uporabnikom, ki so novi uporabniki dodatka Power Pivot v Excelu, ali projektov tabelarnih modelov, ki so ustvarjeni v SQL Server Data Tools. Namenjen je hitremu in preprostemu uvodu v to, kako lahko z izrazi za analizo podatkov (DAX) rešite številne osnovne težave z modeliranjem podatkov in analitiko. Ta tema vključuje konceptualne informacije, niz opravil, ki jih lahko dokončate, in nekaj kvizov za preverjanje, kaj ste se naučili. Ko dokončate to temo, morate dobro razumeti najosnovnejše temeljne koncepte jezika DAX.

Kaj je DAX?

DAX je zbirka funkcij, operatorjev in konstant, ki jih je mogoče uporabiti v formuli ali izrazu za izračun in vrnitev ene ali več vrednosti. Preprosteje povedano, DAX vam pomaga ustvariti nove informacije iz podatkov, ki so že v modelu.

Zakaj je DAX tako pomemben?

Delovni zvezek lahko preprosto ustvarite in vanj uvozite nekaj podatkov. Ustvarite lahko tudi vrtilne tabele ali vrtilne grafikone, ki prikazujejo pomembne informacije brez uporabe formul DAX. Kaj pa, če morate analizirati kritične podatke o prodaji v več kategorijah izdelkov in za različna časovna obdobja? Ali pa morate združiti pomembne podatke o inventarju iz več tabel v različnih virih podatkov? Formule DAX zagotavljajo to zmogljivost in tudi številne druge pomembne zmogljivosti. Če se naučite, kako ustvariti učinkovite formule DAX, boste lahko kar najbolje izkoristili svoje podatke. Ko dobite informacije, ki jih potrebujete, lahko začnete reševati resnične poslovne težave, ki vplivajo na vaš končni rezultat. To je poslovna inteligenca in DAX vam bo pomagal priti tja.

Pogoji

Morda ste že seznanjeni z ustvarjanjem formul v Microsoft Excelu. To znanje bo v pomoč pri razumevanju jezika DAX, toda tudi če nimate izkušenj z Excelovimi formulami, vam bodo tukaj opisani koncepti pomagali takoj začeti ustvarjati formule DAX in odpravljati težave poslovnega obveščanja v resničnem svetu.

Osredotočili se bomo predvsem na razumevanje formul DAX, ki se uporabljajo v izračunih. Morali bi že poznati temeljne koncepte izračunanih stolpcev in mer (imenovanih tudi izračunana polja), ki sta opisana v pomoči za Power Pivot. Prav tako morate biti seznanjeni z dodatkom Power Pivot v Excelovem ustvarjalnem okolju in orodjih.

Primer delovnega zvezka

Najboljši način za učenje jezika DAX je, da ustvarite nekaj osnovnih formul, jih uporabite z dejanskimi podatki in si sami ogledate rezultate. Primeri in opravila tukaj uporabljajo delovni zvezek Contoso Sample DAX Formulas.xlsx. Delovni zvezek lahko prenesete iz http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Ko prenesete delovni zvezek v računalnik, ga odprite in nato odprite okno dodatka Power Pivot.

Začnimo!

DAX bomo oblikovali okoli treh zelo pomembnih temeljnih konceptov: sintakse, funkcij in konteksta. Seveda obstajajo tudi drugi pomembni koncepti v jeziku DAX, vendar bo razumevanje teh treh konceptov zagotovilo najboljšo podlago za gradnjo vaših veščin DAX.

Sintaksa

Preden ustvarite lastne formule, si oglejmo sintakso formule DAX. Sintaksa vključuje različne elemente, ki sestavljajo formulo, ali preprosteje, kako je formula napisana. Poglejmo si na primer preprosto formulo DAX, ki se uporablja za ustvarjanje novih podatkov (vrednosti) za vsako vrstico v izračunanem stolpcu z imenom Margin v tabeli »FactSales«: (barve besedila formule so samo ponazoritvene namene)

Formula izračunanega stolpca

Sintaksa te formule vključuje te elemente:

  1. Operator enako (=) označuje začetek formule in ko je ta formula izračunana, vrne rezultat ali vrednost. Vse formule, ki izračunavajo vrednost, se začnejo z enačenjem.
  2. Stolpec, na katerega se sklicuje [SalesAmount], vsebuje vrednosti, od katerih želimo odšteti. Sklic na stolpec v formuli je vedno obdan z oklepaji []. Za razliko od Excelovih formul, ki se sklicujejo na celico, se formula DAX vedno sklicuje na stolpec.
  3. Matematični operator odštevanja (-).
  4. Stolpec [TotalCost] vsebuje vrednosti, ki jih želimo odšteti od vrednosti v stolpcu [SalesAmount].

Ko poskušate razumeti, kako brati formulo DAX, je pogosto koristno, da vsak element razčlenite v jezik, ki ga mislite in govorite vsak dan. To formulo lahko na primer preberete kot:

V tabeliFactSales za vsako vrstico v izračunanem stolpcu »Marža« izračunajte (=) vrednost tako, da odštejete (-) vrednosti v stolpcu [TotalCost] od vrednosti v stolpcu [SalesAmount].

Oglejmo si drugo vrsto formule, ki se uporablja v merilu:

Formula izračunanega stolpca

Ta formula vključuje te elemente sintakse:

  1. Ime mere: Vsota zneska prodaje. Formule za mere lahko vključujejo ime mere, ki mu sledi dvopičje, ki mu sledi formula za izračun.
  2. Operator enačenja (=) označuje začetek izračunane formule. Ko se izračuna, bo vrnil rezultat.
  3. Funkcija SUM sešteje vsa števila v stolpcu [SalesAmount]. Več o funkcijah boste izvedeli kasneje.
  4. Zavilegi () obkrožajo enega ali več argumentov. Vse funkcije zahtevajo vsaj en argument. Argument prenese vrednost funkciji.
  5. Referenčna tabela FactSales.
  6. Stolpec, na katerega se sklicuje [SalesAmount] v tabeli »FactSales«. S tem argumentom funkcija SUM ve, v katerem stolpcu združiti SUM.

To formulo lahko berete kot:

Za mero z imenom Vsota zneska prodaje izračunajte (=) vsoto vrednosti v stolpcu [SalesAmount] v tabeli FactSales.

Ko je ta mera postavljena v spuščeno območje »Vrednosti« na seznamu polj vrtilne tabele, izračuna in vrne vrednosti, ki jih določa vsaka celica v vrtilni tabeli, na primer »Mobilni telefoni« v ZDA.

Upoštevajte, da se v tej formuli nekaj stvari razlikuje od formule, ki smo jo uporabili za izračunani stolpec »Rob«. Zlasti smo uvedli funkcijo SUM. Funkcije so vnaprej napisane formule, ki olajšajo zapletene izračune in manipulacije s številkami, datumi, časom, besedilom in še več. Več o funkcijah boste izvedeli kasneje.

Za razliko od prejšnjega izračunanega stolpca Marža je pred stolpcem [SalesAmount] prikazana tabela FactSales, v katero stolpec spada. To je znano kot popolnoma kvalificirano ime stolpca, saj vključuje ime stolpca, pred katerim je ime tabele. Stolpci, na katere se sklicuje ista tabela, ne zahtevajo, da je ime tabele vključeno v formulo. Tako lahko dolge formule, ki se sklicujejo na številne stolpce, krajše in lažje berljive. Vendar pa je dobra praksa, da ime tabele vedno vključite v formule mer, tudi če ste v isti tabeli.

Opomba

Če ime tabele vsebuje presledke, rezervirane ključne besede ali nedovoljene znake, morate ime tabele vključiti v enojne narekovaje. Imena tabel morate v narekovaje vključiti tudi, če ime vsebuje znake zunaj obsega alfanumeričnih znakov ANSI, ne glede na to, ali vaše območne nastavitve podpirajo nabor znakov ali ne.

Zelo pomembno je, da imajo vaše formule pravilno sintakso. Če sintaksa v večini primerov ni pravilna, se vrne napaka v sintaksi. V drugih primerih je sintaksa morda pravilna, vendar vrnjene vrednosti morda niso takšne, kot ste pričakovali. Power Pivot (in SQL Server Data Tools) vključuje funkcijo IntelliSense, ki se uporablja za ustvarjanje skladenjsko pravilnih formul, tako da vam pomaga izbrati ustrezne elemente.

Ustvarimo preprosto formulo. To opravilo vam bo pomagalo bolje razumeti sintakso formule in kako vam lahko pomaga funkcija IntelliSense v vnosni vrstici.

Opravilo: Ustvarjanje preproste formule za izračunani stolpec

  1. Če še niste v oknu dodatka Power Pivot, v Excelu na traku dodatka Power Pivot kliknite Okno dodatka Power Pivot.
  2. V oknu dodatka Power Pivot kliknite tabelo (zavihek) FactSales .
  3. Pomaknite se do skrajnega desnega stolpca in nato v glavi stolpca kliknite Dodaj stolpec.
  4. Kliknite vnosno vrstico na vrhu okna oblikovalnika modela.
    Vrstica s formulami orodja PowerPivot
    Kazalec se zdaj prikaže v vnosni vrstici. V vnosni vrstici lahko vnesete formulo za izračunani stolpec ali izračunano polje.
    Oglejmo si trenutek in si oglejte tri gumbe na levi strani vnosne vrstice.
    Vnosna vrstica
    Ko je kazalec aktiven v vnosni vrstici, ti trije gumbi postanejo aktivni. Skrajni levi gumb, X, je preprosto gumb za preklic. Pojdite naprej in ga kliknite. Kazalec ni več prikazan v vnosni vrstici, gumb za preklic in gumb kljukice pa se ne prikažeta več. Znova kliknite vnosno vrstico. Gumba »Prekliči« in »kljukica« se zdaj znova prikažeta. To pomeni, da lahko začnete vnašati formulo.
    Gumb kljukice je gumb potrditvene formule. Ko ne vnesete formule, ne naredi veliko. K temu se bomo vrnili malce.
    Kliknite gumb Fx . Videli boste, da se prikaže novo pogovorno okno. Pogovorno okno »Vstavljanje funkcije«. Formulo DAX najlažje začnete vnašati s pogovornim oknom »Vstavi funkcijo«. Funkcijo bomo dodali formuli, ko bomo ustvarili mero nekoliko pozneje, vendar zaenkrat formuli izračunanega stolpca ni treba dodajati funkcije. Zaprite pogovorno okno »Vstavi funkcijo«.
  5. V vnosno vrstico vnesite enačaj =, nato pa vnesite oglati oklepaj [. Prikaže se majhno okno z vsemi stolpci v tabeli »DejanskaProdaja«. Delovanje storitve IntelliSense.
    Ker se izračunani stolpci vedno ustvarijo v aktivni tabeli, v kateri ste, vam ni treba pred ime stolpca dodajati imena tabele. Pomaknite se navzdol in dvokliknite [SalesQuantity]. Lahko se tudi premaknete do želenega imena stolpca in pritisnete tabulatorko.
    Kazalec je zdaj aktiven na desni strani [SalesQuantity].
  6. Vnesite presledek in nato operator za odštevanje - (znak minus) in vnesite še en presledek.
  7. Zdaj vnesite še en oglati oklepaj [. Tokrat izberite stolpec [ReturnQuantity] in pritisnite tipko Enter.
    Če pride do napake, pozorno preverite sintakso. Po potrebi jo primerjajte s formulo v prej opisanem stolpcu »Izračunan rob«.
    Ko pritisnete tipko Enter, da dokončate formulo, se v vrstici stanja na dnu okna Power Pivot prikaže beseda »Izračunavanje «. Poteka hitro, čeprav ste pravkar izračunali nove vrednosti za več kot tri milijone vrstic.
  8. Z desno tipko miške kliknite glavo stolpca in preimenujte stolpec »NetoProdaja«.

To je vse! Pravkar ste ustvarili preprosto, a zelo zmogljivo formulo DAX. Formula NetSales za vsako vrstico v tabeli »FactSales« izračuna vrednost tako, da odšteje vrednost v stolpcu [ReturnQuantity] od vrednosti v stolpcu [SalesQuantity]. Opazili boste, kako smo pravkar rekli »Za vsako vrstico«. To je vpogled v še en zelo pomemben koncept v DAX-u; kontekst vrstice. Več o kontekstu vrstice boste izvedeli pozneje.

Ko vnašate operator v formulo DAX, morate razumeti podatkovni tip argumentov, ki jih uporabljate. Če bi na primer vnesli to formulo = 1 & 2, bi bila vrnjena vrednost besedilna vrednost »12«. To je zato, ker je operator znaka »« (&) namenjen spajanju besedila. DAX to formulo tolmači tako: Rezultat izračunate tako, da vzamete vrednost 1 kot besedilo in seštejete vrednost 2 kot besedilo. Če pa vnesete = 1 + 2, DAX prebere to formulo tako: Rezultat izračunate tako, da vzamete številsko vrednost 1 in prištejete številsko vrednost 2. Rezultat je seveda »3«, kar je številska vrednost. DAX izračuna nastale vrednosti glede na operator v formuli in ne na podatkovnem tipu stolpcev, uporabljenih v argumentu. Podatkovni tipi v izrazih DAX so zelo pomembni, vendar ne spadajo v ta vodnik za hitri začetek. Če želite izvedeti več o podatkovnih tipih in operatorjih v formulah jezika DAX, glejte Sklic na jezik DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) v storitvi Books Online.

Poskusimo še enega. Tokrat boste ustvarili mero tako, da boste vnesli formulo in uporabili funkcijo IntelliSense. Ne skrbite preveč, če ne razumete popolnoma formule. Pomembno je, da se naučite ustvariti formulo iz več elementov skupaj v pravilni sintaksi.

Opravilo: Ustvarjanje formule mere

  1. V tabeli »FactSales « kliknite katero koli prazno celico v območju izračuna. To je območje praznih celic tik pod tabelo v oknu dodatka Power Pivot.

Področje za izračune orodja PowerPivot

  1. V vnosno vrstico vnesite ime Prodaja v prejšnjem četrtletju:.
  2. Vnesite enačaj = za začetek formule za izračun.
  3. Vnesite prvih nekaj črk CAL in nato dvokliknite funkcijo, ki jo želite uporabiti. V tej formuli želite uporabiti funkcijo COMCULATE .
  4. Vnesite začetni oklepaj (če želite začeti argumente, ki bodo posredovani funkciji COMCULATE).
    Ko vnesete začetni oklepaj, IntelliSense prikaže argumente, potrebne za funkcijo COMCULATE. O argumentih se boste izvedeli malce.
  5. Vnesite prvih nekaj črk tabele »FactSales « in nato na spustnem seznamu dvokliknite »FactSales[Sales].
  6. Vnesite vejico (,), da določite prvi filter, nato vnesite PRE in dvokliknite funkcijo PREVIOUSQUARTER .
    Ko izberete funkcijo PREVIOUSQUARTER, se prikaže še en začetni oklepaj, ki označuje, da je potreben drug argument. tokrat za funkcijo PREVIOUSQUARTER.
  7. Vnesite prvih nekaj črk »Dim« in nato dvokliknite »DimDate[DateKey]«.
  8. Zaprite argument, ki ga posredujete v funkcijo PREVIOUSQUARTER in funkcijo COMPLOCULATE, tako da vnesete dva zaključna oklepaja )).
    Vaša formula bi morala biti zdaj videti tako:
    Prodaja v prejšnjem četrtletju:=CALCULATE(FactSales[Prodaja], PREVIOUSQUARTER(DimDate[DateKey]))
  9. Če želite preveriti formulo, kliknite gumb »Preveri formulo« v vnosni vrstici. Če se prikaže sporočilo o napaki, preverite posamezne elemente sintakse.

Uspelo vam je. Pravkar ste ustvarili mero z jezikom DAX, in to ni bila preprosta. Ta formula bo izračunala skupno prodajo za prejšnje četrtletje, odvisno od filtrov, ki so bili uporabljeni v vrtilni tabeli ali vrtilnem grafikonu.

Pravkar ste se seznanili z več pomembnimi vidiki formul jezika DAX. Ta formula je najprej vključevala dve funkciji. Opazili boste, da je funkcija PREVIOUSQUARTER ugnezdena kot argument, podan funkciji COMCULATE . Formule DAX lahko vsebujejo največ 64 ugnezdenih funkcij. Malo verjetno je, da bi formula kdaj vsebovala toliko ugnezdenih funkcij. Pravzaprav bi bilo takšno formulo zelo težko ustvariti in iskati napake, verjetno pa tudi ne bi bila zelo hitra.

V tej formuli ste uporabili tudi filtre. S filtri zožijo izračunano vsebino. V tem primeru ste za argument izbrali en filter, ki je pravzaprav druga funkcija. Več o filtrih boste izvedeli pozneje.

Na koncu ste uporabili funkcijo COMCULATE. To je ena najzmogljivejših funkcij v jeziku DAX. Ko ustvarjate podatkovne modele in ustvarjate bolj zapletene formule, boste to funkcijo verjetno uporabili velikokrat. Obravnava funkcije CALCULATE ni vključena v ta vodnik za hitri začetek, toda ko bo vaše znanje o jeziku DAX vse bolj znano, bodite posebej pozorni na to.

Opomba

Če želite v formulah jezika DAX uporabiti funkcije podatkov o času, morate v pogovornem oknu »Označi kot datumsko tabelo« navesti enoličen stolpec z datumom. V delovnem zvezku formule Samples.xlsx jezika DAX podjetja Contoso je stolpec »Ključ datuma« v tabeli »DimDate« izbran kot enolični stolpec datuma.

Dodatno dobroimetje

Morda se sprašujete: »Katera formula DAX je najpreprostejša, ki jo lahko ustvarim?« No, odgovor na to je 'formula, ki vam je ni treba'. In to je točno tisto, kar lahko dosežete tako, da v meri uporabite standardno funkcijo združevanja. Skoraj vsak podatkovni model mora filtrirati in izračunati na podlagi združenih podatkov. Funkcija SUM v meri »Sum of Sales Amount«, ki ste jo opazili prej, je uporabljena za seštevanje vseh številk v določenem stolpcu. DAX vključuje tudi številne druge funkcije, ki združujejo vrednosti. Formule lahko s standardnimi združevanji ustvarite samodejno s funkcijo samodejne vsote.

Opravilo z dodatnimi krediti: Ustvarjanje formule mere s funkcijo samodejne vsote

  1. V tabeli »FactSales« se pomaknite do stolpca »ReturnQuantity« in nato kliknite glavo stolpca, da izberete celoten stolpec.
  2. Na zavihku » Osnovno « na traku v skupini »Izračuni « kliknite gumb » Samodejna vsota «.

Samodejna vsota v orodju PowerPivot

Kliknite puščico dol zraven možnosti Samodejna vsota, nato pa kliknite »Povprečje « (bodite pozorni na druge standardne funkcije združevanja, ki jih lahko uporabite).

Takoj je ustvarjena nova mera z imenom Average of ReturnQuantity: čemur sledi formula =AVERAGE([ReturnQuantity]).

Ali ni bilo to preprosto? Seveda ne bodo vse formule, ki jih ustvarite, tako preproste. Toda s funkcijo samodejne vsote lahko ustvarite hitre in preproste formule s standardnimi izračuni združevanja.

Tako boste dobili dokaj dobro razumevanje sintakse, uporabljene v formulah jezika DAX. Seznanili ste se tudi z nekaterimi super funkcijami, kot sta IntelliSense in Samodejna vsota, s katerimi lahko ustvarite hitre, preproste in natančne formule. Seveda se lahko o sintaksi naučite še veliko več. Odlično mesto za več informacij je Sklic jezika DAX ali SQL Books Online.

Sintaksa hitrega kviza

  1. Kaj omogoča ta gumb v vnosni vrstici?
    gumb funkcije
  2. Kaj vedno obkroža ime stolpca v formuli DAX?
  3. Kako bi napisali formulo za naslednje:
    V tabeli »DimProduct« za vsako vrstico v izračunanem stolpcu »UnitMargin« izračunate vrednost tako, da odštejete vrednosti v stolpcu »StroškiEnote« od vrednosti v stolpcu »CenaEnote«.

Odgovori so na voljo na koncu te teme.

Funkcije

Funkcije so vnaprej določene formule za izvajanje izračunov z določenimi vrednostmi, imenovanimi argumenti, v posebnem vrstnem redu ali strukturi. Argumenti so lahko druge funkcije, druga formula, sklici na stolpce, števila, besedilo, logične vrednosti, kot sta TRUE ali FALSE, ali konstante.

DAX vključuje te kategorije funkcij: funkcije datuma in ure, informacije, logične, matematične, statistične, besedilne in časovne inteligence. Če poznate funkcije v Excelovih formulah, bodo številne funkcije v jeziku DAX prikazane podobne vam. vendar pa so funkcije DAX edinstvene v teh pogledih:

  • Funkcija DAX se vedno sklicuje na celoten stolpec ali tabelo. Če želite uporabiti le določene vrednosti iz tabele ali stolpca, lahko v formulo dodate filtre.
  • Če želite prilagoditi izračune po vrsticah, DAX zagotavlja funkcije, ki vam omogočajo, da uporabite trenutno vrednost vrstice ali povezano vrednost kot vrsto argumenta za izvajanje izračunov, ki se spreminjajo glede na kontekst. Več o kontekstu boste izvedeli pozneje.
  • DAX vključuje številne funkcije, ki vrnejo tabelo namesto vrednosti. Tabela ni prikazana, vendar se uporablja za vnos v druge funkcije. Tako lahko na primer pridobite tabelo in nato v njej preštejete različne vrednosti ali pa izračunate dinamične vsote v filtriranih tabelah ali stolpcih.
  • DAX vključuje različne funkcije časovnih podatkov. S temi funkcijami lahko določite ali izberete datumske obsege in na njihovi podlagi izvajate dinamične izračune. Primerjate lahko na primer vsote v vzporednih obdobjih.

Včasih je težko ugotoviti, katere funkcije boste morda morali uporabiti v formuli. Power Pivot in načrtovalnik tabelarnih modelov v SQL Server Data Tools vključujeta funkcijo »Vstavi funkcijo«, pogovorno okno, v katerem lahko izberete funkcije po kategoriji in v katerem so na voljo kratki opisi posameznih funkcij.

Vstavljanje funkcije

Ustvarimo novo formulo s funkcijo, ki jo boste izbrali s funkcijo »Vstavi funkcijo«:

Opravilo: dodajanje funkcije v formulo z uporabo funkcije INSERT

  1. V tabeli »FactSales« se pomaknite do skrajno desnega stolpca in nato v glavi stolpca kliknite »Dodaj stolpec«.
  2. V vnosno vrstico vnesite enačaj =.
  3. Kliknite gumb »Vstavi funkcijo «. Vstavljanje funkcije Odpre se pogovorno okno »Vstavljanje funkcije «.
  4. V pogovornem oknu » Vstavi funkcijo « kliknite polje s seznamom »Izbira kategorije «. Privzeto je izbrana možnost » Vse «, vse funkcije v kategoriji »Vse pa so navedene spodaj«. To je veliko funkcij, zato boste želeli filtrirati funkcije, da boste lažje poiskali vrsto funkcije, ki jo iščete.
  5. Za to formulo želite vrniti nekaj podatkov, ki so že v drugi tabeli. V tem primeru boste uporabili funkcijo v kategoriji »Filter«. Kliknite kategorijo »Filter «, nato pa se v razdelku »Izbira funkcije« pomaknite navzdol in dvokliknite funkcijo SORODNO. Kliknite »V redu «, da zaprete pogovorno okno »Vstavi funkcijo «.
  6. Uporabite IntelliSense, da poiščete in izberete stolpec DimChannel[ImeKanala].
  7. Zaprite formulo in pritisnite tipko Enter.
  8. Ko pritisnete tipko Enter, da dokončate formulo, se v vrstici stanja na dnu okna Power Pivot prikaže beseda »Izračunavanje«. Zdaj boste videli, da ste pravkar ustvarili nov stolpec v tabeli »FactSales« z informacijami o kanalu iz tabele »DimChannel«.
  9. Preimenujte stolpec »Kanal«.
    Vaša formula je videti takole: =RELATED(DimChannel[ChannelName])

Pravkar ste se seznanili z drugo zelo pomembno funkcijo v jeziku DAX, funkcijo SORODNO . Funkcija RELATED vrne vrednosti iz druge tabele. Funkcijo RELATED lahko uporabite, če obstaja relacija med tabelo, v kateri ste trenutno, in tabelo, ki vsebuje vrednosti, ki jih želite pridobiti. Seveda ima funkcija RELATED ogromne možnosti. V tem primeru lahko zdaj v tabelo »FactSales« vključite prodajni kanal za vsako prodajo. Zdaj lahko skrijete tabelo DimChannel na seznamu polj vrtilne tabele, kar olajša krmarjenje in ogled le tistih najpomembnejših informacij, ki jih resnično potrebujete. Tako kot prej opisana funkcija CALCULATE je tudi funkcija RELATED zelo pomembna in jo boste najverjetneje uporabili velikokrat.

Kot lahko vidite, lahko s funkcijami v jeziku DAX ustvarite zelo zmogljive formule. Pravzaprav smo se dotaknili le osnov funkcij. Ko se vaše spretnosti jezika DAX izboljšujejo, boste ustvarili formule s številnimi različnimi funkcijami. Podrobnosti o vseh funkcijah jezika DAX lahko dobite v priročniku za izraze za analizo podatkov (DAX).

Hitri kviz funkcij

  1. Na kaj se funkcija vedno sklicuje?
  2. Ali je v formuli lahko več funkcij?
  3. Katero kategorijo funkcij bi uporabili za spajanje dveh besedilnih nizov v enega?

Odgovori so na voljo na koncu te teme.

Kontekst

Kontekst je eden najpomembnejših konceptov jezika DAX, ki ga je treba razumeti. V jeziku DAX obstajata dve vrsti konteksta; kontekst vrstice in kontekst filtra. Najprej si bomo ogledali kontekst vrstice.

Kontekst vrstice

Kontekst vrstice si najlažje predstavljate kot trenutno vrstico. Ali se na primer spomnite stolpca »Izračunan rob«, ki ste ga videli prej, ko ste se učili o sintaksi? Formula =[SalesAmount] - [TotalCost] izračuna vrednost v stolpcu »Rob« za vsako vrstico v tabeli. Vrednosti za vsako vrstico so izračunane iz vrednosti v dveh drugih stolpcih, [ZnesekProdaje] in [SkupniStroški] v isti vrstici. DAX lahko izračuna vrednosti za vsako vrstico v stolpcu »Rob«, ker vsebuje kontekst: Za vsako vrstico vzame vrednosti v stolpcu [SkupniStroški] in jih odšteje od vrednosti v stolpcu [ZnesekProdaje].

V izbrani celici, prikazani spodaj, je bila vrednost 49,54 $ v trenutni vrstici izračunana tako, da smo odšteli vrednosti 51,54 $ v stolpcu [TotalCost] od vrednosti 101,08 $ v stolpcu [SalesAmount].

Kontekst vrstice v orodju PowerPivot

Kontekst vrstice ne velja le za izračunane stolpce. Kontekst vrstice velja tudi, ko ima formula funkcijo, ki uporablja filtre za prepoznavanje ene vrstice v tabeli. Funkcija bo sama po sebi uporabila kontekst vrstice za vsako vrstico v tabeli, za katero filtrira. Ta vrsta konteksta vrstice se najpogosteje uporablja za mere.

Kontekst filtra

Kontekst filtra je nekoliko težje razumljiv kot kontekst vrstice. Kontekst filtra si najbolj lažje predstavljate kot: Eden ali več filtrov, uporabljenih v izračunu, ki določa rezultat ali vrednost.

Kontekst filtra ne obstaja namesto konteksta vrstice; prej velja poleg konteksta vrstice. Če želite na primer še bolj zožiti vrednosti, ki jih želite vključiti v izračun, lahko uporabite kontekst filtra, ki ne določa le konteksta vrstice, temveč določa le določeno vrednost (filter) v kontekstu vrstice.

Kontekst filtra je jasno viden v vrtilnih tabelah. Če na primer dodate »SkupniStroški« v območje »Vrednosti« in nato dodate v vrstico ali stolpce »Leto« in »Regijo«, definirate kontekst filtra, ki izbere podmnožico podatkov na podlagi danega leta in regije.

Zakaj je kontekst filtra tako pomemben za DAX? Medtem ko lahko kontekst filtra najlažje uporabite tako, da v vrtilno tabelo dodate oznake stolpcev in vrstic ter razčlenjevalnike, lahko kontekst filtra uporabite tudi v formuli DAX z določanjem filtra s funkcijami, kot so ALL, RELATED, FILTER, CALCULATE, by relationships in po drugih merah in stolpcih. Oglejmo si na primer to formulo v meri z imenom Prodaja v trgovini Store:

Formula

Jasno je, da je ta formula zahtevnejša od nekaterih drugih formul, ki ste jih videli. Ker pa želimo bolje razumeti to formulo, jo lahko razčlenimo na enak način, kot smo to storili z drugimi formulami.

V formuli so ti elementi sintakse:

  1. Ime mere ProdajaV trgovini, kateremu sledi dvopičje :.
  2. Operator enačaja (=) označuje začetek formule.
  3. Funkcija CALCULATE ovrednoti izraz kot argument v kontekstu, ki ga spremenijo določeni filtri.
  4. Zaklepaj obdaja enega ali več argumentov.
  5. Mera [Prodaja] v isti tabeli kot izraz. Mera »Prodaja« ima formulo: =SUM(FactSales[SalesAmount]).
  6. Vsak filter ločuje vejica (,).
  7. Stolpec, na katerega se sklicuje, in določena vrednost, DimChannel[ChannelName] ="Store", kot filter.

Ta formula bo zagotovila, da se kot filter izračunajo samo vrednosti prodaje, ki jih določa merilo »Prodaja«, kot filter le za vrstice v stolpcu »DimChannel[ChannelName] z vrednostjo »Trgovina« kot filter.

Kot si lahko predstavljate, ima možnost definiranja konteksta filtra v formuli ogromno in močno zmogljivost. Možnost sklicevanja samo na določeno vrednost v povezani tabeli je le en takšen primer. Ne skrbite, če takoj ne razumete popolnoma konteksta. Ko ustvarite lastne formule, boste bolje razumeli kontekst in zakaj je tako pomemben v jeziku DAX.

Hitri kviz o kontekstu

  1. Kateri sta dve vrsti konteksta?
  2. Kaj je kontekst filtra?
  3. Kaj je kontekst vrstice?

Odgovori so navedeni na koncu te teme.

Povzetek

Zdaj, ko imate osnovno razumevanje najpomembnejših konceptov v jeziku DAX, lahko začnete sami ustvarjati formule DAX za izračunane stolpce in mere. Učenje jezika DAX je res nekoliko težavno, vendar je na voljo veliko virov. Ko nekajkrat preberete to temo in preizkusite nekaj lastnih formul, lahko izveste več o drugih konceptih in formulah jezika DAX, ki vam lahko pomagajo pri reševanju lastnih poslovnih težav. Na voljo so številni viri za DAX v pomoči za Power Pivot, SQL Server Books Online, informativnih knjigah in spletnih dnevnikih Microsofta in vodilnih strokovnjakov za poslovno obveščanje. Središče virov DAX Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) je odličen kraj za začetek. Sklic na DAX (Data Analysis Expressions) je prav tako odličen vir. Ne pozabite ga shraniti med priljubljene.

Informativni dokument DAX v tabelarnem modelu poslovnega obveščanja, ki je na voljo za prenos (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409), ponuja podrobnejši pregled konceptov, ki so predstavljeni tukaj, ter številnih drugih naprednih konceptov in formul. V tem informativnem dokumentu je uporabljen tudi isti vzorec jezika Contoso DAX Formulas.xlsx delovni zvezek, ki ga že imate.

Odgovori na hitri kviz

Sintaksa:

  1. Odpre funkcijo Vstavljanja.
  2. Oklepaji [].
  3. =[Cena enote] - [Stroški na enoto]

Funkcije:

  1. Tabela in stolpec.
  2. Da. Formula lahko vsebuje do 64 ugnezdenih funkcij.
  3. Besedilne funkcije.

Kontekst:

  1. Kontekst vrstice in kontekst filtra.
  2. En ali več filtrov v izračunu, ki določa eno vrednost.
  3. Trenutna vrstica.