Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Ovaj brzi početak je za korisnike koji su Power Pivot u Excel ili tabelarnim projektima modela koji su SQL Server Data Tools. Ona je namenjena da vam pruži brz i lak uvod u način korišćenja izraza za analizu podataka (DAX) za rešavanje više osnovnih problema u modelovođenju i analitici podataka. Ova tema obuhvata konceptualne informacije, niz zadataka koje možete da dovršite i nekoliko testova da biste testirali šta ste naučili. Kada završe ovu temu, trebalo bi da steknite dobro razumevanje osnovnih osnovnih koncepata u DAX-u.

Šta je to DAX?

DAX je kolekcija funkcija, operatora i konstanti koje se mogu koristiti u formuli ili izrazu za izračunavanje i vraćanje nekih vrednosti. Ako je više jednostavno, DAX vam pomaže da kreirate nove informacije od podataka koji su već u modelu.

Zašto je DAX tako važan?

Radnu svesku možete lako da napravite i uvezete u nju. Možete čak i da kreirate izvedene tabele ili izvedene grafikone koji prikazuju važne informacije bez korišćenja DAX formula. Ali šta ako treba da analizirate kritične podatke o prodaji u nekoliko kategorija proizvoda i za različite opsege datuma? Ili treba da kombinujete važne podatke o zalihama iz nekoliko tabela u različitim izvorima podataka? DAX formule pružaju ovu mogućnost, kao i mnoge druge važne mogućnosti. Učenjem kako da kreirate efikasne DAX formule pomoći će vam da na sve načine saznate više o podacima. Kada dobijete potrebne informacije, možete početi da rešavate stvarne poslovne probleme koji utiču na donji red. To je poslovno inteligencija i DAX će vam pomoći da tamo odete.

Preduslovi

Možda ste već upoznati sa kreiranjem formula u Microsoft Excel. To znanje će biti korisno u razumevanju DAX formula, ali čak i ako nemate iskustva sa Excel formulama, koncepti opisani u ovom članku pomoći će vam da odmah počnete sa kreiranjem DAX formula i rešavanjem BI problema u stvarnom svetu.

Fokusiraćemo se posebno na razumevanje DAX formula koje se koriste u izračunavanjima. Trebalo bi da su vam već poznati osnovni koncepti izračunatih kolona i mera (poznata i kao izračunata polja), koji su opisani u Power Pivot pomoći. Trebalo bi da ste upoznati sa programom Power Pivot u Excel i alatkama za kreiranje.

Primer radne sveske

Najbolji način da naučite DAX jeste da kreirate neke osnovne formule, koristite ga sa nekim stvarnim podacima i vidite rezultate za sebe. Primeri i zadaci ovde koriste radnu svesku Uzorak DAX-a Formulas.xlsx contoso. Radnu svesku možete da preuzmete http://go.microsoft.com/fwlink/?LinkID=237472&se sa dugmeta "0x409". Kada radnu svesku preuzmete na računar, otvorite je, a zatim otvorite Power Pivot prozor.

Počnemo!

Uokviraćemo DAX oko tri veoma važna osnovna koncepta: Sintaksu, funkcije i kontekst. Naravno, postoje drugi važni koncepti u DAX- u, ali razumevanje ova tri koncepta će pružiti najbolju osnovu za izgradnju DAX veština.

Sintaksa

Pre nego što kreirate sopstvene formule, hajde da pogledamo sintaksu DAX formule. Sintaksa uključuje različite elemente koji sačinjaju formulu ili jednostavnije način na koji je formula napisana. Na primer, hajde da pogledamo jednostavnu DAX formulu koja se koristi za kreiranje novih podataka (vrednosti) za svaki red u izračunatoj koloni pod imenom "Margina" u tabeli "ČinjenicaSekt": (boje teksta formule su samo za ilustracije)

Formula izračunate kolone

