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

Velja za
Excel za Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Ta vodnik za hitri začetek je namenjen uporabnikom, ki še ne poznajo dodatka Power Pivot v Excelu ali projektov z tabelarnimi modeli, ki so ustvarjeni v SQL Server Data Tools. Njegov namen je hiter in preprost uvod v uporabo jezika DAX za reševanje številnih osnovnih problemov z modeliranjem podatkov in analitičnimi problemi. V tej temi so konceptualne informacije, niz opravil, ki jih lahko dokončate, in nekaj preskusov znanja. 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 lahko uporabite v formulah ali izrazih za izračun in vrnitev ene ali več vrednosti. Preprosteje povedano – s formulo DAX lahko ustvarite nove informacije iz podatkov, ki so že v vašem modelu.

Zakaj je jezik DAX tako pomemben?

Ustvarjanje delovnega zvezka in uvoz podatkov vanj je preprosto. Ustvarite lahko tudi vrtilne tabele ali vrtilne grafikone, ki prikažejo pomembne informacije, ne da bi morali uporabiti formule DAX. Kaj pa narediti, če morate analizirati ključne podatke o prodaji v več kategorijah izdelkov in za različne datumske obsege? Ali pa morate združiti pomembne podatke o zalogi iz več tabel v različnih virih podatkov? Formule DAX omogočajo to in še mnoge druge pomembne zmogljivosti. Če se boste naučili ustvariti učinkovite formule jezika 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 poslovno obveščanje, pri katerem si boste pomagali pri izražanju jezika DAX.

Pogoji

Morda že poznate ustvarjanje formul v Microsoft Excelu. To znanje vam bo pomagalo pri razumevanju jezika DAX, toda tudi če nimate izkušenj z Excelovimi formulami, vam bodo koncepti, opisani tukaj, pomagali, da začnete takoj ustvariti formule DAX in reševati resnične težave poslovnega obveščanja.

Osredotočili se bomo posebej na razumevanje formul DAX, ki se uporabljajo v izračunih. Osnovni koncepti izračunanih stolpcev in mer (znanih tudi kot izračunana polja), ki sta opisana v pomoči za Power Pivot. Poznati morate tudi dodatek Power Pivot v Excelovem okolju za izdelavo in orodji.

Vzorčni delovni zvezek

Jezik DAX se najlažje naučite le, če ustvarite nekaj osnovnih formul, ga uporabite z dejanskimi podatki in si sami ogledate rezultate. Primeri in opravila tukaj uporabljajo delovni zvezek Formulas.xlsx vzorčnega jezika DAX podjetja Contoso. Delovni zvezek lahko prenesete s spletnega mesta http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Ko ste prenesli delovni zvezek v računalnik, ga odprite in nato odprite okno Power Pivot.

Pa začnimo!

Formulo DAX bomo uokvirili okoli treh zelo pomembnih temeljnih konceptov: sintakse, funkcij in konteksta. Seveda so v jeziku DAX tudi drugi pomembni koncepti, toda razumevanje teh treh konceptov bo najboljša podlaga za izgradnjo spretnosti jezika 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 zapisana. Oglejmo si na primer preprosto formulo DAX, ki se uporablja za ustvarjanje novih podatkov (vrednosti) za vsako vrstico v izračunanem stolpcu, imenovanem »Dobičk«, v tabeli »FactSales«: (barve besedila formule so zgolj ponazoritvene)

Formula izračunanega stolpca

