Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Ovaj je QuickStart za korisnike koji Power Pivot u Excel ili tablični model projekata koji su autori SQL Server Data Tools. Namijenjen je brzom i jednostavnom uvodu u način na koji možete koristiti izraze analize podataka (DAX) da biste riješili brojne osnovne modeliranje podataka i analitičke probleme. Ova tema sadrži konceptualne informacije, niz zadataka koje možete dovršiti i nekoliko testova za testiranje onoga što ste naučili. Nakon dovršetka ove teme trebali biste dobro razumjeti osnovne temeljne koncepte u programu DAX.

Š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 će vam pomoći da stvorite nove informacije iz podataka koji su već u modelu.

Zašto je DAX tako važan?

Radnu knjigu možete jednostavno stvoriti i uvesti neke podatke u njega. Možete stvoriti i 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 datumske raspone? Ili morate 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. Ako naučite stvarati učinkovite DAX formule, najbolje ćete se izvući iz podataka. Kada nabavite potrebne informacije, možete početi rješavati stvarne poslovne probleme koji utječu na vaš donji redak. Ovo je poslovna inteligencija, a DAX će vam pomoći da to ocijenite.

Preduvjeti

Možda ste već upoznati s stvaranjem formula u Microsoft Excel. To će znanje biti korisno u razumijevanju DAX-a, ali čak i ako ne imate iskustva s formulama Excel, ovdje opisani koncepti pomoći će vam da odmah stvorite DAX formule i odmah rješavate probleme s bi-om u stvarnom svijetu.

Posebno ćemo se usredotočiti na razumijevanje DAX formula koje se koriste u izračunima. Već biste trebali biti upoznati s osnovnim konceptima izračunatih stupaca i mjera (naziva se i izračunatim poljima), od kojih su oba opisana u odjeljku Power Pivot Pomoći. Trebali biste biti upoznati i s Power Pivot u Excel i alatima.

Primjer radne knjige

DaX je najbolji način da naučite stvoriti neke osnovne formule, koristiti ih uz neke stvarne podatke i sami vidjeti rezultate. Primjeri i zadaci ovdje koriste oglednu DAX radnu knjigu contoso Formulas.xlsx. 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: sintaksa, funkcije i kontekst. Naravno, postoje i drugi važni koncepti u DAX-u, ali razumijevanje tih triju koncepata pružit će najbolji temelj za izgradnju dax vještina.

Sintaksa

Prije nego što stvorite vlastite formule, pogledajmo sintaksu formule DAX. Sintaksa obuhvaća različite elemente koji čine formulu ili jednostavno način na koji se formula piše. Na primjer, pogledajmo jednostavnu DAX formulu koja se koristi za stvaranje novih podataka (vrijednosti) za svaki redak u izračunatom stupcu, pod nazivom Margin, u tablici FactSales: (tekstne boje 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 izračuna formula, vratit će rezultat ili vrijednost. Sve formule koje izračunavaju vrijednost počet će znakom jednakosti.

  2. Referencirani stupac [IznosProdaje] sadrži vrijednosti od koje želimo oduzeti. Referenca stupca u formuli uvijek je okružena zagradama []. Za Excel formule 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 razlomiti svaki element 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] iz vrijednosti ustupcu [IznosProdaje].

Pogledajmo drugu vrstu formule 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 zbraje 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. Referentni stupac [IznosProdaje] u tablici FactSales. Uz taj argument funkcija SUM zna u kojem stupcu želite zbrojiti SUM.

Ovu formulu možete pročitati kao:

Za mjeru pod nazivom Iznos prodaje izračunajte (=) ZBROJvrijednosti u stupcu [IznosProdaje] utablici FactSales.

Kada se na popis polja zaokretne tablice postavi zona za ispuštanje vrijednosti, ova mjera izračunava i vraća vrijednosti definirane svakom ćelijom u zaokretnoj tablici, primjerice Mobiteli u SAD-u.

Primijetite da se u ovoj formuli razlikuje nekoliko stvari u odnosu na formulu koju smo koristili za izračunati stupac Margin. Konkretno, uveli smo funkciju SUM. Funkcije su unaprijed napisane formule koje olakšavaju složene izračune i manipulacije brojevima, datumima, vremenom, tekstom i drugima. Kasnije ćete saznati više o funkcijama.

