Ovaj odeljak pruža veze ka primerima koji pokazuju upotrebu DAX formula u sledećim scenarijima.
-
Izvršavanje složenih izračunavanja
-
Rad sa tekstom i datumima
-
Uslovne vrednosti i testiranje grešaka
-
Korišćenje vremenske inteligencije
-
Rangiranje i poređenje vrednosti
U ovom članku
Prvi koraci
Posetite WIki centar za DAX resurse gde možete da pronađete sve vrste informacija o DAX serveru, uključujući blogove, uzorke, bele pastere i video zapise koje obezbeđuju vodeći stručnjaci iz industrije i Microsoft.
Scenariji: izvršavanje složenih izračunavanja
DAX formule mogu da obavljaju složena izračunavanja koja uključuju prilagođene agregatne funkcije, filtriranje i korišćenje uslovnih vrednosti. Ovaj odeljak pruža primere kako da počnete sa prilagođenim izračunavanjima.
Kreiranje prilagođenih izračunavanja za izvedenu tabelu
FUNKCIJE CALCULATE i CALCULATETABLE su moćne, fleksibilne funkcije koje su korisne za definisanje izračunatih polja. Ove funkcije vam mogu da promene kontekst u kojem će se izvršiti izračunavanje. Takođe možete da prilagodite tip agregatne ili matematičke operacije za izvršavanje. Pogledajte sledeće teme za primere.
Primena filtera na formulu
U većini mesta gde DAX funkcija uzima tabelu kao argument, obično možete da prođete kroz filtriranu tabelu umesto imena tabele ili tako što ćete navesti izraz filtera kao jedan od argumenata funkcije. Sledeće teme pružaju primere toga kako se kreiraju filteri i kako filteri utiču na rezultate formula. Više informacija potražite u temi Filtriranje podataka u DAX formulama.
Funkcija FILTER vam omogućava da navedete kriterijume filtera pomoću izraza, dok su druge funkcije dizajnirane posebno za filtriranje praznih vrednosti.
Selektivno uklanjanje filtera za kreiranje dinamičkog odnosa
Kreiranjem dinamičkih filtera u formulama možete lako da odgovorite na pitanja kao što su sledeća:
-
Kolik je doprinos prodaje trenutnog proizvoda ukupnoj prodaji za godinu?
-
Koliko je ovo deljenje doprinelo ukupnom profitu za sve operativne godine, u poređenju sa drugim odeljenjama?
Na formule koje koristite u izvedenoj tabeli može da utiče kontekst izvedene tabele, ali možete selektivno da promenite kontekst dodavanjem ili uklanjanjem filtera. Primer u temi ALL vam pokazuje kako da to uradite. Da biste pronašli odnos prodaje za određenog prodavca u odnosu na prodaju svih prodavaca, napravite meru koja izračunava vrednost za trenutni kontekst podeljen vrednošću za SAV kontekst.
Tema ALLEXCEPT pruža primer toga kako da selektivno obrišite filtere na formuli. Oba primera vas provlače kroz način na koji se rezultati menjaju u zavisnosti od dizajna izvedene tabele.
Druge primere o tome kako da izračunate odnos i procente možete da vidite u sledećim temama:
Korišćenje vrednosti iz izlazne petlje
Pored korišćenja vrednosti iz trenutnog konteksta u izračunavanjima, DAX može da koristi vrednost iz prethodne petlje u pravljenju skupa povezanih izračunavanja. Sledeća tema pruža korake za to kako da napravite formulu koja upućuje na vrednost iz spoljne petlje. Funkcija EARLIER podržava najviše dva nivoa ugnežđenih petlji.
Da biste saznali više o kontekstu reda i srodnim tabelama i o tome kako da koristite ovaj koncept u formulama, pogledajte kontekst u DAX formulama.
Scenariji: Rad sa tekstom i datumima
Ovaj odeljak obezbeđuje veze ka DAX referentnim temama koje sadrže primere uobičajenih scenarija koji uključuju rad sa tekstom, izdvajanje i sastavljanje vrednosti datuma i vremena ili kreiranje vrednosti na osnovu uslova.
Kreiranje kolone ključa uz konkatenaciju
Power Pivot ne dozvoljava sastavne ključeve; stoga, ako imate sastavne ključeve u izvoru podataka, možda ćete morati da ih kombinujete u kolonu sa jednim ključem. Sledeća tema pruža jedan primer toga kako da napravite izračunatu kolonu na osnovu sastavnog ključa.
Sastavljanje datuma na osnovu delova datuma izdvojenih iz tekstualnog datuma
Power Pivot za rad sa datumima koristi SQL Server datum/vreme; stoga, ako spoljni podaci sadrže datume koji su drugačije oblikovani – na primer, ako su datumi napisani u regionalnom formatu datuma koji Power Pivot mašina podataka ne prepoznaje ili ako podaci koriste neprecizne ključeve – možda ćete morati da koristite DAX formulu da biste izdvojili delove datuma, a zatim sastavljali delove u važeću predstavu o datumu/vremenu.
Na primer, ako imate kolonu datuma koji su predstavljeni kao broj, a zatim uvezeni kao tekstualna niska, nisku možete da konvertujete u vrednost datum/vreme koristeći sledeću formulu:
=DATE(RIGHT([Vrednost1],4),LEFT([Vrednost1],2),MID([Vrednost1],2))
Vrednost1; vrednost2;… |
Rezultat |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Sledeće teme pružaju više informacija o funkcijama koje se koriste za izdvajanje i sastavljanje datuma.
Definisanje prilagođenog formata datuma ili broja
Ako podaci sadrže datume ili brojeve koji nisu predstavljeni u jednom od standardnih Windows tekstualnih formata, možete da definišete prilagođeni format da biste obezbedili da se vrednostima upravlja ispravno. Ova oblikovanja se koriste prilikom konvertovanja vrednosti u niske ili iz niski. Sledeće teme pružaju i detaljnu listu unapred definisanih formata koji su dostupni za rad sa datumima i brojevima.
Promena tipova podataka pomoću formule
U Power Pivot rezultatu tip podataka određuju izvorne kolone i ne možete izričito da navedete tip podataka rezultata zato što optimalan tip podataka određuje Power Pivot. Međutim, možete da koristite implicitne konverzije tipova podataka koje Power Pivot da biste manipulisali tipom izlaznih podataka.
-
Da biste konvertovati datum ili brojčanu nisku u broj, pomnožite sa 1,0. Na primer, sledeća formula izračunava trenutni datum minus 3 dana, a zatim daje odgovarajuću vrednost za taj broj.
=(TODAY()-3)*1.0
-
Da biste konvertovati vrednost datuma, broja ili valute u nisku, spojte vrednost sa praznom niskom. Na primer, sledeća formula daje današnji datum kao nisku.
=""& TODAY()
Sledeće funkcije takođe mogu da se koriste da bi se obezbedilo da se vrati određeni tip podataka:
Konvertovanje realnih brojeva u sve brojeve
-
Konvertovanje realnih brojeva, brojeva ili datuma u niske
-
Konvertovanje niski u realne brojeve ili datume
Scenario: Uslovne vrednosti i testiranje grešaka
Kao Excel, DAX ima funkcije koje vam pokazuju vrednosti u podacima i vraćaju drugu vrednost na osnovu uslova. Na primer, možete da napravite izračunatu kolonu koja označava prodavce sa "Željeno" ili "Vrednost", u zavisnosti od godišnjeg iznosa prodaje. Funkcije koje testiraju vrednosti su takođe korisne za proveru opsega ili tipa vrednosti kako bi se sprečilo ukidanje neočekivanih grešaka u podacima.
Kreiranje vrednosti na osnovu uslova
Ugnežđene IF uslove možete da koristite da biste testirali vrednosti i uslovno generisali nove vrednosti. Sledeće teme sadrže neke jednostavne primere uslovne obrade i uslovnih vrednosti:
Testiranje grešaka u okviru formule
Za Excel, ne možete da imate važeće vrednosti u jednom redu izračunate kolone, a nevažeće vrednosti u drugom redu. To jesti da, ako postoji greška u bilo kom delu Power Pivot koloni, cela kolona je označena zastavicom uz grešku, tako da uvek morate da ispravite greške u formuli koje dovlače do nevažećih vrednosti.
Na primer, ako kreirate formulu koja se deli nulom, možete dobiti rezultat beskonačnosti ili grešku. Neke formule takođe neće uspeti ako funkcija naiđe na praznu vrednost kada očekuje numeričku vrednost. Dok razvijate model podataka, najbolje je da dozvolite pojavljivanje grešaka tako da možete da kliknete na poruku i rešite problem. Međutim, kada objavljujete radne sveske, trebalo bi da unesite rukovanje greškama da biste sprečili da neočekivane vrednosti uzrokuju neuspeh izračunavanja.
Da biste izbegli vraćanje grešaka u izračunatoj koloni, koristite kombinaciju logičkih funkcija i funkcija informacija za testiranje grešaka i uvek vraćanje važećih vrednosti. Sledeće teme pružaju neke jednostavne primere kako to da uradite u DAX daX-u:
Scenariji: Korišćenje vremenske inteligencije
DAX funkcije vremenske inteligencije uključuju funkcije koje vam pomažu da preuzmete datume ili opsege datuma iz podataka. Zatim možete da koristite te datume ili opsege datuma da biste izračunali vrednosti za slične periode. Funkcije vremenske inteligencije obuhvataju i funkcije koje rade sa standardnim intervalima datuma kako bi vam omogućile da uporedite vrednosti preko meseci, godina ili kvartala. Možete da napravite i formulu koja poredi vrednosti za prvi i poslednji datum navedenog perioda.
Listu funkcija vremenske inteligencije pogledajte u temi Funkcije vremenske inteligencije (DAX). Savete o tome kako da efikasno koristite datume i vremena u Power Pivot analizu, pogledajte datume u funkciji Power Pivot.
Izračunavanje kumulativne prodaje
Sledeće teme sadrže primere kako se izračunava zatvoreni i otvoreni balans. Primeri vam mogu dati podjednake saldo u različitim intervalima kao što su dani, meseci, kvartali ili godine.
Uporedi vrednosti tokom vremena
Sledeće teme sadrže primere kako da uporedite zbirove tokom različitih vremenskih perioda. Podrazumevani vremenski periodi koje podržava DAX su meseci, kvartali i godine.
Izračunavanje vrednosti preko prilagođenog opsega datuma
Pogledajte sledeće teme za primere kako da preuzmete prilagođene opsege datuma, kao što su prvih 15 dana nakon početka promocije prodaje.
Ako koristite funkcije vremenske inteligencije za preuzimanje prilagođenog skupa datuma, možete da koristite taj skup datuma kao unos u funkciju koja vrši izračunavanja, da biste kreirali prilagođene agregatne funkcije tokom vremenskih perioda. Pogledajte sledeću temu da biste videli primer kako to da uradite:
-
Napomena: Ako ne morate da navedete prilagođeni opseg datuma, ali radite sa standardnim računovodstvenim jedinicama kao što su meseci, kvartali ili godine, preporučujemo da izvršite izračunavanja pomoću funkcija vremenske inteligencije dizajnirane za tu namenu, kao što su TOTALQTD, TOTALMTD, TOTALQTD itd.
Scenariji: Rangiranje i poređenje vrednosti
Da biste prikazali samo prvih n broja stavki u koloni ili izvedenoj tabeli, imate nekoliko opcija:
-
Možete da koristite funkcije iz Excel 2010 da biste kreirali glavni filter. Možete da izaberete i nekoliko gornjih ili najnižih vrednosti u izvedenoj tabeli. Prvi deo ovog odeljka opisuje kako da filtrirate 10 prvih stavki u izvedenoj tabeli. Dodatne informacije potražite u Excel dokumentacije.
-
Možete da kreirate formulu koja dinamički ranguje vrednosti, a zatim vršite filtriranje po vrednostima rang liste ili koristite vrednost rangiranje kao Slicer. Drugi deo ovog odeljka opisuje kako da kreirate ovu formulu, a zatim koristite to rangiranje u sliceru.
Postoje prednosti i prednosti svakog metoda.
-
Filter Excel na vrhu se lako koristi, ali filter je samo za potrebe prikaza. Ako se podaci u izvedenoj tabeli promene, morate ručno da osvežite izvedenu tabelu da biste videli promene. Ako morate dinamički da radite sa rangiranjem, možete da koristite DAX da biste kreirali formulu koja poredi vrednosti sa drugim vrednostima u koloni.
-
DAX formula je moćnija; Štaviše, dodavanjem vrednosti rangiranja u Slicer, možete jednostavno da kliknete na Slicer da biste promenili broj prikazanih najviših vrednosti. Međutim, izračunavanja su skupa i ovaj metod možda nije pogodan za tabele sa mnogo redova.
Prikaz samo deset prvih stavki u izvedenoj tabeli
Da biste prikazali gornje ili donje vrednosti u izvedenoj tabeli
|
Dinamički redosled stavki pomoću formule
Sledeća tema sadrži primer toga kako da koristite DAX za pravljenje rangiranje uskladištenog u izračunatoj koloni. Pošto se DAX formule računaju dinamički, uvek možete da budete sigurni da je rangiranje ispravno čak i ako se promeni odgovarajući podaci. Takođe, pošto se formula koristi u izračunatoj koloni, možete koristiti rangiranje u sliceru, a zatim izabrati prvih 5, prvih 10 ili čak prvih 100 vrednosti.