Brzi početak: naučite DAX osnove za 30 minuta

Važno : Ovaj članak je mašinski prevesti potražite u članku Odricanje odgovornosti. O referencu pronaći verzija ovaj članak ovde na engleskom jeziku.

Ovaj „Brzi početak“ je namenjen novim korisnicima programskog dodatka Power Pivot u programu Excel ili projekata tabelarnih modela napravljenih pomoću SQL Server alatki za podatke. Treba da vam pruži brz i lak uvod u to kako možete da koristite Data Analysis Expressions (DAX) da biste rešili brojne probleme sa analitikom i osnovnim modelovanjem podataka. Ova tema obuhvata konceptualne informacije, niz zadataka koje možete da uradite i nekoliko kvizova za testiranje stečenog znanja. Nakon dovršavanja ove teme, trebalo bi da dobro razumete najosnovnije fundamentalne koncepte jezika DAX.

Šta je DAX?

DAX je skup funkcija, operatora i konstanti koje mogu da se koriste u formulama ili izrazima za izračunavanje i vraćanje jedne vrednosti ili više njih. Prostije rečeno, DAX vam pomaže da kreirate nove informacije na osnovu podataka koji se već nalaze u modelu.

Zašto je DAX toliko važan?

Kreiranje radne sveske i uvoz podataka u nju se obavljaju lako. Možete čak da kreirate izvedene tabele ili izvedene grafikone koji prikazuju važne informacije, a da ne koristite DAX formule. Međutim, šta ako treba da analizirate važne podatke o prodaji za nekoliko proizvodnih kategorija u različitim vremenskim periodima? Možda morate da kombinujete važne podatke o zalihama iz nekoliko tabela koje se nalaze u različitim izvorima podataka? DAX formule vam pružaju tu mogućnost, kao i mnoge druge važne mogućnosti. Ako naučite kako da kreirate efektivne DAX formule, to će vam pomoći da na najbolji način iskoristite podatke. Kada dobijete informacije koje su vam potrebne, možete da počnete da rešavate stvarne poslovne probleme od suštinskog značaja. To je poslovna inteligencija, a DAX će vam pomoći da dođete do nje.

Preduslovi

Možda ste već upoznati sa kreiranjem formula u programu Microsoft Excel. To znanje će vam pomoći da razumete DAX, ali čak i ako nemate iskustva sa Excel formulama, ovde opisani koncepti će vam pomoći da odmah započnete sa kreiranjem DAX formula i rešavanjem problema poslovne inteligencije u stvarnom svetu.

Mi nastavljamo da fokus posebno razumevanje DAX formule koje se koriste u izračunavanjima. Već treba da budu upoznati sa osnovnih koncepata koje čine izračunate kolone i mere (poznat i kao izračunata polja), koji su opisana u Power Pivot pomoći. Takođe bi trebalo da budu upoznati sa Power Pivot u programu Excel za kreiranje okruženja i alatke.

Primer radne sveske

Najbolji način da naučite DAX je da kreirate nekoliko osnovnih formula, da ih upotrebite sa stvarnim podacima i da sami vidite rezultat. Ovde navedeni primeri i zadaci koriste radnu svesku Contoso Sample DAX Formulas.xlsx. Radnu svesku možete da preuzmete na adresi http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Kada preuzmete radnu svesku na računar, otvorite je, a zatim otvorite Power Pivot prozor.

Hajde da počnemo!

Objasnićemo DAX pomoću tri veoma važna osnovna koncepta: sintaksa, funkcije i kontekst. Naravno, postoje i drugi važni koncepti u jeziku DAX, ali razumevanje ova tri koncepta će osigurati najbolju osnovu za izgradnju DAX veština.

Sintaksa

Pre nego što kreirate svoje formule, hajde da pogledamo sintaksu DAX formula. Sintaksa uključuje različite elemente koji čine formulu ili jednostavnije rečeno, to je način na koji se formula piše. 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 „Margin“ (Margina) u tabeli „FactSales“ (Podaci o prodaji) (boje teksta formule su samo u svrhu ilustracije)