Sintaksa ove formule sadrži sledeće elemente:

  1. Operator znaka jednakosti (=) ukazuje na početak formule, a kada se izračuna ova formula, daće rezultat ili vrednost. Sve formule koje izračunaju vrednost počinju znakom jednakosti.

  2. Referentna kolona [IznosProdaje] sadrži vrednosti od kojih želimo da oduzimamo. Referenca kolone u formuli uvek je okružena zagradama []. Za razliku Excel formula koje upućuju na ćeliju, DAX formula uvek upućuje na kolonu.

  3. Oduzimanje (-) matematički operator.

  4. Referentna kolona [TotalCost] sadrži vrednosti koje želimo da oduzimamo od vrednosti u koloni [IznosProdaje].

Kada pokušavate da razumete kako da čitate DAX formulu, često je korisno da razdobite svaki od elemenata na jezik na koji mislite i govorite svakog dana. Na primer, ovu formulu možete da pročitate ovako:

U tabeli "ProdajaSekt", za svaki red u izračunatoj koloni Margina izračunava (=) vrednost oduzimanjem (-)vrednosti u koloni [UkupniIznos ] od vrednosti u koloni[IznosProdaje].

Hajde da pogledamo neki drugi tip formule, koji se koristi u meri:

Formula izračunate kolone

Ova formula sadrži sledeće sintaksne elemente:

  1. Ime mere Zbir iznosa prodaje. Formule za mere mogu da uključuju ime mere praćeno dvotanom, iza čega sledi formula izračunavanja.

  2. Operator znaka jednakosti (=) označava početak formule za izračunavanje. Kada se izračuna, ona daje rezultat.

  3. Funkcija SUM sabira sve brojeve u koloni [Iznos Prodaje]. Kasnije ćete saznati više o funkcijama.

  4. Zagrade () okružuju jedan argument ili više njih. Sve funkcije zahtevaju najmanje jedan argument. Argument dodaje vrednost funkciji.

  5. Referentna tabela FactSales.

  6. Referentna kolona [Iznos Prodaje] u tabeli "FactSales". U ovom argumentu funkcija SUM zna u kojoj koloni da agregira SUM.

Ovu formulu možete da pročitate kao:

Za meru pod imenom "Zbir iznosa prodaje" izračunajte (=) ZBIRvrednosti u koloni [ IznosProdaje] u tabeli "FactSales".

Kada se postavite u padajuću zonu Vrednosti na listi polja izvedene tabele, ova mera izračunava i vraća vrednosti definisane u izvedenoj tabeli, na primer Mobilni telefoni u SAD.

Obratite pažnju na to da postoji nekoliko stvari koje se razlikuju u odnosu na formulu koju smo koristili za izračunatu kolonu "Margina". Konkretno, uveli smo funkciju, SUM. Funkcije su unapred napisane formule koje olakšavaju složena izračunavanja i manipulisanje brojevima, datumima, vremenom, tekstom i još mnogo toga. Kasnije ćete saznati više o funkcijama.

Za razliku od izračunate kolone Margina ranije, vidite kolonu [Iznos Prodaje] pre tabele "ČinjenicaSekt" kojoj pripada kolona. To je poznato kao potpuno kvalifikovano ime kolone u tome što uključuje ime kolone koje mu preodaje ime tabele. Kolone na koje se upućuje u istoj tabeli ne zahtevaju da ime tabele bude uključeno u formulu. Ovo može da skrati mnoge formule koje upućuju na mnoge kolone kraće i lakše za čitanje. Međutim, dobra je praksa da uvek uključite ime tabele u formule mere, čak i kada se nalazite u istoj tabeli.

Napomena: Ako ime tabele sadrži razmake, rezervisane ključne reči ili znakove koji ne sadrže zabranu, ime tabele morate da stavite pod jednokratne navodnike. Imena tabela morate da postavite i pod znake navoda ako ime sadrži neke znakove izvan ANSI alfanumeričkih opsega znakova, bez obzira na to da li lokalni računar podržava skup znakova ili ne.

Veoma je važno da formule imaju ispravnu sintaksu. U većini slučajeva, ako sintaksa nije ispravna, vratiće se greška u sintaksi. U drugim slučajevima, sintaksa je možda ispravna, ali vraćene vrednosti možda nisu ono što očekujete. Power Pivot (i SQL Server Data Tools) uključuje IntelliSense; a feature used to create syntactically correct formulas by helping you select the correct elements.