Za razliku od izračunatog stupca Margin ranije, vidjet ćete stupac [IznosProdaje] kojoj prethodi tablica FactSales u kojoj stupac pripada. To se naziva potpuno kvalificiranim nazivom stupca jer obuhvaća naziv stupca ispred naziva tablice. Stupci referenciirani u istoj tablici ne zahtijevaju da se naziv tablice uvrsti u formulu. To može učiniti dugačke formule koje se pozivaju na mnogo stupaca kraće i jednostavnije za čitanje. No dobro je uvijek uvrstiti naziv tablice u formule mjere, čak i kada se nalazi u istoj tablici.

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

Vrlo je važno da formule imaju ispravnu sintaksu. U većini slučajeva, ako sintaksa nije točna, vraća se pogreška sintakse. U drugim slučajevima sintaksa može biti točna, ali vraćene vrijednosti možda nisu ono što očekujete. Power Pivot (i SQL Server Data Tools) obuhvaća IntelliSense; značajka koja se koristi za stvaranje sintaktički ispravnih formula tako da vam pomogne odabrati odgovarajuće elemente.

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

Zadatak: stvaranje jednostavne formule za izračunati stupac

  1. Ako još niste u prozoru Power Pivot, u Excel, na vrpci Power Pivot kliknite Power PivotProzor.

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

  3. Pomaknite se do najviše desnog 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. Traka formule mjesto je na kojem 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. The leftmost button, the X, is simply a cancel button. Idite i kliknite ga. Pokazivač se više ne prikazuje na traci formule, a gumb otkazivanja i odjava više se neće prikazivati. Idite naprijed i ponovno kliknite traku formule. Gumb odustani i gumb odjava sada se ponovno otvaraju. To znači da ste spremni za početak unosa formule.

    Gumb odjava jest gumb za provjeru formule. To ne čini mnogo dok ne unesete formulu. Odmah ćemo se vratiti na to.

    Kliknite gumb Fx. Vidjet ćete da će se pojaviti novi dijaloški okvir; u dijaloškom okviru Umetanje funkcije. Dijaloški okvir Umetanje funkcije najjednostavniji je način za početak unosa DAX formule. Funkciju ćemo dodati u formulu kada malo kasnije stvorimo mjeru, ali za sada ne morate dodavati funkciju u izračunatu formulu stupca. Idite i zatvorite dijaloški okvir Umetanje funkcije.

  5. Na traci 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 u akciji.

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

    Kursor je sada aktivan desno od [SalesQuantity].

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

  7. Sada upišite drugu uvodnu zagradu [. Ovaj put odaberite stupac [ReturnQuantity] pa pritisnite Enter.

    Ako vam se pojavi pogreška, pažljivo pogledajte sintaksu. Ako je potrebno, usporedite je s formulom u prethodno opisanom stupcu Izračunata margina.

    Kada pritisnete Enter da biste dovršili formulu, na traci stanja pri dnu prozora Power Pivot prikazuje se riječ Izračun. To se brzo događa, 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 u tablici FactSales formula NetSales 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 uvid u drugi vrlo važan koncept 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 sjedinjenje 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 želite upisati = 1 + 2, DAX ovu formulu čita kao: Izračunajte rezultat pomoću numeričke vrijednosti 1 i dodavanjem numeričke vrijednosti 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 programu DAX vrlo su važne, ali izvan opsega ovog brzog pokretanja. Dodatne informacije o vrstama podataka i operatorima u DAX formulama potražite u članku DAX referenca (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) u web-mjestu Books Online.

Pokušajmo s drugim. Ovaj put ćete stvoriti mjeru upisivanjem formule i korištenjem IntelliSense. Ne brinite se previše ako u potpunosti ne razumijete formulu. Ovdje je važno 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 odmah ispod tablice u Power Pivot prozoru.

Područje izračuna u dodatku PowerPivot

  1. Na traci formule upišite naziv Prodaja prethodnog tromjesečja:.

  2. Upišite znak jednakosti = da biste započeli s formulom izračuna.

  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 s argumentima koji će se prenijeti u funkciju CALCULATE.

    Obratite pozornost na to da nakon upisivanja uvodne zagrade IntelliSense prikazuje argumente potrebne za funkciju CALCULATE. Uskoro ćete saznati više 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 odredili prvi filtar, zatim upišite, PRE, a zatim dvokliknite funkciju PREVIOUSQUARTER.

    Kada odaberete funkciju PREVIOUSQUARTER, pojavit će se još jedna otvorena zagrada koja upućuje na to 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 prenosi na funkciju PREVIOUSQUARTER i funkciju CALCULATE tako da upišete dvije završne zagrade )).

    Formula bi sada trebala izgledati ovako:

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

  9. Kliknite gumb za provjeru formule na traci formule da biste provjerili valjanost formule. Ako vam se pojavi pogreška, provjerite svaki element sintakse.

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