Formula izračunate kolone

Sintaksa ove formule uključuje sledeće elemente:

  1. Znak jednakosti (=) označava početak formule, a kada se formula izračuna, vratiće rezultat ili vrednost. Sve formule koje izračunavaju vrednost počinju znakom jednakosti.

  2. Referencirana kolona [SalesAmount] sadrži vrednosti od kojih želimo da oduzmemo drugu vrednost. Referenca kolone je uvek navedena u uglastim zagradama [] u formuli. Za razliku od formula u programu Excel koje upućuju na ćeliju, DAX formula uvek upućuje na kolonu.

  3. Matematički operator za oduzimanje (-).

  4. Referencirana kolona [TotalCost] sadrži vrednosti koje želimo da oduzmemo od vrednosti u koloni [SalesAmount].

Kada pokušavate da razumete na koji način se čita DAX formula, često je korisno da raščlanite sve elemente na jezik kojim razmišljate i koji govorite svakog dana. Na primer, ovu formulu možete da čitate na sledeći način:

u polju FactSales tabele za svaki red u izračunatoj koloni margina Izračunaj (=) vrednost oduzimanjem (-) vrednosti u na [ TotalCost ] kolonu sa vrednostima u na [ SalesAmount ] kolone.

Hajde da pogledamo još jedan tip formule, onaj koji se koristi u mera:

Formula izračunate kolone

Ova formula uključuje sledeće elemente sintakse:

  1. Meru ime Sum of Sales Amount. Formula za mere koje možete da uključite mera imena, iza kojeg sledi dvotačka, praćeno izračunavanja formula.

  2. Znak jednakosti (=) označava početak formule za izračunavanje. Kada se formula izračuna, vratiće rezultat.

  3. Funkcija SUM sabira sve brojeve u koloni [SalesAmount]. Saznaćete više o funkcijama kasnije.

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

  5. Referencirana tabela FactSales.

  6. Referencirana kolona [SalesAmount] u tabeli FactSales. Sa ovim argumentom funkcija SUM zna na koju kolonu da primeni sabiranje (SUM).

Ovu formulu možete da čitate na sledeći način:

Za na mera po imenu Sum of Sales Amount Izračunaj (=) zbir vrednosti u polju [ SalesAmount ] kolone u na FactSales tabele.

Kada se postavi u zonu u listi polja izvedene tabele za otpuštanje vrednosti, ova mera izračunava i daje vrednosti definiše svaku ćeliju u izvedenoj tabeli, na primer, mobilnih telefona u sad.

Ova formula je malo drugačija u odnosu na formulu koju smo koristili za računanje izračunate kolone Margin. Konkretno, uveli smo funkciju SUM. Funkcije su unapred ispisane formule koje olakšavaju kompleksna izračunavanja i rad sa brojevima, datumima, vremenom, tekstom itd. Saznaćete više o funkcijama kasnije.

Za razliku od margina izračunate kolone ranije, možete videti u koloni [SalesAmount] prethodili su tabele FactSales u kojem pripada kolonu. Ovo je poznato kao na potpuno određeno ime kolone u toj sadrži ime kolone prethodi ime tabele. Kolona u istoj tabeli referenca ne zahtevaju ime tabele biti uključeni u formuli. Ovo možete učiniti dugo formule sa referencama za veliki broj kolone kraću i lakšim za čitanje. Međutim, preporučuje da uvek sadrži ime tabele u formulama meru, čak i kada se u istoj tabeli.

Napomena : Ako ime tabele sadrži razmake, rezervisane ključne reči ili nedozvoljene znakove, morate da stavite ime tabele pod jednostruke navodnike. Osim toga, morate da stavite imena tabela pod navodnike ako sadrže bilo koji znak koji ne pripada ANSI alfanumeričkom opsegu znakova, bez obzira na to da li lokalni standard podržava skup znakova.

