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

Napomena:  Želimo da vam što pre pružimo najnoviji sadržaj pomoći čim na vašem jeziku. Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li nam na dnu ove stranice saopštiti da li su vam informacije bile od koristi? Ovo je članak na engleskom jeziku za brzu referencu.

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!

Nismo će uokvirili DAX oko tri veoma važne osnovnih koncepata: sintaksu funkcije i kontekst. Naravno, postoje druge važnih koncepata u Dax jeziku, ali razumevanje ove tri koncepata pružiće vam najbolje foundation na kojima ćete napraviti vaš DAX veštine.

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.

Obratite pažnju na nekoliko stvari koje su drugačije na ovu formulu u odnosu na formulu koristili smo za marginu izračunate kolone. Posebno smo predstavili funkciju SUM. Funkcije su unapred napisane formula koje vam olakšavaju da složena izračunavanja i promena sa brojeve, datume, vremena, tekst i još mnogo toga. Saznajte 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čunate kolone

  1. Ako već niste u Power Pivot prozoru, u programu Excel, na Power Pivot traci izaberite stavku 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.

    Formula bar

    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! Koju ste upravo kreirali jednostavnu, ali veoma moćna DAX formule. Za svaki red u tabeli FactSales, NetSales formula izračunava vrednost oduzimanjem vrednost u koloni [ReturnQuantity] iz vrednosti u koloni [kolone SalesQuantity]. Imajte u vidu kako rekli smo „za svaki red”. Ovo je pogled na drugi veoma važne koncept u Dax jeziku; kontekst reda. Saznajte više o kontekst reda kasnije.

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 si! 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.

Samo predstavljena nekoliko važnih aspekata u DAX formulama. Prvo, ova formula uključene dve funkcije. Obratite pažnju na funkciju PREVIOUSQUARTER je ugnežđene kao argument prosleđen funkciji CALCULATE . DAX formula može da sadrži do 64 ugnežđene funkcije. To je verovatno formula bi ikada sadrži toliko ugnežđene funkcije. Zapravo, takve formule će biti veoma teško da kreirate i otklanjanje grešaka i verovatno bi veoma brzo ili.

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. Pomerite se do kolone ReturnQuantity, a zatim kliknite na zaglavlje kolone da biste izabrali celu kolonu u tabeli FactSales.

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

AutoSum u programskom dodatku PowerPivot

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. Šta radi ovo dugme na traci sa formulama
    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 kolone od vrednosti u polju 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, informacija, logička, matematiиku, statistička, tekst i funkcije vremenske inteligencije. Ako su vam poznate funkcije u formulama u programu Excel, mnoge funkcije u DAX će se pojaviti slično. Međutim, DAX funkcije su jedinstvene na sledeće načine:

  • 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 razne funkcije vremenske inteligencije. Ove funkcije vam omogućavaju da definišete ili izaberite opseg datuma i dinamičke izračunavanja zasnovana na njih. Na primer, možete da uporedite zbirova nekoliko paralelnih perioda.

Ponekad je teško je znati koja funkcioniše, možda ćete morati da koristite u formuli. Power Pivoti u tabelarnom modelu dizajner u SQL Server Data Tools uključuju Umetanje funkcije dijalog koji vam pomaže da izaberete funkcije po kategorijama i pruža kratke opise za svaku funkciju.

Umetni funkciju

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

Zadatak: Dodavanje funkcije u formuli tako što ćete koristiti Umetanje funkcije

  1. U tabeli FactSales idite do krajnje desne kolone, a zatim u zaglavlju kolone kliknite na dugme Dodaj kolonu.

  2. U polju za formulu unesite znak jednakosti, =.

  3. Kliknite na dugme Umetni funkciju . Umetni funkciju Otvoriće se dijalog Umetanje funkcije .

  4. U dijalogu Umetanje funkcije kliknite na dugme okvir sa listom izaberite kategoriju . Podrazumevano je izabrana stavka sve , a sve funkcije u okviru sve kategorije su navedena ispod. To je veliki broj funkcija, tako da će biti potrebno da biste filtrirali funkcije da biste lakše pronašli tipa funkcija koju tražite.

  5. Za ovu formulu koju želite da biste dobili neke podatke koje već postoji u drugoj tabeli. Zbog toga koje ćete koristiti funkcije u kategoriji Filtriraj. Samo napred i izaberite kategoriju Filter u izaberite funkciju, pomerite se nadole i kliknite dvaput na stavku POVEZANA funkcija. Kliknite na dugme u redu da biste zatvorili dijalog Umetanje funkcije .

  6. Koristite funkciju IntelliSense će vam pomoći da pronađete i izbor kolone DimChannel [ChannelName].

  7. Zatvorite formulu i pritisnite taster Enter.

  8. Nakon što pritisnete taster Enter da biste dovršili formulu, reč izračunavanje pojavljuje se na statusnoj traci pri dnu prozora Power Pivot . Sada će videti koji ste upravo kreirali novu kolonu u tabeli FactSales sa kanala informacije iz tabele DimChannel.

  9. Preimenujte kolonu u Channel.

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

Upravo ste se druge veoma važne funkcije u DAX funkcije POVEZANO sa. SRODNA funkcija vraća vrednosti iz druge tabele. Možete da koristite POVEZANO pod uslovom da postoji relacije između tabela koje se trenutno nalazite i tabele koja sadrži vrednosti koje želite da biste dobili. Naravno, SRODNA funkcija ima ogromne 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 DimChannel tabele iz liste polja izvedene tabele, što vam olakšava da biste pronašli i vidite samo najvažnije informacije koje vam trebaju. Baš kao funkciju CALCULATE gorenavedena POVEZANA funkcija veoma je važno, a koje će verovatno upotrebiti više puta.

Kao što vidite, funkcije u Dax jeziku može pomoći da kreirate veoma moćna formule. Nismo samo dodirnuli na osnove funkcije. Dok se vaš DAX veštine poboljšali, kreirate formule koje koriste različite mnoge funkcije. Jedna od najboljih mesta da biste saznali više detalja o svim DAX funkcije je u 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 nisku.

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

Kontekst

Kontekst je jedan od najvažnijih koncepata DAX da razumeju. Postoje dva tipa kontekst u DAX; kontekst reda i kontekst filtera. Će prvo da vidimo 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, CALCULATE, tako što ćete relacije, a 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. = [Cena po jedinici] - [Trošak po jedinici]

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.

Razvijte Office 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.

×