Hajde da kreiramo jednostavnu formulu. Ovaj zadatak će vam pomoći da dodatno razumete sintaksu formule i kako vam funkcija IntelliSense u traci sa formulama može pomoći.

Zadatak: Kreiranje jednostavne formule za izračunatu kolonu

  1. Ako već niste u prozoru programa Power Pivot, u Excel, na Power Pivot traci izaberite stavku Power PivotProzor.

  2. U prozoru Power Pivot izaberite tabelu "FactSales" (kartica).

  3. Pomerite se do kolone sa većinom desne strane, a zatim u zaglavlju kolone izaberite stavku Dodaj kolonu.

  4. Kliknite na polje za formulu duž vrha prozora dizajnera modela.

    Traka sa formulama programskog dodatka PowerPivot

    Kursor se sada pojavljuje u traci sa formulama. Polje za formulu je mesto gde možete da otkucate formulu za izračunatu kolonu ili izračunato polje.

    Hajde da pogledamo tri dugmeta levo od trake sa formulama.

    Formula bar

    Kada je kursor aktivan u traci sa formulama, ta tri dugmeta postaju aktivna. Dugme Koje se nalazi najlevo, X,jednostavno je dugme "Otkaži". Samo napred i kliknite na njega. Kursor se više ne pojavljuje u polju za formulu i više se ne pojavljuju dugme otkaži i dugme sa znakom za proveru. Slobodno kliknite ponovo na polje za formulu. Dugme otkaži i dugme sa znakom za proveru se sada ponovo prikazuju. To znači da ste spremni da počnete da unosite formulu.

    Dugme znaka za proveru je dugme "Proveri formulu". Ne radi puno dok ne unesete formulu. Vratićemo se na njega za koji malo vremena.

    Kliknite na dugme Fx. Videćete da se pojavljuje novi dijalog; the Insert Function dialog box. Dijalog Umetanje funkcije je najlakši način da počnete da unosite DAX formulu. Funkciju ćemo dodati u formulu kada malo kasnije napravimo meru, ali za sada ne morate da dodajete funkciju u formulu izračunate kolone. Zatvorite dijalog Umetanje funkcije.

  5. U polju za formulu otkucajte znak jednakosti =, a zatim otkucajte otvorenu zagradu [. Videćete mali prozor sa svim kolonama u tabeli "FactSales". Ovo je IntelliSense na delu.

    Pošto se izračunate kolone uvek kreiraju u aktivnoj tabeli u koju se nalazite, nema potrebe da pre imena kolone pre imena tabele stoje. Slobodno se pomerite nadole, a zatim kliknite dvaput na stavku [Iznos Prodaje]. Možete i da se pomerite do imena kolone koje želite, a zatim pritisnete taster Tab.

    Kursor je sada aktivan sa desne strane [Iznos Prodaje].

  6. Otkucajte razmak, a zatim otkucajte operator oduzimanja – (znak minus), a zatim otkucajte još jedan razmak.

  7. Sada otkucajte drugu otvorenu uvodnu zagradu [. Ovog puta izaberite kolonu [Povraćaj] i pritisnite taster Enter.

    Ako dobijete grešku, pažljivo pogledajte sintaksu. Ako je potrebno, uporedite je sa formulom u izračunatoj koloni Margina koja je ranije opisana.

    Kada pritisnete taster Enter da biste dovršili formulu, reč Izračunavanje se pojavljuje na statusnoj traci pri dnu Power Pivot prozora. On ide brzo, čak i ako ste upravo izračunali nove vrednosti za više od tri miliona redova.

  8. Kliknite desnim tasterom miša na zaglavlje kolone i preimenujte kolonu NetSales.

To je to! Upravo ste napravili jednostavnu, ali veoma moćnu DAX formulu. Za svaki red u tabeli "Prodaja Činjenica", formula NetSales izračunava vrednost oduzimanjem vrednosti u koloni [KoličinaProdaje] od vrednosti u koloni [KoličinaProdaje]. Primetićete da smo upravo rekli "Za svaki red". Ovo je suma drugog veoma važnog koncepta u DAX; kontekst reda. Kasnije ćete saznati više o kontekstu reda.

Nešto veoma važno da razumete kada kucate operator u DAX formulu jeste tip podataka u argumentima koje koristite. Na primer, ako otkucate sledeću formulu = 1 & 2, vraćena vrednost bi bila tekstualna vrednost "12". To je zbog toga što operator ampersand (&) radi vezivanja teksta. DAX tumači ovu formulu za čitanje: Izračunajte rezultat uzimajući vrednost 1 kao tekst i dodajte vrednost 2 kao tekst. Ako otkucate = 1 + 2, DAX čita ovu formulu kao: Izračunaj rezultat uzimajući numeričku vrednost 1 i sabiranjem numeričke vrednosti 2. Rezultat je naravno numeričke vrednosti "3". DAX izračunava rezultualne vrednosti u zavisnosti od operatora u formuli, a ne na osnovu tipa podataka kolona koje se koriste u argumentu. Tipovi podataka u DAX-u veoma su važni, ali izvan opsega ovog brzog pokretanja. Da biste saznali više o tipovima podataka i operatorima u DAX formulama, pogledajte DAX referencu (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) u knjige Online.

Hajde da pokušamo sa drugim. Ovog puta ćete napraviti meru tako što ćete ukucati formulu i koristiti IntelliSense. Nemojte previše brinuti ako formulu ne razumete u potpunosti. Važno je da naučite kako da kreirate formulu pomoću nekoliko elemenata zajedno u ispravnoj sintaksi.

Zadatak: Kreiranje formule mere

  1. U tabeli "FactSales" kliknite na bilo koju praznu ćeliju u oblasti izračunavanja. Ovo je oblast praznih ćelija odmah ispod tabele u Power Pivot prozoru.

PowerPivot oblast izračunavanja

  1. U polju za formulu otkucajte ime Prodaja u prethodnom kvartalu:.

  2. Otkucajte znak jednakosti = da biste započeli formulu za izračunavanje.

  3. Otkucajte prvih nekoliko slova CAL, a zatim kliknite dvaput na funkciju koju želite da koristite. U ovoj formuli želite da koristite funkciju CALCULATE.

  4. Otkucajte otvorenu zagradu ( da biste započeli argumente koji se prosleđuju funkciji CALCULATE.

    Obratite pažnju kada ukucate otvorenu zagradu i IntelliSense prikazuje argumente neophodne za funkciju CALCULATE. Saznaćete više o argumentima za koji malo.

  5. Otkucajte prvih nekoliko slova tabele "Prodaja Činjenica", a zatim na padajuću listu kliknite dvaput na stavku Prodaja[Prodaja].

  6. Otkucajte zamor (,) da biste naveli prvi filter, a zatim otkucajte, PRE, a zatim kliknite dvaput na funkciju PREVIOUSQUARTER.

    Kada izaberete funkciju PREVIOUSQUARTER, pojavljuje se druga otvorena zagrada koja ukazuje na to da je neophodan drugi argument; ovog puta za funkciju PREVIOUSQUARTER.

  7. Otkucajte prvih nekoliko slova Dim, a zatim kliknite dvaput na DimDate[DateKey].

  8. Zatvorite argument koji se prosleđuje funkciji PREVIOUSQUARTER i funkciji CALCULATE unošenjem dve zatvorene zagrade )).

    Formula bi sada trebalo da izgleda ovako:

    Prodaja u prethodnom kvartalu:=CALCULATE(Prodaja[Prodaja], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Kliknite na dugme "Proveri formulu" na traci sa formulama da biste proverili valjanost formule. Ako dobijete grešku, proverite svaki element sintakse.

Uspeo si! Upravo ste napravili meru pomoću DAX-a, a to nije bilo lako. Ta formula će izračunati ukupnu prodaju za prethodni kvartal, u zavisnosti od filtera primenjenih u izvedenoj tabeli ili Izvedeni grafikon.

Upravo ste uvedni u nekoliko važnih aspekata DAX formula. Pre svega, ova formula je obuhvatala dve funkcije. Obratite pažnju na to da je funkcija PREVIOUSQUARTER ugnežđena kao argument prosleđen funkciji CALCULATE. DAX formule mogu da sadrže do 64 ugnežđene funkcije. Malo je verovatno da bi formula ikada sadržila toliko ugnežđenih funkcija. Zapravo, takva formula bi bila veoma teška za kreiranje i otklanjanje grešaka, a verovatno ni ne bi bilo veoma brzo.

U ovoj formuli koristili ste i filtere. Filteri sužava izbor stavki koje će se izračunati. U ovom slučaju, izabrali ste jedan filter kao argument, a to je zapravo druga funkcija. Kasnije ćete saznati više o filterima.

Na kraju ste koristili funkciju CALCULATE. Ovo je jedna od najmoćnijih funkcija u DAX-u. Dok pravite modele podataka i kreirate složenije formule, verovatno ćete više puta koristiti ovu funkciju. Diskusija o funkciji CALCULATE je izvan do ovog brzog starta, ali kako se vaše znanje o DAX-u bude raslo, obratite posebnu pažnju na ovaj.

Napomena: Obično, da biste koristili funkcije vremenske inteligencije u DAX formulama, morate da navedete jedinstvenu kolonu sa datumima pomoću dijaloga Označavanje tabele sa datumima. U radnoj svesci Contoso DAX formula Samples.xlsx kolona DateKey u tabeli DimDate izabrana je kao jedinstvena kolona sa datumima.

Dodatni kredit

Možda pitate: "Šta je najjednostavnija DAX formula koju mogu da kreiram?" Odgovor na to jeste "formula koju ne morate da imate". A to je tačno ono što možete da uradite koristeći standardnu funkciju agregacije u meri. Skoro bilo koji model podataka mora da filtrira i izračuna agregirane podatke. Na primer, funkcija SUM u meru "Zbir iznosa prodaje" koju ste ranije videli, koristi se za sabiranje svih brojeva u određenoj koloni. DAX uključuje nekoliko drugih funkcija koje takođe agreguju vrednosti. Pomoću funkcije "Automatski snimci" možete automatski da kreirate formule pomoću standardnih agregatnih funkcija.

Extra Credit Task: Create a measure formula by using the AutoSum feature

  1. U tabeli Prodaja činjenica pomerite se do kolone PovratnaKvantnost, a zatim kliknite na zaglavlje kolone da biste izabrali celu kolonu.

  2. Na kartici Početak, na traci, u grupi Izračunavanja kliknite na dugme Automatski izračunaj.

AutoSum u programskom dodatku PowerPivot

Kliknite na strelicu nadole pored stavke Automatski reljef, a zatim izaberite stavku Prosek (obratite pažnju i na druge standardne agregatne funkcije koje takođe možete da koristite).

Odmah se kreira nova mera sa imenom Prosek prinosa: iza čega sledi formula =AVERAGE([ReturnQuantity]).

Sada nije bilo tako lako? Naravno, neće sve formule koje kreirate biti tako jednostavne. Međutim, korišćenjem funkcije "Automatski sum" možete da kreirate brze i jednostavne formule pomoću standardnih izračunavanja agregatne funkcije.

To bi trebalo da vam pruži prilično dobro razumevanje sintakse koja se koristi u DAX formulama. Uveli ste i neke zaista kul funkcije kao što su "IntelliSense" i "Automatski suma" koje će vam pomoći da kreirate brze, jednostavne i precizne formule. Naravno, postoji još mnogo toga što možete da saznate o sintaksi. Dobro mesto da saznate više jeste DAX referenca ili SQL Knjige na mreži.

Sintaksa brzogquiz

  1. Šta radi ovo dugme na traci sa formulama?
    Dugme za funkciju

  2. Šta uvek okružuje ime kolone u DAX formuli?

  3. Kako biste napisali formulu za sledeće: U tabeli
    DimProduct,za svaki red u izračunatoj koloni"UnitMargin" izračunajte vrednost oduzimanjem vrednosti u koloni "JediničnaProizvoda" od vrednosti u koloni "Cena Po jedinici"?

Odgovori su obezbeđeni na kraju ove teme.

Funkcije

Funkcije su unapred definisane formule koje obavljaju izračunavanja koristeći određene vrednosti, koje se zovu argumenti, određenim redosledom ili u određenoj strukturi. Argumenti mogu biti druge funkcije, druge formule, reference kolone, brojevi, tekst, logičke vrednosti kao što su TRUE ili FALSE ili konstante.

DAX uključuje sledeće kategorije funkcija: "Datum i vreme", "Informacije", "Logička", "Matematička", "Statistička", "Tekst" i "Funkcija vremenske inteligencije". Ako ste upoznati sa funkcijama u Excel formulama, mnoge funkcije u DAX-u će izgledati slično vama; Međutim, DAX funkcije su jedinstvene na sledeće načine:

  • DAX funkcija uvek upućuje na kompletnu kolonu ili tabelu. Ako želite da koristite samo određene vrednosti iz tabele ili kolone, možete da dodate filtere u formulu.

  • Ako treba da prilagodite izračunavanja po redovima, DAX pruža funkcije koje vam omogućavaju da kao vrstu argumenta koristite trenutnu vrednost reda ili povezanu vrednost da biste izvršili izračunavanja koja se razlikuju po kontekstu. Kasnije ćete saznati više o kontekstu.

  • DAX uključuje mnoge funkcije koje vraćaju tabelu, a ne vrednost. Tabela se ne prikazuje, ali se koristi za pružanje unosa drugim funkcijama. Na primer, možete preuzeti tabelu, a zatim prebrojati različite vrednosti u tabeli ili izračunati dinamičke zbirove u filtriranim tabelama ili kolonama.

  • DAX uključuje različite funkcije vremenske inteligencije. Ove funkcije vam da definišu ili izaberu opsege datuma i da izvršavaju dinamička izračunavanja na osnovu njih. Na primer, možete da uporedite zbirove za paralelne periode.

Ponekad je teško znati koje funkcije treba da koristite u formuli. Power Pivot i tabelarni dizajner modela u programu SQL Server Data Tools, uključite funkciju "Umetanje funkcije", dijalog koji vam pomaže da izaberete funkcije po kategoriji i daje kratke opise za svaku funkciju.

Umetni funkciju

Hajde da kreiramo novu formulu koja uključuje funkciju koju ćete izabrati pomoću funkcije "Umetni funkciju":

Zadatak: Dodavanje funkcije u formulu pomoću funkcije "Umetni"

  1. U tabeli Prodaja činjenica pomerite se do kolone sa većinom desne strane, a zatim u zaglavlju kolone izaberite stavku Dodaj kolonu.

  2. U polju za formulu otkucajte znak jednakosti =.

  3. Kliknite na dugme Umetni funkciju. Umetni funkciju Otvara se dijalog Umetanje funkcije.

  4. U dijalogu Umetanje funkcije kliknite na okvir sa listom Izaberite kategoriju. Podrazumevano je izabrana stavka Sve i sve funkcije u kategoriji Sve navedene su ispod. To ima mnogo funkcija, pa ćete želeti da filtrirate funkcije da biste olakšali pronalaženje tipa funkcije koju tražite.

  5. Za ovu formulu želite da vratite neke podatke koji već postoje u drugoj tabeli. Za to ćete koristiti funkciju u kategoriji Filter. Slobodno izaberite kategoriju Filter, azatim u zatim u e-pošti izaberite funkciju , pomerite se nadole i kliknite dvaput na funkciju RELATED. Kliknite na dugme U redu da biste zatvorili dijalog Umetanje funkcije.

  6. Koristite IntelliSense da biste pronašli i izabrali kolonu DimChannel[ChannelName].

  7. Zatvorite formulu, a zatim pritisnite taster Enter.

  8. Kada pritisnete taster Enter da biste dovršili formulu, reč Izračunavanje se pojavljuje na statusnoj traci pri dnu Power Pivot prozora. Sada ćete videti da ste upravo kreirali novu kolonu u tabeli "FactSales" sa informacijama o kanalu iz tabele DimChannel.

  9. Preimenujte kanal kolone.

    Formula bi trebalo da izgleda ovako: =RELATED(DimChannel[ChannelName])

Upravo ste uvedni u drugu veoma važnu funkciju u DAX, funkciji RELATED. Funkcija RELATED daje vrednosti iz druge tabele. Funkciju RELATED možete koristiti pod uslovom da postoji relacija između tabele u kojoj se trenutno nalazite i tabele koja sadrži vrednosti koje želite da dobijete. Naravno, funkcija RELATED ima impometresne mogućnosti. U tom slučaju, sada možete da uključite kanal prodaje za svaku prodaju u tabeli "FactSales". Sada možete da sakrijete tabelu DimChannel od liste polja izvedene tabele, što vam olakšava da se možete išli na listu polja i videti samo najvažnije informacije koje su vam zaista potrebne. Kao što je funkcija CALCULATE opisana ranije, funkcija RELATED je veoma važna i verovatno ćete je koristiti više puta.

Kao što vidite, funkcije u DAX-u mogu da vam pomognu da kreirate veoma moćne formule. Zaista smo dodirnuli samo osnove funkcija. Kako se DAX veštine poboljšavaju, kreiraćete formule koje koriste mnogo različitih funkcija. Jedno od najboljih mesta za učenje detalja o svim DAX funkcijama jeste referenca za Data Analysis Expressions (DAX).

Funkcije QuickQuiz

  1. Na šta funkcija uvek upućuje?

  2. Da li formula može da sadrži više od jedne funkcije?

  3. Koju kategoriju funkcija biste koristili da biste kontejkovali dve tekstualne niske u jednu nisku?

Odgovori su obezbeđeni na kraju ove teme.

Kontekst

Kontekst je jedan od najvažnijih DAX koncepata koje treba razumeti. Postoje dva tipa konteksta u DAX kontekstu; kontekst reda i kontekst filtera. Prvo ćemo pogledati kontekst reda.

Kontekst reda

Kontekst reda se najlakše smatra trenutnim redom. Na primer, sećate se izračunate kolone Margina koje ste ranije videli kada ste učili o sintaksi? Formula =[IznosDatoteke] - [TotalCost] izračunava vrednost u koloni Margina za svaki red u tabeli. Vrednosti za svaki red izračunava se iz vrednosti u druge dve druge kolone, [Iznos Prodaje] i [UkupniKupan Iznos] u istom redu. DAX može da izračuna vrednosti za svaki red u koloni Margina zato što ima kontekst: Za svaki red uzima vrednosti u koloni [Ukupni Zbir] i oduzima ih od vrednosti u koloni [IznosProdaje].

U izabranoj ćeliji ispod, vrednost 49,54 USD u trenutnom redu izračunata je oduzimanjem vrednosti 51,54 u koloni [TotalCost] od vrednosti $101,08 u koloni [IznosProdaje].

Kontekst reda u programskom dodatku PowerPivot

Kontekst reda ne primenjuje se samo na izračunate kolone. Kontekst reda se primenjuje i kad god formula ima funkciju koja primenjuje filtere za identifikovanje jednog reda u tabeli. Funkcija će nasledno primeniti kontekst reda za svaki red tabele na kojoj se filtrira. Ovaj tip konteksta reda najčešće se odnosi na mere.

Kontekst filtera

Kontekst filtera je malo teže razumeti od konteksta reda. Kontekst filtera možete najlakše da smatrate: Jedan ili više filtera primenjenih u izračunavanju koje određuje rezultat ili vrednost.

Kontekst filtera ne postoji na mestu konteksta reda; umesto toga, primenjuje se pored konteksta reda. Na primer, da biste dodatno suzili vrednosti tako da uključuju u izračunavanje, možete primeniti kontekst filtera koji ne samo da navodi kontekst reda, već i navodi samo određenu vrednost (filter) u tom kontekstu reda.

Kontekst filtera se lako vidi u izvedenim tabelama. Na primer, kada dodate ukupnu vrednostCost u oblast Vrednosti, a zatim dodate kolone Godina i Region u red ili kolone, definišete kontekst filtera koji bira podskup podataka na osnovu date godine i regiona.

Zašto je kontekst filtera tako važan za DAX? Pošto, iako kontekst filtera može najlakše da se primeni dodavanjem oznaka kolona i redova i segmentatora u izvedenu tabelu, kontekst filtera može da se primeni i u DAX formuli definisanjem filtera pomoću funkcija kao što su ALL, RELATED, FILTER, CALCULATE, po relacijama i drugim merama i kolonama. Na primer, hajde da pogledamo sledeću formulu u meri pod imenom "Prodavnica":

Formula

Jasno je da je ova formula složenija od nekih drugih formula koje ste videli. Međutim, da bismo bolje razumeli ovu formulu, možemo je spustiti nadole, kao što smo to uradili sa drugim formulama.

Ova formula sadrži sledeće sintaksne elemente:

  1. Ime mere "StoreSales", iza čega sledi dvotačka :.

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

  3. Funkcija CALCULATE procenjuje izraz kao argument, u kontekstu koji su izmenili navedeni filteri.

  4. Zagrade () okružuju jedan argument ili više njih.

  5. Mera [Prodaja] u istoj tabeli kao i izraz. Mera "Prodaja" ima formulu: =SUM(FactSales[SalesAmount]).

  6. Zakucanje (,) razdvaja svaki filter.

  7. Referentna kolona i određena vrednost, DimChannel[ChannelName] ="Store", kao filter.

Ova formula će obezbediti da se samo vrednosti prodaje, definisane merom "Prodaja", izračunaju samo za redove u koloni DimChannel[ChannelName] sa vrednošću "Store", kao filter.

Kao što možete da zamislite, mogućnost definisanja konteksta filtera u okviru formule ima nemerljivost i moćne mogućnosti. Kad je u mogućnosti da upućuje samo na određenu vrednost u povezanoj tabeli, to je samo jedan primer. Ne brinite ako ne razumete kontekst odmah u potpunosti. Dok pravite sopstvene formule, bolje ćete razumeti kontekst i razloge zbog kojih je on važan u daX programu.

Context QuickQuiz

  1. Koja su to dva tipa konteksta?

  2. Šta je kontekst filtera?

  3. Šta je to kontekst reda?

Odgovori su obezbeđeni na kraju ove teme.

Rezime

Sada kada imate osnovno razumevanje najvažnijih koncepata u DAX-u, možete sami da počnete da pravite DAX formule za izračunate kolone i mere. DAX može biti malo nezgodan za učenje, ali za vas postoji mnogo dostupnih resursa. Kada nekoliko puta pročitate ovu temu i eksperimentišete sa nekoliko sopstvenih formula, možete da saznate više o drugim DAX konceptima i formulama koje vam mogu pomoći da rešite poslovne probleme. Postoji mnogo DAX resursa koji su vam dostupni u pomoći Power Pivot, SQL Server knjige na mreži, bele pastere i blogove od Microsoft i vodećih BI stručnjaka. DAX centar za resurse – Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) je sjajno mesto za početak. Referenca za izraze za analizu podataka (DAX) takođe je sjajan resurs. Uverite se da ste je sačuvali u omiljenim lokacijama.

DAX u bi tabelarnom belupa modelu dostupan za preuzimanje (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) pruža detaljniji pogled na koncepte predstavljene ovde, kao i mnoge druge napredne koncepte i formule. Ovaj beli paster takođe koristi isti Contoso DAX uzorak Formulas.xlsx svesku koju već imate.

QuickQuiz Answers

Sintaksa:

  1. Otvara funkciju "Umetanje funkcije".

  2. Zagrade [].

  3. =[Cena po jedinici] - [Cena po jedinici]

Funkcije:

  1. Tabela i kolona.

  2. Da. Formula može da sadrži do 64 ugnežđene funkcije.

  3. Tekstualne funkcije.

Kontekst:

  1. Kontekst reda i kontekst filtera.

  2. Neki filteri u izračunavanju koje određuje jednu vrednost.

  3. Trenutni red.

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×