Veoma je važno da formule imaju ispravnu sintaksu. Ako sintaksa nije ispravna, u većini slučajeva će biti vraćena sintaksna greška. U drugim slučajevima, sintaksa može da bude ispravna, ali vraćene vrednosti možda nisu one koje ste očekivali. Power Pivot (i SQL Server alatke za podatke) uključuje funkciju IntelliSense koja se koristi za kreiranje sintaksički ispravnih formula i koja vam pomaže da izaberete ispravne elemente.

Hajde da kreiramo prostu formulu! Ovaj zadatak će vam pomoći da bolje razumete sintaksu formule i na koji način može da vam pomogne funkcija IntelliSense u traci za formulu.

Zadatak: kreiranje proste formule za izračunatu kolonu

  1. Ako niste već nalazi u prozoru " Power Pivot " u programu Excel, na na Power Pivot traci, kliknite na dugme Power Pivot prozor.

  2. U Power Pivot prozoru kliknite na tabelu (karticu) FactSales.

  3. Idite do krajnje desne kolone i u zaglavlju kolone kliknite na Dodaj kolonu.

  4. Kliknite na polje za formulu na vrhu prozora dizajnera modela.

    Traka sa formulama programskog dodatka PowerPivot

    Kursor se sada nalazi u polju za formulu. Polje za formulu je prostor gde možete da unesete formulu za izračunatu kolonu ili izračunato polje.

    Levo od polja formule se nalaze tri dugmeta.

    Polje za formulu

    Kada je kursor aktivan u polju za formulu, ta tri dugmeta postaju aktivna. Dugme sa leve strane X je dugme za otkazivanje. Kliknite na njega. Kursor se više ne pojavljuje u polju formule, a dugmad za otkazivanje i potvrđivanje više nisu aktivna. Kliknite ponovo na polje za formulu. Sada se ponovo pojavljuju dugmad za otkazivanje i potvrđivanje. To znači da ste spremni da unesete formulu.

    Dugme za potvrđivanje služi za potvrđivanje formule. Ovo dugme nema funkciju dok ne unesete formulu. Vratićemo se na to kasnije.

    Kliknite na dugme Fx . Videćete da se pojavi novi dijalog; u dijalogu Umetanje funkcije. Dijalog Umetanje funkcije je najlakši način da počnete da unosite DAX formule. Ćete dodati funkciju u formuli kada možemo kreirati meru malo kasnije, ali za sad, ne morate da dodate funkciju u formulu izračunate kolone. Samo napred i zatvorite dijalog Umetanje funkcije.

  5. Unesite znak jednakosti (=) u polje za formulu, a zatim otvorenu uglastu zagradu ([). Pojaviće se mali prozor sa svim kolonama iz tabele FactSales. To je delo funkcije IntelliSense.

    Nema potrebe da imenu kolone prethodi ime tabele jer se izračunate kolone uvek kreiraju u aktivnoj tabeli koju trenutno koristite. Pomerite se nadole i dvaput kliknite na [SalesQuantity]. Pored toga, možete da pređete na ime željene kolone i pritisnite taster Tab.

    Kursor je sada aktivan desno od [kolone SalesQuantity].

  6. Unesite razmak, zatim znak oduzimanja - (znak minus) i posle njega još jedan razmak.

  7. Sada, otkucajte drugi otvorene zagrade [. Ovog puta, izaberite [koloneReturnQuantity] , a zatim pritisnite taster Enter.

    Ako dobijete obaveštenje o grešci, pažljivo pregledajte sintaksu. Po potrebi je uporedite sa ranije opisanom formulom za izračunatu kolonu Margin.

    Nakon što pritisnete taster Enter da biste dovršili formulu, pojaviće se reč Izračunavanje na statusnoj traci na dnu Power Pivot prozora. Izvršavanje traje kratko iako izračunavate nove vrednosti za više od tri miliona redova.

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

To je to! Upravo ste kreirali prostu, a ipak moćnu DAX formulu. Za svaki red u tabeli FactSales formula NetSales izračunava vrednost oduzimanjem vrednosti kolone [ReturnQuantity] od vrednosti kolone [SalesQuantity]. Obratite pažnju da smo rekli „Za svaki red“. To je naznaka još jednog važnog koncepta u jeziku DAX, konteksta reda. Saznaćete više o kontekstu reda kasnije.

Savet : 

Nešto zaista važno da biste razumeli kada kucate operatora u DAX formuli je tip podataka u argumentima koristite. Na primer, ako ste otkucajte sledeću formulu, = 1 i 2, vrednost bi tekstualnu vrednost od "12". Ovo je jer je "ampersand" (&) operator za spajanje teksta. DAX tumači ovu formulu za čitanje: izračunavanje rezultata bez ikakvih vrednost 1 kao tekst i dodajte vrednost 2 kao tekst. Ako otkucate = 1 + 2, DAX čita ovu formulu kao: izračunavanje rezultata javljam numeričku vrednost 1 i dodavanjem numeričku vrednost 2. Rezultat je "3", numerička vrednost. DAX izračunava rezultujući vrednosti u zavisnosti od operator u formuli nije na osnovu tipa podataka kolona koje se koriste u argumentu. Tipovi podataka u DAX su veoma je važno, ali izvan opsega ovom brzom startu. Da biste saznali više o tipovima podataka i operatora u DAX formulama, pogledajte članak referenca za DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) u knjigama na mreži.

Isprobajmo drugi. Ovog puta, kreiraćete meru tako što ćete otkucati formulu i pomoću tehnologije IntelliSense. Ne brinite previše ako u potpunosti ne razumete formulu. Važna napomena ovde je da biste saznali kako da kreirate formule pomoću nekoliko elemenata zajedno u ispravnu sintaksu.

Zadatak: Kreiranje formule mera

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

PowerPivot oblast izračunavanja

  1. U polje za formulu unesite ime Previous Quarter Sales (Prodaja u prethodnom kvartalu):

  2. Unesite znak jednakosti = da biste započeli formulu izračunavanja.

  3. Unesite prvih nekoliko slova CAL i kliknite dva puta na funkciju koju želite da upotrebite. U ovoj formuli koristićete funkciju CALCULATE.

  4. Unesite otvorenu zagradu da biste započeli argumente na koje ćete primeniti funkciju CALCULATE.

    Nakon unosa otvorene zagrade, primetićete da IntelliSense prikazuje argumente potrebne za funkciju CALCULATE. Uskoro ćete naučiti više o argumentima.

  5. Unesite nekoliko prvih slova imena tabele FactSales , a zatim na padajućoj listi, kliknite dvaput na FactSales[Prodaja].

  6. Unesite zarez (,) da biste odredili prvi filter, zatim unesite PRE i kliknite dva puta na funkciju PREVIOUSQUARTER.

    Kada budete izabrali funkciju PREVIOUSQUARTER, pojaviće se još jedna otvorena zagrada što ukazuje na to da je potreban još jedan argument, ali ovaj put za funkciju PREVIOUSQUARTER.

  7. Unesite prvih nekoliko slova Dim, a zatim dvaput kliknite na DimDate[Šifradatuma].

  8. Zatvorite oba argumenta, onaj prosleđen funkciji PREVIOUSQUARTER i drugi prosleđen funkciji CALCULATE, tako što ćete uneti dve zatvorene zagrade )).

    Formula bi sada trebalo da izgleda ovako:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Kliknite na dugme za potvrđivanje formule na polju formule da biste je potvrdili. Ako dobijete obaveštenje o grešci, pažljivo proverite svaki element sintakse.