V sintaksi formule so ti elementi:

  1. Operator enačaja (=) označuje začetek formule in ko je formula izračunana, vrne rezultat ali vrednost. Vse formule, ki izračunajo vrednost, se bodo začele z enačajem.
  2. Sklicevani stolpec [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 za odštevanje (-).
  4. Sklicevani stolpec [TotalCost] vsebuje vrednosti, ki jih želimo odšteti od vrednosti v stolpcu [SalesAmount].

Ko poskušate razumeti, kako brati formulo DAX, je zelo koristno, če vsak element razčlenite v jezik, v katerem vsak dan razmišljate in govorite. To formulo lahko na primer preberete tako:

V tabeli »FactSalestable« za vsako vrstico v izračunanem stolpcu »Margin« 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 meri:

Formula izračunanega stolpca

V formuli so ti elementi sintakse:

  1. Ime mere: Sum of Sales Amount. Formule za mere lahko vključujejo ime mer, temu sledi dvopičje in formula izračuna.
  2. Operator je enako (=) označuje začetek formule za izračun. Ko je izračunano, vrne rezultat.
  3. Funkcija SUM sešteje vse številke v stolpcu [SalesAmount]. Več o funkcijah boste izvedeli pozneje.
  4. Zaklepaj obdaja enega ali več argumentov. Vse funkcije zahtevajo vsaj en argument. Argument poda vrednost funkciji.
  5. Tabela s sklicem »FactSales«.
  6. Stolpec [SalesAmount] v sklicu v tabeli »FactSales«. S tem argumentom funkcija SUM ve, v katerem stolpcu je treba združiti funkcijo SUM.

To formulo lahko preberete tako:

Za mero, imenovano »Sum of Sales Amount«, izračunajte (=) vsoto vrednosti v stolpcu [SalesAmount] v tabeliFactSales.

Ko jo ta mera postavite v spustno območje »Vrednosti« na seznamu polj vrtilne tabele, izračuna in vrne vrednosti, ki jih določa posamezna celica v vrtilni tabeli, na primer mobilni telefoni v ZDA.

Opazite lahko, da se ta formula nekoliko razlikuje od formule, ki smo jo uporabili za izračunani stolpec »Rob«. Še posebej smo predstavili funkcijo SUM. Funkcije so vnaprej napisane formule, ki olajšajo izvajanje zapletenih izračunov in manipulacij s številkami, datumi, uro, besedilom in drugimi elementi. Več o funkcijah boste izvedeli pozneje.

Za razliko od prejšnjega izračunanega stolpca je bila pred stolpcem [SalesAmount] tabela »FactSales«, v katero stolpec spada. To ime imenujemo popolnoma določeno ime stolpca, saj vključuje ime stolpca, pred katerim je ime tabele. Za stolpce, na katere se sklicuje ista tabela, ni treba v formulo vključiti imena tabele. Zaradi tega so lahko dolge formule, ki se sklicujejo na več stolpcev, krajše in jih bo lažje brati. Kljub temu je dobro, da v formule mer vedno vključite ime tabele, tudi če ste v isti tabeli.

Opomba

Če so v imenu tabele presledki, rezervirane ključne besede ali nedovoljeni znaki, morate ime tabele vnesti med enojne narekovaje. Imena tabel morate postaviti v narekovaje, tudi če ime vsebuje znake, ki presegajo obseg alfanumeričnih znakov ANSI, ne glede na to, ali območne nastavitve podpirajo nabor znakov ali ne.

Zelo pomembno je, da imajo formule pravilno sintakso. Če sintaksa v večini primerov ni pravilna, bo vrnjena napaka v sintaksi. V drugih primerih je sintaksa morda pravilna, vendar vrnjene vrednosti morda ne bodo takšne, kot ste pričakovali. Power Pivot (in SQL Server Data Tools) vključuje IntelliSense; funkcijo, ki se uporablja za ustvarjanje sintaktično pravilnih formul, tako da vam pomaga izbrati prave 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čunan stolpec

  1. Če še niste v oknu Power Pivot, v Excelu kliknite okno Power Pivot na traku Power Pivot.
  2. V oknu dodatka Power Pivot kliknite tabelo (zavihek) »FactSales «.
  3. Pomaknite se do skrajno 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 prikaže v vnosni vrstici. Vnašate formulo za izračunani stolpec ali izračunano polje v vnosno vrstico.
    Oglejmo si tri gumbe levo od vnosne vrstice.
    Vnosna vrstica
    Ko je kazalec v vnosni vrstici aktiven, postanejo aktivni ti trije gumbi. Skrajno levi gumb, X, je preprosto gumb za preklic. Kliknite. Kazalec ni več prikazan v vnosni vrstici, gumba za preklic in kljukico pa nista več prikazana. Nadaljujte in znova kliknite vnosno vrstico. Gumb za preklic in gumb kljukice se zdaj znova prikažeta. To pomeni, da ste pripravljeni začeti vnašati formulo.
    Gumb kljukice je gumb za potrditveno formulo. Ne naredi veliko, dokler ne vnesete formule. K temu se bomo vrnili čez malo.
    Kliknite gumb Fx . Videli boste, da se prikaže novo pogovorno okno; pogovorno okno Vstavi funkcijo. Pogovorno okno »Vstavi funkcijo« je najpreprostejši način za začetek vnašanja formule DAX. Funkcijo bomo dodali v formulo, ko bomo ustvarili mero malo kasneje, vendar vam za zdaj ni treba dodati funkcije v formulo izračunanega stolpca. Pojdite naprej in zaprite pogovorno okno Vstavi funkcijo.
  5. V vnosno vrstico vnesite enačaj = in nato oklepaj [. Prikaže se majhno okno z vsemi stolpci v tabeli »FactSales«. To je IntelliSense v akciji.
    Ker so izračunani stolpci vedno ustvarjeni v aktivni tabeli, v kateri ste, ni treba pred imenom stolpca postaviti imena tabele. Pomaknite se navzdol in nato dvokliknite [SalesQuantity]. Lahko se tudi pomaknete do želenega imena stolpca in nato pritisnete tabulatorko.
    Kazalec je zdaj aktiven desno od [SalesQuantity].
  6. Vnesite presledek in nato operator odštevanja - (znak minus) in nato vnesite še en presledek.
  7. Zdaj vnesite še en oklepaj [. Tokrat izberite stolpec [ReturnQuantity] in pritisnite tipko Enter.
    Če se prikaže napaka, natančno preglejte sintakso. Po potrebi jo primerjajte s formulo v prej opisanem stolpcu Izračunana kritje.
    Ko pritisnete tipko Enter, da dokončate formulo, se v vrstici stanja na dnu okna dodatka Power Pivot prikaže beseda Izračun. Gre hitro, čeprav ste pravkar izračunali nove vrednosti za več kot tri milijone vrstic.
  8. Z desno miškino tipko kliknite glavo stolpca in preimenujte stolpec NetSales.

To je vse! Pravkar ste ustvarili preprosto, a zelo zmogljivo formulo DAX. Za vsako vrstico v tabeli »FactSales« formula NetSales izračuna vrednost tako, da odšteje vrednost v stolpcu [ReturnQuantity] od vrednosti v stolpcu [SalesQuantity]. Opazite, 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 kasneje.

Nekaj zelo pomembnega, kar je treba razumeti pri vnašanju operatorja v formulo DAX, je podatkovni tip v argumentih, 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 ampersand (&) namenjen združevanju besedila. DAX razlaga to formulo tako, da se glasi: Rezultat izračunate tako, da vrednost 1 vzamete kot besedilo in dodate vrednost 2 kot besedilo. Če bi vnesli = 1 + 2, DAX prebere to formulo kot: Rezultat izračunate tako, da vzamete številsko vrednost 1 in seštejete številsko vrednost 2. Rezultat je seveda "3", številska vrednost. DAX izračuna nastale vrednosti glede na operator v formuli, ne pa na podlagi podatkovnega tipa stolpcev, uporabljenih v argumentu. Podatkovni tipi v jeziku DAX so zelo pomembni, vendar zunaj obsega tega hitrega začetka. Če želite izvedeti več o podatkovnih tipih in operatorjih v formulah jezika DAX, glejte Sklic jezika DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) v storitvi Books Online.

Poskusimo drugo. Tokrat boste merilo ustvarili tako, da vnesete formulo in uporabite IntelliSense. Ne skrbite preveč, če formule ne razumete v celoti. Pomembno je, da se naučite, kako ustvariti formulo z uporabo več elementov skupaj v pravilni sintaksi.

Opravilo: Ustvarjanje formule mere

  1. V tabeli »FactSales « kliknite poljubno 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 CALCULATE .
  4. Vnesite začetni oklepaj ( za začetek argumentov, ki jih je treba posredovati funkciji CALCULATE.
    Upoštevajte, da po vnosu začetnega oklepaja IntelliSense prikaže argumente, ki so potrebni za funkcijo CALCULATE. O argumentih se boste naučili v malem.
  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 kaže, da je potreben še en argument; tokrat za funkcijo PREVIOUSQUARTER.
  7. Vnesite prvih nekaj črk Dim in nato dvokliknite DimDate[DateKey].
  8. Zaprite argument, ki se posreduje funkciji PREVIOUSQUARTER, in funkciji CALCULATE tako, da vnesete dva končna oklepaja )).
    Formula bi morala biti zdaj videti tako:
    Prodaja v prejšnjem četrtletju:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))
  9. Kliknite gumb za preverjanje formule v vnosni vrstici, da preverite veljavnost formule. Če se prikaže napaka, preverite vsak element sintakse.

