Applies ToExcel za Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Ovaj je vodič za brz početak rada za korisnike koji Power Pivot u programu Excel ili tabličnim modelima stvorenima u alatima za podatke sustava SQL Server. Namijenjen je brzom i jednostavnom uvodu u način na koji možete koristiti izraze za analizu podataka (DAX) da biste riješili niz osnovnih modela podataka i analitičkih problema. Ova tema sadrži konceptualne informacije, niz zadataka koje možete dovršiti i nekoliko testova za testiranje onoga što ste naučili. Nakon što dovršite ovu temu, trebali biste dobro razumjeti osnovne koncepte u DAX-u.

Što je DAX?

DAX je zbirka funkcija, operatora i konstanti koje se mogu koristiti u formuli ili izrazu za izračun i vraćanje jedne ili više vrijednosti. DaX vam pojednostavnjuje stvaranje novih informacija iz podataka koji se već nalaze u modelu.

Zašto je DAX tako važan?

Jednostavno je stvoriti radnu knjigu i uvesti neke podatke u tu radnu knjigu. Možete čak i stvoriti zaokretne tablice ili zaokretne grafikone koji prikazuju važne informacije bez korištenja DAX formula. No što ako morate analizirati ključne podatke o prodaji u nekoliko kategorija proizvoda i za različite raspone datuma? Ili trebate kombinirati važne podatke o inventaru iz nekoliko tablica u različitim izvorima podataka? DAX formule nude tu mogućnost i mnoge druge važne mogućnosti. Učenje kako stvoriti učinkovite DAX formule pomoći će vam da iskoristite svoje podatke na najbolji način. Kada otvorite potrebne informacije, možete početi rješavati stvarne poslovne probleme koji utječu na vaš donji redak. To je poslovno obavještavanje, a DAX će vam pomoći da do toga.

Preduvjeti

Možda ste već upoznati sa stvaranjem formula u programu Microsoft Excel. To će znanje biti korisno u razumijevanju DAX-a, ali čak i ako nemate iskustva s formulama programa Excel, ovdje opisani koncepti olakšat će vam stvaranje DAX formula i rješavanje problema s poslovnom obavještavanjem u stvarnom svijetu.

Usredotočit ćemo se posebno na razumijevanje DAX formula koje se koriste u izračunima. Već biste trebali biti upoznati s osnovnim konceptima izračunatih stupaca i mjera (koji se nazivaju i izračunatim poljima), a oba su opisana u odjeljku Power Pivot pomoći. Trebali biste biti upoznati i s Power Pivot i alatima za stvaranje programa Excel.

Primjer radne knjige

Najbolji način da naučite DAX jest stvaranje osnovnih formula, korištenje s nekim stvarnim podacima i pregled rezultata za sebe. Ovdje navedeni primjeri i zadaci koriste ogledni DAX contoso Formulas.xlsx radnu knjigu. Radnu knjigu možete preuzeti iz http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Kada radnu knjigu preuzmete na računalo, otvorite je, a zatim otvorite Power Pivot prozor.

Počnimo!

Dax ćemo uokviriti oko tri vrlo važna temeljna koncepta: sintakse, funkcija i konteksta. Naravno, postoje i drugi važni koncepti u DAX-u, ali razumijevanje ta tri koncepta pružit će najbolji temelj na kojem će se izgraditi vaše DAX vještine.

Sintaksa

Prije nego što stvorite vlastite formule, pogledajmo sintaksu dax formule. Sintaksa sadrži različite elemente koji čine formulu ili jednostavno napisanu formulu. Pogledajmo, primjerice, jednostavnu DAX formulu koja se koristi za stvaranje novih podataka (vrijednosti) za svaki redak u izračunatom stupcu s nazivom Margin u tablici FactSales: (boje teksta formule služe samo u ilustrativne svrhe)

Formula izračunatog stupca