Uspeo! Koju ste upravo kreirali meru pomoću DAX, a ne i lak u tome. Kako ova formula će se izračuna Ukupna prodaja u prethodnom kvartalu, u zavisnosti od filterima primenjenim na izvedene tabele ili izvedenog grafikona.

Upravo ste naučili nekoliko važnih aspekata DAX formula. Prvo, ova formula je obuhvatila dve funkcije. Imajte u vidu da je funkcija PREVIOUSQUARTER ugnežđena kao argument prosleđen funkciji CALCULATE. DAX formule mogu da sadrže do 64 ugnežđenih funkcija. Mala je verovatnoća da bi formula ikada sadržala toliko ugnežđenih funkcija. Zapravo, takva formula bi bila veoma teška za kreiranje i otklanjanje grešaka i verovatno ne bi bila mnogo brza.

U ovoj formuli ste koristili i filtere. Filteri sužavaju broj podataka koje treba izračunati. U ovom slučaju izabrali ste jedan filter kao argument koji je zapravo druga funkcija. Saznaćete više o filterima kasnije.

Na kraju, koristili ste funkciju CALCULATE. Ovo je jedna od najmoćnijih funkcija u jeziku DAX. Kako vremenom budete kreirali više modela podataka i kompleksnije formule, verovatno ćete često koristiti ovu funkciju. Objašnjavanje funkcije CALCULATE nije obuhvaćeno ovim uputstvima za brzi početak, ali kako budete učili DAX, obratite posebnu pažnju nju.

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