Upravo ste uvedeni u nekoliko važnih aspekata DAX formula. Najprije je ova formula obuhvaćala dvije funkcije. Obratite pozornost na to da je funkcija PREVIOUSQUARTER ugniježđena kao argument proslijeđen funkciji CALCULATE. DAX formule mogu sadržavati do 64 ugniježđene funkcije. Malo je vjerojatno da formula sadrži toliko ugniježđenih funkcija. Zapravo, takvu formulu bilo bi vrlo teško stvoriti 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. To je jedna od najsnažnijih funkcija u programu DAX. Dok stvarate podatkovne modele i stvarate složenije formule, vjerojatno ćete tu funkciju koristiti mnogo puta. Razgovor o funkciji CALCULATE izvan je opsega ovog brzog početaka, ali kako vaše znanje o DAX-u raste, obratite posebnu pozornost na ovu.

Napomena: Da biste u DAX formulama koristili funkcije inteligencije vremena, morate odrediti jedinstveni stupac datuma pomoću dijaloškog okvira Označi kao datum. U radnoj knjizi Contoso DAX formula Samples.xlsx stupac DateKey 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 jest "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 zbrojenih podataka. Primjerice, funkcija SUM u mjeri Iznos prodaje koju ste vidjeli ranije koristi se za zbrajenje svih brojeva u određenom stupcu. DAX obuhvaća i nekoliko drugih funkcija koje zbrajaju vrijednosti. Formule možete automatski stvoriti pomoću standardnih agregacija pomoću značajke automatskog zbroja.

Dodatni kreditni zadatak: 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 dolje pokraj mogućnosti Automatski zbroj, a zatim Kliknite Prosjek (primijetite i ostale standardne funkcije agregacije koje možete koristiti).

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

Nije li to bilo jednostavno? Naravno, neće sve formule koje stvorite biti tako jednostavne. No pomoću značajke automatskog zbroja možete stvoriti brze i jednostavne formule pomoću standardnih izračuna agregacije.

To bi vam trebalo dati prilično dobro razumijevanje sintakse koja se koristi u DAX formulama. Uvedeni ste i u neke zaista cool 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.

Sintaksa QuickQuiz

  1. Što taj gumb radi na traci formule?
    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
    JediničnaMarginizračunajte vrijednostoduzimanjem vrijednosti u stupcu JediničniProizvod 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, nazivanih 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 Excel formulama, mnoge funkcije u DAX-u bit će slične vama. No dax funkcije jedinstvene su na sljedeće načine:

  • Funkcija DAX 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 prilagođavati za svaki redak po redak, DAX nudi funkcije koje vam omogućuje korištenje trenutne vrijednosti retka ili povezane vrijednosti kao vrste argumenta da biste izračunali 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 pružanje unosa drugim funkcijama. Možete, primjerice, dohvatiti tablicu, a zatim brojati zasebne vrijednosti u njemu ili izračunati dinamičke zbrojove u filtriranim tablicama ili stupcima.

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

Ponekad je teško znati koje ćete funkcije možda morati koristiti u formuli. Power Pivot, a tablični dizajner modela u aplikaciji SQL Server Data Tools, sadrže značajku Umetanje funkcije, dijaloški okvir koji vam pomaže pri odabiru 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 Umetanje funkcije:

Zadatak: dodavanje funkcije u formulu pomoću funkcije Insert

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

  2. Na traci formule upišite znak jednakosti =.

  3. Kliknite gumb Umetni funkciju. Umetanje funkcije Time se otvara dijaloški okvir Umetanje funkcije.

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

  5. U ovoj formuli ž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 u odjeljku Odabir funkcijepomaknite se prema dolje i dvokliknite funkciju RELATED. Kliknite U redu da biste zatvorili dijaloški okvir Umetanje funkcije.

  6. Upotrijebite IntelliSense da biste 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 prozora Power Pivot. Sada ćete vidjeti da ste upravo stvorili novi stupac u tablici FactSales s informacijama o kanalu iz tablice DimChannel.

  9. Preimenovanje stupca 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 dobiti. Funkcija RELATED, naravno, ima goleme 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 zaista potrebne. Kao i ranije opisana funkcija CALCULATE, funkcija RELATED vrlo je važna i vjerojatno ćete je koristiti mnogo puta.

Kao što vidite, funkcije u programu DAX mogu vam pomoći u stvaranju vrlo naprednih formula. Dotakli smo samo osnove funkcija. Kako se DAX vještine poboljšavaju, formule ćete stvarati pomoću mnogo različitih funkcija. Jedno od najboljih mjesta za saznati detalje o svim DAX funkcijama nalazi se u referenci Izrazi za analizu podataka (DAX).

Funkcije QuickQuiz

  1. Na što se funkcija uvijek poziva?

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

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

Odgovori se nalaze na kraju ove teme.

Kontekst

Kontekst je jedan od najvažnijih DAX koncepata koje je potrebno razumjeti. 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 redom. Sjećate se, primjerice, izračunatog stupca Margin koji ste vidjeli ranije prilikom učenja o sintaksi? Formula =[IznosProdaje] – [TotalCost] izračunava vrijednost u stupcu Margin 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 Margin 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 kada formula ima funkciju koja primjenjuje filtre radi prepoznavanja jednog retka u tablici. Funkcija će sama primijeniti kontekst retka za svaki redak tablice preko kojeg 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 najjednoliko razmišljati kao: jedan 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 jednostavno se vidi u zaokretnim tablicama. Kada, primjerice, dodate TotalCost u područje Vrijednosti, a zatim u redak ili stupce dodate Godinu i regija, definirate kontekst filtra koji odabire podskup podataka na temelju određene godine i regije.

Zašto je kontekst filtra toliko važan za DAX? Budući da se kontekst filtra može najlako 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 ova formula složenija od nekih drugih formula koje ste vidjeli. No da bismo bolje razumjeli tu 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 kao argument procjenjuje izraz 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. Referentni stupac i određena vrijednost, DimChannel[ChannelName] ="Trgovina", kao filtar.

Ta ć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 goleme i snažne mogućnosti. Referenca samo na određenu vrijednost u povezanoj tablici samo je jedan takav primjer. Ne brinite se ako odmah u potpunosti ne razumijete kontekst. Dok stvarate vlastite formule, bolje ćete razumjeti kontekst i zašto je to tako važno u programu DAX.

Kontekst QuickQuiz

  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 programu DAX, možete početi stvarati DAX formule za izračunate stupce i mjere sami. DAX doista može biti malo nezgodan za učenje, ali vam je dostupno mnogo resursa. Nakon što nekoliko puta pročitate ovu temu i eksperimentirate s nekoliko vlastitih formula, saznajte više o drugim DAX konceptima i formulama koje vam mogu pomoći u rješavanju vlastitih poslovnih problema. DaX resursi dostupni su vam u pomoći za Power Pivot, SQL Server knjige online, whitepapers i blogove microsoftovih i vodećih stručnjaka za poslovno osoblje. DaX Resource Center Wiki (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 whitepaperu bi tablični model, dostupan za preuzimanje (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) pruža detaljniji pregled ovdje uvedenih koncepata te mnogih drugih naprednih koncepata i formula. Ovaj whitepaper koristi i istu oglednu radnu knjigu contoso DAX Formulas.xlsx radnu knjigu koju već imate.

QuickQuiz Answers

Sintaksa:

  1. Otvara značajku Umetanje funkcije.

  2. Zagrade [].

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

Funkcije:

  1. Tablica i stupac.

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

  3. Tekstne funkcije.

Kontekst:

  1. Kontekst retka i kontekst filtriranja.

  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.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×