Uspelo ti je! Pravkar ste ustvarili mero z uporabo jezika DAX, ki to ni enostavno. Ta formula bo izračunala skupno prodajo za prejšnje četrtletje, odvisno od filtrov, uporabljenih v vrtilni tabeli ali vrtilnem grafikonu.

Pravkar ste se seznanili z več pomembnimi vidiki formul DAX. Prvič, ta formula je vključevala dve funkciji. Upoštevajte, da je funkcija PREVIOUSQUARTER ugnezdena kot argument, posredovan funkciji CALCULATE . Formule DAX lahko vsebujejo do 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 razhroščevati, verjetno pa tudi ne bi bila zelo hitra.

V tej formuli ste uporabili tudi filtre. Filtri zožijo tisto, kar bo izračunano. V tem primeru ste kot argument izbrali en filter, ki je pravzaprav druga funkcija. Več o filtrih boste izvedeli kasneje.

Na koncu ste uporabili funkcijo CALCULATE. To je ena najmočnejših funkcij v jeziku DAX. Ko ustvarjate podatkovne modele in ustvarjate bolj zapletene formule, boste to funkcijo verjetno uporabili večkrat. Razprava o funkciji CALCULATE je izven obsega tega hitrega začetka, vendar z naraščanjem vašega znanja o jeziku DAX bodite še posebej pozorni na to.