Dodatni zadatak

Možda pitate: "Šta je najjednostavniji DAX formule možete da kreirate?" Pa, odgovor na to je u formuli a da ne morate da. I eto šta možete da uradite tako što ćete koristiti standardne agregatne funkcije u meru. Skoro sve modela podataka mora da biste filtrirali i brzo izračunavanje podaci prikupljeni. Na primer, funkcija SUM u Sum of Sales Amount mera videli ste ranije se koristi da biste sabrali brojeve u određenoj koloni. DAX obuhvata nekoliko drugih funkcija koje agregatne vrednosti kao. Možete automatski da kreirate formule koje koriste standardne agregacije pomoću funkcije "Automatski zbir".

Dodatni zadatak: Kreiranje mera formule pomoću funkcije "Automatski zbir"

  1. U tabeli FactSales idite do kolone ReturnQuantity i kliknite na zaglavlje kolone da biste izabrali celu kolonu.

  2. Na kartici "Početak" na traci, u grupi izračunavanja kliknite na dugme automatski zbir.

AutoSum u programskom dodatku PowerPivot

  1. Kliknite na strelicu nadole pored dugmeta automatski zbir, a zatim kliknite na dugme Average (obaveštenje druge standardne agregatne funkcije koje možete da koristite, previše).
    Odmah, nove mere kreira se uz ime Average ReturnQuantity: praćeno formulu = AVERAGE([ReturnQuantity]).

Bilo je lako, zar ne? Naravno, neće sve formule koje budete kreirali biti toliko lake. Ali pomoću funkcije AutoSum možete brzo i lako da kreirate formule koristeći standardna izračunavanja agregatnih funkcija.

Ovo bi trebalo da vam prilično dobro objasni sintaksu koja se koristi u DAX formulama. Takođe, predstavljene su neke prilično zanimljive funkcije, kao što su IntelliSense i AutoSum, koje vam pomažu da brzo, lako i precizno kreirate formule. Naravno, još mnogo toga možete da naučite o sintaksi. Pravo mesto za učenje su DAX reference ili SQL knjige na mreži.

Brzi kviz o sintaksi

  1. Čemu služi ovo dugme u polju za formulu?
    Dugme za funkciju

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

  3. Kako da pišete formule za sledeće:
    u na DimProduct za svaki red u tabeli na UnitMargin izračunate kolone, izračunavanje vrednosti oduzimanjem vrednosti u na Trošak po jedinici kolonu sa vrednostima u na cena po jedinici kolone?

Odgovore možete pronaći na kraju ove teme.

Funkcije