Sintaksa ove formule sadrži sljedeće elemente:

  1. Operator znaka jednakosti (=) označava početak formule, a kada se formula izračuna, vratit će rezultat ili vrijednost. Sve formule koje izračunavaju vrijednost započinju znakom jednakosti.

  2. Referencirani stupac [IznosProdaje] sadrži vrijednosti od koje želimo oduzeti. Referenca stupca u formuli uvijek je okružena zagradama []. Za razliku od formula programa Excel koje se pozivaju na ćeliju, DAX formula uvijek upućuje na stupac.

  3. Matematički operator oduzimanja (-).

  4. Referencirani stupac [TotalCost] sadrži vrijednosti koje želimo oduzeti od vrijednosti u stupcu [IznosProdaje].

Prilikom pokušaja čitanja DAX formule često je korisno svaki element razlomiti na jezik koji mislite i govorite svaki dan. Ovu formulu, primjerice, možete pročitati kao:

U tablici FactSales za svaki redak izračunatog stupca Margina izračunajte (=) vrijednost oduzimanjem vrijednosti (-) u stupcu [TotalCost] od vrijednosti u stupcu [IznosProdaje].

Pogledajmo drugu vrstu formule, onu koja se koristi u mjeri:

Formula izračunatog stupca

Ova formula sadrži sljedeće elemente sintakse:

  1. Naziv mjere Zbroj iznosa prodaje. Formule za mjere mogu sadržavati naziv mjere, nakon čega slijedi dvotočka, a zatim formula izračuna.

  2. Operator znaka jednakosti (=) označava početak formule izračuna. Kada se izračuna, vratit će rezultat.

  3. Funkcija SUM zbraja sve brojeve u stupcu [IznosProdaje]. Kasnije ćete saznati više o funkcijama.

  4. Zagrada () okružuje jedan ili više argumenata. Za sve funkcije potreban je barem jedan argument. Argument prosljeđuje vrijednost funkciji.

  5. Referentna tablica FactSales.

  6. Referenciran stupac [IznosProdaje] u tablici FactSales. Pomoću tog argumenta funkcija SUM zna o kojem stupcu želite zbrojiti SUM.

Ovu formulu možete pročitati kao:

Za mjeru zbroj iznosa prodaje izračunajte (=) ZBROJ vrijednosti u stupcu [IznosProdaje] u tablici FactSales.

Kada se umetnete u padajuću zonu Vrijednosti na popisu polja zaokretne tablice, ova mjera izračunava i vraća vrijednosti definirane svakom ćelijom u zaokretnoj tablici, na primjer, Mobilni telefoni u SAD-u.

Primijetit ćete da se u ovoj formuli nešto razlikuje od formule koju smo koristili za izračunati stupac Margina. Konkretno, uveli smo funkciju SUM. Funkcije su unaprijed napisane formule koje olakšavaju složene izračune i manipulacije brojevima, datumima, vremenom, tekstom i još mnogo toga. Kasnije ćete saznati više o funkcijama.

Za razliku od izračunatog stupca Margina, vidjet ćete da stupcu [IznosProdaje] prethodi tablica FactSales kojoj stupac pripada. To se naziva u potpunosti kvalificiranim nazivom stupca u kojem se nalazi naziv stupca kojem prethodi naziv tablice. Stupci referencirani u istoj tablici ne zahtijevaju da se u formulu uvrsti naziv tablice. To može učiniti dugačke formule koje se pozivaju na mnogo stupaca kraćim i lakšim za čitanje. No dobro je uvijek uvrstiti naziv tablice u formule mjera, čak i kada se nalazite u istoj tablici.

Napomena: Ako naziv tablice sadrži razmake, rezervirane ključne riječi ili nedopuštene znakove, naziv tablice morate navesti u jednostrukim navodnicima. Nazive tablica morate navesti i u navodnicima ako naziv sadrži znakove izvan raspona alfanumeričkih znakova ANSI, bez obzira na to podržava li regionalna shema skup znakova ili ne.

Vrlo je važno da formule imaju ispravnu sintaksu. U većini slučajeva, ako sintaksa nije točna, prikazat će se pogreška sintakse. U drugim slučajevima sintaksa je možda točna, ali vraćene vrijednosti možda nisu ono što očekujete. Power Pivot (i podatkovni alati sustava SQL Server) obuhvaća IntelliSense; značajka koja se koristi za stvaranje sintaktički ispravnih formula tako što omogućuje odabir točnih elemenata.