Opomba

Če želite uporabiti funkcije časovnega obveščanja v formulah jezika DAX, morate po navadi določiti enolični stolpec z datumom v pogovornem oknu Označi kot datumsko tabelo. V delovnem zvezku Contoso DAX Formula Samples.xlsx je stolpec »DateKey« v tabeli »DimDate« izbran kot enolični stolpec z datumom.

Dodatni kredit

Morda se sprašujete: »Katera je najpreprostejša formula DAX, ki jo lahko ustvarim?« No, odgovor na to je "formula, ki vam ni treba". In to je točno tisto, kar lahko storite z uporabo standardne agregacijske funkcije v merilu. Skoraj vsak podatkovni model mora filtrirati in izračunati združene podatke. Funkcija SUM v merilu Vsota zneska prodaje, ki ste jo videli prej, se na primer uporablja za seštevanje vseh števil v določenem stolpcu. DAX vključuje tudi več drugih funkcij, ki združujejo vrednosti. Formule lahko samodejno ustvarite s standardnimi združevanjem 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 ob možnosti Samodejna vsota in nato Povprečje (bodite pozorni tudi na druge standardne funkcije združevanja, ki jih lahko uporabite).

Takoj je ustvarjena nova mera z imenom Povprečje ReturnQuantity: ki ji sledi formula =AVERAGE([ReturnQuantity]).

Ali ni bilo tako enostavno? 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.

Pogovorno okno »Vstavi funkcijo« z izbrano možnostjo »Vse« in označenim ABS

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 «. Vnosna vrstica s puščico, ki kaže na gumb »Vstavi funkcijo« 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« vsebuje formulo: =SUM(FactSales[SalesAmount]).
  6. Vsak filter ločuje vejica (,).
  7. Stolpec s sklicem in določena vrednost DimChannel[ChannelName] ="Store" kot filter.

Ta formula bo zagotovila, da bodo le vrednosti prodaje, določene z mero »Prodaja« kot filter, izračunane le za vrstice v stolpcu DimChannel[ImeKanala] z vrednostjo »Trgovina« kot filter.

Kot si lahko predstavljate, ima možnost določanja konteksta filtra v formuli ogromne in zmogljive zmogljivosti. Možnost sklica le na določeno vrednost v povezani tabeli je le en takšen primer. Ne skrbite, če takoj ne razumete popolnoma konteksta. Ko ustvarite svoje formule, boste bolje razumeli kontekst in razlog, zakaj je ta formula tako pomembna v jeziku DAX.

Hitri kviz za kontekst

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

Odgovori so na voljo na koncu te teme.

Povzetek

Zdaj, ko ste osnovno razumeli najpomembnejše koncepte v jeziku DAX, lahko začnete sami ustvarjati formule DAX za izračunane stolpce in mere. Jezika DAX je res nekoliko zahtevno za učenje, vendar imate na voljo veliko virov. Ko ste nekajkrat prebrali to temo in preizkusili svoje formule, boste lahko izvedeli več o drugih konceptih jezika DAX in formulah, s katerimi boste lažje rešili svoje poslovne težave. Na voljo so številni viri za DAX: Pomoč za Power Pivot, SQL Server Books Online, informativni dokumenti in spletni dnevniki Microsofta in vodilnih strokovnjakov za poslovno obveščanje. Wiki za središče virov za DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) je odlično mesto za začetek. Tudi sklic na jezik Data Analysis Expressions (DAX) je odličen vir. Ne pozabite ga shraniti med priljubljene.

V dokumentu za DAX v dokumentu tabelarnega modela BI, ki je na voljo za prenos (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409), so na voljo podrobnejši podatki o konceptih, ki so predstavljeni tukaj, kot tudi številni drugi napredni koncepti in formule. Ta informativni dokument uporablja tudi isti vzorčni delovni zvezek DAX Formulas.xlsx podjetja Contoso, ki ga že imate.

Odgovori na hitri kviz

Sintaksa:

  1. Odpre funkcijo »Vstavi funkcijo«.
  2. Oklepaji [].
  3. =[CenaEnote] - [StroškiEnote]

Funkcije:

  1. Tabelo in stolpec.
  2. Da. Formula lahko vsebuje največ 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.