Funkcije su unapred definisane formule koje obavljaju izračunavanja pomoću posebnih vrednosti koje se nazivaju argumenti, uređenih na određeni način ili u određenoj strukturi. Argumenti mogu biti druge funkcije, druge formule, reference na kolone, brojevi, tekst, logičke vrednosti, kao što su TRUE ili FALSE, ili konstante.

DAX obuhvata sledeće kategorije funkcija: datum i vreme, informacije, logičke, matematičke, statističke i tekstualne funkcije, kao i funkcije vremenske inteligencije. Ako poznajete funkcije u Excel formulama, primetićete da im je slična većina funkcija u jeziku DAX. Međutim, DAX funkcije su jedinstvene na sledeći način:

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

  • Ako želite da prilagodite izračunavanja red po red, DAX obezbeđuje funkcije koje vam omogućavaju korišćenje trenutne vrednosti reda ili relativne vrednosti kao vrste argumenta za obavljanje izračunavanja koje varira u zavisnosti od konteksta. Saznaćete više o kontekstu kasnije.

  • DAX uključuje veliki broj funkcija koje vraćaju tabelu, a ne vrednost. Tabela se ne prikazuje, ali se koristi kao izvor podataka za druge funkcije. Na primer, možete da preuzmete podatke tabele i da izbrojite određene vrednosti iz nje ili da izračunate dinamičke zbirove iz filtriranih tabela ili kolona.

  • DAX obuhvata veliki broj funkcija vremenske inteligencije. Ove funkcije vam omogućavaju da definišete ili izaberete opsege datuma i da na osnovu njih izvršite dinamička izračunavanja. Na primer, možete da poredite zbirove za nekoliko paralelnih perioda.

Ponekad je teško odrediti koje funkcije treba da koristite u formuli. Power Pivot i dizajner modela tabela u SQL Server alatkama za podatke uključuju opciju za umetanje funkcije, dijalog koji vam pomaže da izaberete funkcije po kategoriji i pruža kratak opis svake funkcije.

Umetanje funkcije

Kreiraćemo novu formulu koja uključuje funkciju koju ćete izabrati pomoću opcije za umetanje funkcije:

Zadatak: dodavanje funkcije u formulu pomoću dijaloga za umetanje funkcije

  1. U tabeli FactSales idite do krajnje desne kolone i u zaglavlju kolone kliknite na „Dodaj kolonu“.

  2. U polju za formulu unesite znak jednakosti =.

  3. Kliknite na dugme „Umetni funkciju“. Umetni funkciju Ovo otvara dijalog za umetanje funkcije.

  4. U dijalogu „Umetanje funkcije“ kliknite na okvir sa listom Izaberite kategoriju. Podrazumevano je izabrano Sve, a u nastavku su navedene sve funkcije u kategoriji Sve. To je veliki broj funkcija, tako da ćete filtrirati funkcije da biste lakše našli tip funkcije koji tražite.

  5. Za ovu formulu želite da vratite neke podatke koji već postoje u drugoj tabeli. Da biste to uradili, koristićete funkciju u kategoriji Filter. Kliknite na kategoriju Filter i zatim na listi Izbor funkcije pomerite se nadole i dvaput kliknite na funkciju RELATED. Kliknite na dugme U redu da biste zatvorili dijalog „Umetanje funkcije“.

  6. Koristite funkciju IntelliSense koja će vam olakšati pronalaženje i izbor kolone DimChannel[ChannelName].

  7. Zatvorite formulu i pritisnite taster Enter.

  8. Nakon što pritisnete taster Enter da biste dovršili formulu, pojaviće se reč Izračunavanje na statusnoj traci na 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 kolonu u Channel.

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