Stvorimo jednostavnu formulu. Ovaj će vam zadatak pomoći da dodatno razumijete sintaksu formula i kako vam značajka IntelliSense na traci formule može pomoći.

Zadatak: stvaranje jednostavne formule za izračunati stupac

  1. Ako se još ne nalazite u Power Pivot, u programu Excel na Power Pivot kliknite Power Pivot Prozor.

  2. U Power Pivot kliknite tablicu FactSales (kartica).

  3. Pomaknite se do najdesnijeg stupca, a zatim u zaglavlju stupca kliknite Dodaj stupac.

  4. Kliknite traku formule pri vrhu prozora dizajnera modela.

    Traka za formule u dodatku PowerPivot

    Pokazivač će se sada prikazati na traci formule. Na traci formule možete upisati formulu za izračunati stupac ili izračunato polje.

    Pogledajmo tri gumba lijevo od trake formule.

    Formula bar

    Kada je pokazivač aktivan na traci formule, ta tri gumba postaju aktivna. Krajnje lijevi gumb, X, jednostavno je gumb za otkazivanje. Hajde, kliknite ga. Pokazivač se više ne prikazuje na traci formule, a gumb odustani i gumb za kvačicu više se ne prikazuju. Samo naprijed i ponovno kliknite traku formule. Gumb Otkaži i gumb kvačice sada se ponovno pojavljuje. To znači da ste spremni za početak unosa formule.

    Gumb kvačice gumb je za provjeru formule. To ne čini mnogo dok ne unesete formulu. Mi ćemo se vratiti na njega u malo.

    Kliknite gumb Fx . Vidjet ćete da će se pojaviti novi dijaloški okvir; the Insert Function dialog box. Dijaloški okvir Umetanje funkcije najjednostavniji je način za početak unosa DAX formule. Kada malo kasnije stvorimo mjeru, u formulu ćemo dodati funkciju, ali zasad ne morate dodavati funkciju u formulu izračunatog stupca. Samo naprijed i zatvorite dijaloški okvir Umetanje funkcije.

  5. U traku formule upišite znak jednakosti =, a zatim upišite otvorenu zagradu [. Prikazat će se mali prozor sa svim stupcima u tablici FactSales. To je IntelliSense na djelu.

    Budući da se izračunati stupci uvijek stvaraju u aktivnoj tablici u kojoj se nalazite, nazivu stupca s nazivom tablice ne morate prethoditi. Pomaknite se prema dolje, a zatim dvokliknite [SalesQuantity]. Možete se i pomaknuti do željenog naziva stupca, a zatim pritisnuti tabulator.

    Pokazivač je sada aktivan desno od mjesta [SalesQuantity].

  6. Upišite razmak, a zatim upišite operator oduzimanja – (znak minus), a zatim upišite drugi razmak.

  7. Sada upišite drugu otvorenu zagradu [. Ovaj put odaberite stupac [ReturnQuantity] , a zatim pritisnite Enter.

    Ako vam se prikazuje pogreška, pažljivo pogledajte sintaksu. Ako je potrebno, usporedite je s formulom u prethodno opisanom izračunatom stupcu Margina.

    Kada pritisnete Enter da biste dovršili formulu, na traci stanja pri dnu Power Pivot pojavit će se riječ Izračun. To ide brzo, iako ste upravo izračunali nove vrijednosti za više od tri milijuna redaka.

  8. Desnom tipkom miša kliknite zaglavlje stupca i preimenujte stupac, NetSales.

I to je to! Upravo ste stvorili jednostavnu, ali vrlo snažnu DAX formulu. Za svaki redak tablice FactSales formula NetoProdaje izračunava vrijednost oduzimanjem vrijednosti u stupcu [ReturnQuantity] od vrijednosti u stupcu [KoličinaProdaje]. Obratite pozornost na to kako smo upravo rekli "Za svaki redak". Ovo je prizor drugog vrlo važnog koncepta u DAX-u; kontekst retka. Kasnije ćete saznati više o kontekstu retka.

Nešto što je vrlo važno razumjeti prilikom upisivanja operatora u DAX formulu vrsta je podataka u argumentima koje koristite. Ako, primjerice, upišete sljedeću formulu, = 1 & 2, vraćena vrijednost bit će tekstna vrijednost "12". To je zato što je operator ampersand (&) za spajanje teksta. DAX tu formulu tumači kao pročitanu: izračunajte rezultat tako da vrijednost 1 unesite kao tekst i dodate vrijednost 2 kao tekst. Sada, ako upišete = 1 + 2, DAX ovu formulu čita kao: Izračunajte rezultat tako da upišete brojčanu vrijednost 1 i dodate brojčanu vrijednost 2. Rezultat je, naravno, "3", brojčana vrijednost. DAX izračunava vrijednosti rezultata ovisno o operatoru u formuli, a ne na temelju vrste podataka stupaca koji se koriste u argumentu. Vrste podataka u DAX-u vrlo su važne, ali izvan opsega ovog brzog pokretanja. Da biste saznali više o vrstama podataka i operatorima u DAX formulama, pročitajte DAX referencu (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) u aplikaciji Knjige online.

Pokušajmo s drugim. Ovaj ćete put stvoriti mjeru upisivanjem formule i korištenjem značajke IntelliSense. Ne brinite se previše ako ne razumijete formulu u potpunosti. Važno je ovdje naučiti kako stvoriti formulu pomoću nekoliko elemenata zajedno u ispravnoj sintaksi.

Zadatak: stvaranje formule mjere

  1. U tablici FactSales kliknite bilo koju praznu ćeliju u području izračuna. To je područje praznih ćelija neposredno ispod tablice u Power Pivot prozoru.

Područje izračuna u dodatku PowerPivot

  1. U traku formule upišite naziv Prodaja prethodnog tromjesečja:.

  2. Upišite znak jednakosti = da biste započeli izračun formule.

  3. Upišite prvih nekoliko slova CAL, a zatim dvokliknite funkciju koju želite koristiti. U ovoj formuli želite koristiti funkciju CALCULATE .

  4. Upišite otvorenu zagradu (da biste započeli prosljediti argumente funkciji CALCULATE.

    Obavijest nakon upisivanja otvorite zagradu, IntelliSense prikazuje argumente potrebne za funkciju CALCULATE. Malo ćete naučiti o argumentima.

  5. Upišite prvih nekoliko slova tablice FactSales , a zatim na padajućem popisu dvokliknite FactSales[Prodaja].

  6. Upišite zarez (,) da biste naveli prvi filtar, zatim upišite PRE, a zatim dvokliknite funkciju PREVIOUSQUARTER .

    Nakon odabira funkcije PREVIOUSQUARTER pojavit će se druga otvorena zagrada koja označava da je potreban neki drugi argument; ovaj put za funkciju PREVIOUSQUARTER.

  7. Upišite prvih nekoliko slova Dim, a zatim dvokliknite DimDate[DateKey].

  8. Zatvorite i argument koji se prosljeđuje funkciji PREVIOUSQUARTER i funkciju CALCULATE tako da upišete dvije zatvorene zagrade )).

    Formula bi sada trebala izgledati ovako:

    Prodaja prethodnog tromjesečja:=CALCULATE(FactSales[Prodaja], PREVIOUSQUARTER(DimDate[KljučDatuma]))

  9. Kliknite gumb provjeri formulu na traci formule da biste provjerili valjanost formule. Ako vam se prikazuje pogreška, provjerite svaki element sintakse.

Uspio si! Upravo ste stvorili mjeru pomoću DAX-a, a ne tako jednostavno. Formula će izračunati ukupnu prodaju za prethodno tromjesečje, ovisno o filtrima primijenjenima u zaokretnoj tablici ili zaokretnom grafikonu.

Upravo ste uvedeni u nekoliko važnih aspekata DAX formula. Najprije je ova formula obuhvaćala dvije funkcije. Primijetit ćete da je funkcija PREVIOUSQUARTER ugniježđena kao argument proslijeđen funkciji CALCULATE . DAX formule mogu sadržavati do 64 ugniježđene funkcije. Formula vjerojatno neće sadržavati toliko ugniježđenih funkcija. U stvari, takva formula bi bila vrlo teška za stvaranje i ispravljanje pogrešaka, a vjerojatno ni ona ne bi bila vrlo brza.

U ovoj formuli koristili ste i filtre. Filtri sužavaju ono što će se izračunati. U tom ste slučaju odabrali jedan filtar kao argument, što je zapravo druga funkcija. Kasnije ćete saznati više o filtrima.

Na kraju ste koristili funkciju CALCULATE. Ovo je jedna od najsnažnijih funkcija u DAX-u. Dok stvarate podatkovne modele i stvarate složenije formule, vjerojatno ćete tu funkciju koristiti mnogo puta. Rasprava o funkciji CALCULATE izvan je opsega ovog vodiča za brzi početak rada, ali kako vaše znanje o DAX-u raste, obratite posebnu pozornost na ovaj.

Napomena: Obično, da biste koristili funkcije inteligencije vremena u DAX formulama, morate navesti jedinstveni stupac datuma pomoću dijaloškog okvira Označi kao tablicu datuma. U radnoj knjizi Contoso DAX formula Samples.xlsx stupac KljučDatuma u tablici DimDate odabran je kao jedinstveni stupac datuma.

Dodatni kredit

Možda se pitate: "Koja je najjednostavnija DAX formula koju mogu stvoriti?" Odgovor na to je formula koju ne morate. To možete učiniti i pomoću standardne funkcije agregacije u mjeri. Gotovo svaki podatkovni model mora filtrirati i izračunavati zbrojene podatke. Primjerice, funkcija SUM u mjeri Iznos prodaje koju ste vidjeli ranije koristi se za zbrajanje svih brojeva u određenom stupcu. DAX obuhvaća i nekoliko drugih funkcija koje zbrajaju vrijednosti. Pomoću značajke automatskog zbroja možete automatski stvoriti formule pomoću standardnih agregacija.

Dodatni zadatak kreditiranja: stvaranje formule mjere pomoću značajke automatskog zbroja

  1. U tablici FactSales pomaknite se do stupca ReturnQuantity, a zatim kliknite zaglavlje stupca da biste odabrali cijeli stupac.

  2. Na kartici Polazno na vrpci u grupi Izračuni kliknite gumb Automatski zbroj .

Automatski zbroj u dodatku PowerPivot

Kliknite strelicu prema dolje pokraj mogućnosti Automatski zbroj, a zatim Kliknite Prosjek (primijetite i ostale standardne funkcije zbrajanja koje možete koristiti).

Odmah se stvara nova mjera s nazivom Prosječna vrijednost ReturnQuantity: nakon čega slijedi formula =AVERAGE([ReturnQuantity]).

Zar to nije bilo lako? Naravno, neće sve formule koje stvorite biti tako jednostavne. No pomoću značajke automatskog zbroja možete stvarati brze i jednostavne formule pomoću standardnih izračuna zbrajanja.

To bi vam trebalo dati prilično dobro razumijevanje sintakse koja se koristi u DAX formulama. Uvedeni ste i u neke zaista zanimljive značajke kao što su IntelliSense i Automatski zbroj da biste lakše stvorili brze, jednostavne i točne formule. Naravno da postoji mnogo više informacija o sintaksi. Dobro mjesto za dodatne informacije jest DAX referenca ili SQL knjige online.

QuickQuiz sintakse

  1. Čemu taj gumb na traci formule funkcionira?Gumb funkcije

  2. Što uvijek okružuje naziv stupca u DAX formuli?

  3. Kako biste napisali formulu za sljedeće: U tablici DimProduct za svaki redak izračunatog stupca UnitMargin izračunajte vrijednost oduzimanjem vrijednosti u stupcu JediničnaCijena od vrijednosti u stupcu JediničnaCijena?

Odgovori se nalaze na kraju ove teme.

Funkcije

Funkcije su unaprijed definirane formule koje izvode izračune pomoću određenih vrijednosti, koje se nazivaju argumentima, određenim redoslijedom ili strukturom. Argumenti mogu biti druge funkcije, druga formula, reference stupaca, brojevi, tekst, logičke vrijednosti kao što su TRUE ili FALSE ili konstante.

DAX obuhvaća sljedeće kategorije funkcija: datum i vrijeme, informacije, logičke, matematičke, statističke, tekstne i vremenske funkcije. Ako ste upoznati s funkcijama u formulama programa Excel, mnoge funkcije u DAX-u izgledat će slično vama. No DAX funkcije jedinstvene su na sljedeće načine:

  • DaX funkcija uvijek upućuje na cijeli stupac ili tablicu. Ako želite koristiti samo određene vrijednosti iz tablice ili stupca, u formulu možete dodati filtre.

  • Ako izračune morate prilagoditi za svaki redak po redak, DAX nudi funkcije koje vam omogućuju korištenje trenutne vrijednosti retka ili povezane vrijednosti kao vrste argumenta za izračune koji se razlikuju ovisno o kontekstu. Kasnije ćete saznati više o kontekstu.

  • DAX sadrži brojne funkcije koje vraćaju tablicu, a ne vrijednost. Tablica se ne prikazuje, ali se koristi za unos drugim funkcijama. Možete, primjerice, dohvatiti tablicu, a zatim prebrojati različite vrijednosti u tablici ili pak izračunati dinamičke zbrojeve u filtriranim tablicama ili stupcima.

  • DAX sadrži razne funkcije inteligencije vremena. Te funkcije omogućuju definiranje ili odabir raspona datuma te izvođenje dinamičkih izračuna na temelju njih. Možete, primjerice, usporediti zbrojeve u paralelnim razdobljima.

Ponekad je teško znati koje ćete funkcije možda morati koristiti u formuli. Power Pivot i dizajner tabličnog modela u alatima za podatke sustava SQL Server obuhvaćaju značajku umetanja funkcije, dijaloški okvir koji olakšava odabir funkcija prema kategoriji i daje kratke opise za svaku funkciju.Umetanje funkcije

Stvorimo novu formulu koja obuhvaća funkciju koju ćete odabrati pomoću značajke Umetni funkciju:

Zadatak: dodavanje funkcije u formulu pomoću funkcije Insert

  1. U tablici FactSales pomaknite se do najdesnijeg stupca, a zatim u zaglavlju stupca kliknite Dodaj stupac.

  2. U traku formule upišite znak jednakosti=.

  3. Kliknite gumb Umetni funkciju. Umetanje funkcije Otvorit će se dijaloški okvir Umetanje funkcije.

  4. U dijaloškom okviru Umetanje funkcije kliknite okvir s popisom Odabir kategorije. Po zadanom je odabrano Sve, a sve funkcije u kategoriji Sve navedene su u nastavku. To je mnogo funkcija, pa ćete htjeti filtrirati funkcije da biste lakše pronašli vrstu funkcije koju tražite.

  5. Za ovu formulu želite vratiti neke podatke koji već postoje u drugoj tablici. Za to ćete koristiti funkciju u kategoriji Filtar. Idite naprijed i kliknite kategoriju Filtar, a zatim se u odjeljku Odabir funkcije pomaknite prema dolje i dvokliknite funkciju RELATED. Kliknite U redu da biste zatvorili dijaloški okvir Umetanje funkcije.

  6. Upotrijebite IntelliSense da biste lakše pronašli i odabrali stupac DimChannel[ChannelName].

  7. Zatvorite formulu, a zatim pritisnite Enter.

  8. Kada pritisnete Enter da biste dovršili formulu, na traci stanja pri dnu Power Pivot pojavit će se riječ Izračun. Sada ćete vidjeti da ste upravo stvorili novi stupac u tablici FactSales s informacijama o kanalu iz tablice DimChannel.

  9. Preimenujte stupac Kanal.

    Formula bi trebala izgledati ovako: =RELATED(DimChannel[ChannelName])

Upravo ste uvedeni u drugu vrlo važnu funkciju u FUNKCIJI DAX, FUNKCIJI RELATED . Funkcija RELATED vraća vrijednosti iz druge tablice. Možete koristiti related pod uvjetom da postoji odnos između tablice u kojoj se trenutno nalazite i tablice koja sadrži vrijednosti koje želite dohvatiti. Naravno, funkcija RELATED ima ogromne mogućnosti. U tom slučaju sada možete uvrstiti prodajni kanal za svaku prodaju u tablicu FactSales. Sada možete sakriti tablicu DimChannel s popisa polja zaokretne tablice, što olakšava navigaciju i prikaz samo najvažnijih informacija koje su vam potrebne. Slično kao i ranije opisana funkcija CALCULATE, funkcija RELATED vrlo je važna i vjerojatno ćete je koristiti mnogo puta.

Kao što vidite, funkcije u DAX-u mogu vam pomoći u stvaranju vrlo naprednih formula. Samo smo se dotisli osnovama funkcija. Kako se vaše DAX vještine poboljšavaju, stvorit ćete formule pomoću raznih funkcija. Jedno od najboljih mjesta za učenje pojedinosti o svim DAX funkcijama jest referenca izraza za analizu podataka (DAX).

Brze funkcije

  1. Na što se funkcija uvijek poziva?

  2. Može li formula sadržavati više funkcija?

  3. Koju kategoriju funkcija koristite za spajanje dvaju tekstnih nizova u jedan niz?

Odgovori se nalaze na kraju ove teme.

Kontekst

Kontekst je jedan od najvažnijih DAX koncepata za razumijevanje. Postoje dvije vrste konteksta u DAX-u; kontekst retka i kontekst filtra. Najprije ćemo pogledati kontekst retka.

Kontekst retka

Kontekst retka najlako se smatra trenutnim retkom. Sjećate se, primjerice, izračunatog stupca Margina koji ste vidjeli ranije prilikom učenja o sintaksi? Formula =[IznosProdaje] – [TotalCost] izračunava vrijednost u stupcu Margina za svaki redak u tablici. Vrijednosti za svaki redak izračunavaju se iz vrijednosti u dva druga stupca, [IznosProdaje] i [TotalCost] u istom retku. DAX može izračunati vrijednosti za svaki redak u stupcu Margina jer ima kontekst: za svaki redak uzima vrijednosti u stupcu [TotalCost] i oduzima ih od vrijednosti u stupcu [IznosProdaje].

U odabranoj ćeliji prikazanoj u nastavku vrijednost 49,54 USD u trenutnom retku izračunata je oduzimanjem vrijednosti 51,54 USD u stupcu [TotalCost] od vrijednosti 101,08 USD u stupcu [IznosProdaje].

Kontekst retka u dodatku PowerPivot

Kontekst retka ne odnosi se samo na izračunate stupce. Kontekst retka primjenjuje se i svaki put kada formula ima funkciju koja primjenjuje filtre radi prepoznavanja jednog retka u tablici. Funkcija će samim po sebi primijeniti kontekst retka za svaki redak tablice preko koje se filtrira. Ta se vrsta konteksta redaka najčešće primjenjuje na mjere.

Kontekst filtra

Kontekst filtra malo je teže razumjeti od konteksta retka. Kontekst filtra možete naj jednostavno smatrati: jednim ili više filtara primijenjenih u izračunu koji određuje rezultat ili vrijednost.

Kontekst filtra ne postoji na mjestu konteksta retka; umjesto toga, primjenjuje se uz kontekst retka. Da biste, primjerice, dodatno suzili vrijednosti koje želite uvrstiti u izračun, možete primijeniti kontekst filtra koji ne samo da određuje kontekst retka, već i određuje samo određenu vrijednost (filtar) u kontekstu tog retka.

Kontekst filtra lako se vidi u zaokretnim tablicama. Kada, primjerice, dodate TotalCost u područje Vrijednosti, a zatim u redak ili stupce dodate Godina i Regija, definirate kontekst filtra koji odabire podskup podataka na temelju navedene godine i regije.

Zašto je kontekst filtra toliko važan za DAX? Budući da je kontekst filtra moguće primijeniti dodavanjem natpisa stupaca i redaka i rezača u zaokretnoj tablici, kontekst filtra može se primijeniti i u DAX formuli definiranjem filtra pomoću funkcija kao što su ALL, RELATED, FILTER, CALCULATE, prema odnosima te prema drugim mjerama i stupcima. Na primjer, pogledajmo sljedeću formulu u mjeri pod nazivom StoreSales:

Formula

Jasno je da je formula složenija od nekih drugih formula koje ste vidjeli. No da bismo bolje razumjeli ovu formulu, možemo je razlomiti, baš kao i s drugim formulama.

Ova formula sadrži sljedeće elemente sintakse:

  1. Naziv mjere StoreSales, nakon čega slijedi dvotočka :.

  2. Operator znaka jednakosti (=) označava početak formule.

  3. Funkcija CALCULATE izračunava izraz kao argument u kontekstu koji su izmijenili navedeni filtri.

  4. Zagrada () okružuje jedan ili više argumenata.

  5. Mjera [Prodaja] u istoj tablici kao izraz. Mjera Prodaja sadrži formulu: =SUM(FactSales[IznosProdaje]).

  6. Zarez (,) razdvaja svaki filtar.

  7. Referenciran stupac i određenu vrijednost, DimChannel[ChannelName] ="Store", kao filtar.

Ova će formula osigurati da se samo prodajne vrijednosti, definirane mjerom Prodaja, kao filtar, izračunavaju samo za retke u stupcu DimChannel[ChannelName] s vrijednošću "Trgovina", kao filtar.

Kao što možete zamisliti, mogućnost definiranja konteksta filtra unutar formule ima golemu i snažnu mogućnost. Referenca samo na određenu vrijednost u povezanoj tablici samo je jedan takav primjer. Ne brinite ako odmah ne razumijete u potpunosti kontekst. Dok stvarate vlastite formule, bolje ćete razumjeti kontekst i zašto je tako važan u DAX-u.

Kontekstni brzi preduvjeti

  1. Koje su dvije vrste konteksta?

  2. Što je kontekst filtra?

  3. Što je kontekst retka?

Odgovori se nalaze na kraju ove teme.

Sažetak

Sada kada imate osnovno razumijevanje najvažnijih koncepata u DAX-u, možete početi sami stvarati DAX formule za izračunate stupce i mjere. DAX zaista može biti malo lukav učiti, ali postoje mnogi resursi dostupni za vas. Nakon što nekoliko puta pročitate ovu temu i eksperimentirate s nekoliko vlastitih formula, možete saznati više o drugim DAX konceptima i formulama koji vam mogu pomoći u rješavanju vlastitih poslovnih problema. Mnogo je DAX resursa dostupnih u sustavu Power Pivot, SQL Server Books Online, whitepapers i blogovima Microsoftovih i vodećih stručnjaka za poslovno obavještavanje. Wiki dax resource center (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) odlično je mjesto za početak. Referenca izraza za analizu podataka (DAX) odličan je resurs. Obavezno je spremite u favorite.

DAX u dodatku bi tablični model dostupan za preuzimanje (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) pruža detaljniji pregled ovdje uvedenih koncepata, kao i mnogih drugih naprednih koncepata i formula. Ova bijela papir koristi istu oglednu radnu knjigu contoso DAX Formulas.xlsx koju već imate.

QuickQuiz Answers

Sintaksa:

  1. Otvara značajku Umetni funkciju.

  2. Zagrade [].

  3. =[JediničnaCijena] - [UnitCost]

Funkcije:

  1. Tablica i stupac.

  2. Da. Formula može sadržavati do 64 ugniježđene funkcije.

  3. Funkcije teksta.

Kontekst:

  1. Kontekst retka i kontekst filtra.

  2. Jedan ili više filtara u izračunu koji određuje jednu vrijednost.

  3. Trenutni redak.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.