Upravo vam je predstavljena još jedna veoma važna funkcija u DAX jeziku, funkcija RELATED. Funkcija RELATED vraća vrednosti iz druge tabele. Možete da je koristite kada postoji relacija između tabele u kojoj trenutno radite i tabele koja sadrži vrednosti koje želite da preuzmete. Naravno, funkcija ima velike mogućnosti. U ovom slučaju, sada možete da uključite kanal prodaje za svaku prodaju u tabeli FactSales. Sada možete da sakrijete tabelu DimChannel iz liste polja izvedene tabele i na taj način olakšate navigaciju i omogućite prikaz samo najvažnijih informacija koje su vam zaista potrebne. Kao i prethodno opisana funkcija CALCULATE, funkcija RELATED je veoma važna i verovatno ćete je često koristiti.

Kao što možete da vidite, funkcije u jeziku DAX vam mogu pomoći da kreirate veoma moćne formule. Zapravo smo predstavili samo osnovu funkcija. Kako se vaše veštine u korišćenju jezika DAX budu poboljšavale, kreiraćete formule koristeći brojne različite funkcije. Jedno od najboljih mesta na kom možete da naučite više o DAX funkcijama je Data Analysis Expressions (DAX) referenca.

Brzi kviz o funkcijama

  1. Na šta funkcija uvek upućuje?

  2. Da li formula može da sadrži više funkcija?

  3. Koju kategoriju funkcija biste koristili za povezivanje dve tekstualne niske u jednu?

Odgovore možete pronaći na kraju ove teme.

Kontekst

Kontekst je jedan od najvažnijih DAX koncepata za razumevanje. Postoje dva tipa konteksta u jeziku DAX: kontekst reda i kontekst filtera. Prvo ćemo predstaviti kontekst reda.

Kontekst reda

Kontekst reda je najlakše zamisliti kao trenutni red. Na primer, da li se sećate izračunate kolone Margin koju ste ranije videli kada smo predstavljali sintaksu? Formula =[SalesAmount] - [TotalCost] izračunava vrednost u koloni Margin za svaki red u tabeli. Vrednosti za svaki red se izračunavaju na osnovu vrednosti u druge dve kolone, [SalesAmount] i [TotalCost] u istom redu. DAX može da izračuna vrednosti iz svakog reda u koloni Margin jer ima kontekst: za svaki red uzima vrednost iz kolone [TotalCost] i oduzima je od vrednosti u koloni [SalesAmount].

U izabranoj ćeliji prikazanoj ispod, vrednost $49.54 u trenutnom redu je izračunata oduzimanjem vrednosti $51.54 u koloni [TotalCost] od vrednosti $101.08 u koloni [SalesAmount].

Kontekst reda u programskom dodatku PowerPivot

Kontekst reda ne odnosi samo na izračunate kolone. Kontekst reda se takođe odnosi svaki put kada se formula ima funkcije koja se primenjuje filtere da biste identifikovali jedan red u tabeli. Funkcija po sebi će se primeniti na kontekst reda za svaki red u tabeli u kojoj je filtriranje. Ovaj tip kontekst reda najčešće se odnosi na mere.

Kontekst filtera

Kontekst filtera je malo teži za razumevanje od konteksta reda. Kontekst filtera najlakše možete da shvatite na sledeći način: jedan ili više filtera primenjenih u izračunavanju koje određuje rezultat ili vrednost.

Kontekst filtera ne funkcioniše umesto konteksta reda već se primenjuje uz kontekst reda. Na primer, da biste dodatno suzili vrednosti za izračunavanje, možete da primenite kontekst filtera koji ne samo da određuje kontekst reda već i određenu vrednost (filter) u tom kontekstu reda.

Kontekst filtera se lako vidi u izvedenim tabelama. Na primer, kada dodate TotalCost u oblast vrednosti i zatim dodate „Godina“ i „Region“ u red ili kolone, na taj način definišete kontekst filtera koji bira podskup podataka zasnovan na datoj godini i regionu.

Zašto je važno DAX kontekst filtera? Zato što dok kontekst filtera se mogu primeniti najlakše tako što ćete dodati kolone i oznake redova i moduli za sečenje u izvedenoj tabeli, kontekst filtera mogu da se primene u DAX formuli tako što ćete definisati filtera pomoću funkcije kao što su, POVEZANO, FILTER, IZRAČUNAJ veze i druge mere i kolone. Na primer, hajde da pogledamo sledeća formula u meru koja se zove StoreSales:

Formula

Jasno je da je ova formula kompleksnija od nekih drugih formula koje ste videli. Međutim, da bismo bolje razumeli ovu formulu, raščlanićemo je kao što smo uradili sa ostalim formulama.

Ova formula uključuje sledeće elemente sintakse:

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

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

  3. Funkciju CALCULATE koja procenjuje izraz kao argument u kontekstu koji je oblikovan određenim filterima.

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

  5. Meru [Prodaja] u tabeli kao izraz. Prodaja mera ima formulu: = SUM(FactSales[SalesAmount]).

  6. Zarez (,) odvaja svaki filter.

  7. Referenciranu kolonu i određenu vrednost, DimChannel[ChannelName] =”Store”, kao filter.

Ova formula će obezbediti samo vrednosti prodaje, definiše prodaje mere, kao filter, izračunava samo za redove u koloni DimChannel [ChannelName] sa vrednošću "Store", kao filter.

Kao što možete da zamislite, mogućnost definisanja konteksta filtera unutar formule ima velike i moćne mogućnosti. Mogućnost upućivanja samo na određenu vrednost u povezanoj tabeli je samo jedan primer. Ne brinite ako odmah ne shvatite kontekst u potpunosti. Kako budete kreirali svoje formule, razumećete ga bolje i zašto je toliko važan za DAX.

Brzi kviz o kontekstu

  1. Koja dva tipa konteksta postoje?

  2. Šta je kontekst filtera?

  3. Šta je kontekst reda?

Odgovore možete pronaći na kraju ove teme.

Rezime

Sada kada imate osnovno razumevanje najvažnijih koncepata u Dax jeziku, možete da počnete kreiranje DAX formule za izračunate kolone i mere. DAX zaista može da bude nezgodno da biste saznali više, ali su vam dostupne mnogo resursa. Posle čitanja kroz ova tema nekoliko puta, a završite eksperimentisanje sa nekoliko sopstvene formule, možete da saznate više o drugim DAX koncepata i formule mogu vam pomoći da rešite poslovne probleme. Mnoge DAX izvori nisu dostupne u Power Pivot pomoć, SQL Server knjigama na mreži, bela knjiga i blogove od korporacije Microsoft i vodeće BI stručnjake. Wiki centar za resurse za DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) je odlično mesto za početak. Data Analysis Expressions (DAX) referenca je takođe veliki resurs. Uverite se da je sačuvate u omiljenim lokacijama.

DAX u beloj knjizi o BI modelu tabele dostupan za preuzimanje (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) pruža detaljniji pregled koncepata koje smo predstavili ovde, kao i mnogih drugih naprednih koncepata i formula. Ova bela knjiga takođe koristi istu radnu svesku Contoso DAX Sample Formulas.xlsx koju već imate.

Odgovori na brze kvizove

Sintaksa:

  1. Otvara dijalog za umetanje funkcije.

  2. Uglaste zagrade [].

  3. =[UnitPrice] - [UnitCost]

Funkcije:

  1. Tabela i kolona.

  2. Da. Formula može da sadrži do 64 ugnežđenih funkcija.

  3. Funkcije teksta.

Kontekst:

  1. Kontekst reda i kontekst filtera.

  2. Jedan filter ili više njih u izračunavanju koji određuju vrednost.

  3. Trenutni red.

Napomena : Odricanje odgovornosti mašinskog prevođenja: ovaj članak je preveden sistem računara bez ljudski interventne. Microsoft nudi ove mašinskog prevoda da pomogne koja nije na engleskom govornih korisnicima da uživate u sadržaju za Microsoft proizvode, usluge i tehnologijama. U članku bio mašinskog prevesti, mogu da sadrže greške u rečnik, sintaksa ili gramatiku.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×