DAX scenariji u programskom dodatku Power Pivot

Primenjuje se na
Excel za Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Ovaj odeljak obezbeđuje veze ka primerima koji pokazuju upotrebu DAX formula u sledećim scenarijima.

  • Izvođenje 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 razne informacije o jeziku DAX, uključujući blogove, uzorke, bele knjige i video zapise koje su obezbedili vodeći stručnjaci u industriji i Microsoft.

Scenariji: Izvršavanje složenih izračunavanja

DAX formule mogu da izvršavaju složena izračunavanja koja uključuju prilagođene agregacije, filtriranje i korišćenje uslovnih vrednosti. Ovaj odeljak pruža primere prvih koraka sa prilagođenim izračunavanjima.

Kreiranje prilagođenih izračunavanja za izvedenu tabelu

CALCULATE i CALCULATETABLE su moćne, fleksibilne funkcije koje su korisne za definisanje izračunatih polja. Ove funkcije vam omogućavaju da promenite kontekst u kojem će se vršiti izračunavanje. Možete i da prilagodite tip agregacije ili matematičke operacije koja će se izvršiti. Pogledajte sledeće teme za primere.

Primena filtera na formulu

Na većini mesta gde DAX funkcija uzima tabelu kao argument, obično možete da prosledite filtriranu tabelu umesto toga, koristeći funkciju FILTER umesto imena tabele ili navodeći izraz filtera kao jedan od argumenata funkcije. Sledeće teme daju primere kako da kreirate filtere i kako filteri utiču na rezultate formula. Više informacija potražite u članku Filtriranje podataka u DAX formulama.

Funkcija FILTER vam omogućava da navedete kriterijume filtera pomoću izraza, dok su druge funkcije posebno dizajnirane za filtriranje praznih vrednosti.

Selektivno uklanjanje filtera radi kreiranja dinamičkog odnosa

Pravljenjem dinamičkih filtera u formulama možete lako da odgovorite na sledeća pitanja:

  • Kakav je doprinos prodaje trenutnog proizvoda ukupnoj prodaji za godinu?
  • Koliko je ova divizija doprinela ukupnom profitu za sve operativne godine, u poređenju sa drugim divizijama?

Kontekst izvedene tabele može da utiče na formule koje koristite u izvedenoj tabeli, 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 lokalnog prodavca i prodaje za sve lokalne prodavce, napravite meru koja izračunava vrednost za trenutni kontekst podeljenu vrednošću za kontekst ALL.

Tema ALLEXCEPT pruža primer selektivnog brisanja filtera na formuli. Oba primera vas vode kroz način na koji se rezultati menjaju u zavisnosti od dizajna izvedene tabele.

Druge primere kako da izračunate koeficijente i procente potražite u sledećim temama:

Korišćenje vrednosti iz spoljne petlje

Pored korišćenja vrednosti iz trenutnog konteksta u izračunavanjima, DAX može da koristi vrednost iz prethodne petlje prilikom pravljenja skupa povezanih izračunavanja. Sledeća tema pruža uputstva o tome 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, kao i o tome kako da koristite ovaj koncept u formulama, pogledajte članak 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 pravljenje vrednosti na osnovu uslova.

Kreiranje kolone ključa pomoću spajanja

Power Pivot ne dozvoljava složene ključeve; Stoga, ako imate složene ključeve u izvoru podataka, možda ćete morati da ih kombinujete u jednu kolonu ključa. Sledeća tema pruža jedan primer kako da napravite izračunatu kolonu na osnovu složenog ključa.

Compose a date based on date parts extracted from a text date

Power Pivot koristi SQL Server tip podataka datum/vreme za rad sa datumima. Stoga, ako spoljni podaci sadrže datume koji su drugačije oblikovani – na primer, ako su datumi zapisani u regionalnom formatu datuma koji Power Pivot mašina podataka ne prepoznaje, ili ako podaci koriste zamenske ključeve sa celim brojem – možda ćete morati da koristite DAX formulu da biste izdvojili delove datuma, a zatim sastavili delove u važeći datum/ Predstavljanje vremena.

Na primer, ako imate kolonu sa datumima koji su predstavljeni kao ceo broj, a zatim uvezeni kao tekstualna niska, nisku možete da konvertujete u vrednost datuma/vremena pomoću sledeće formule:

=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 se uverili da se ispravno rukuje vrednostima. Ovi formati se koriste prilikom konvertovanja vrednosti u niske ili iz niski. Sledeće teme takođe pružaju detaljnu listu unapred definisanih oblika koji su dostupni za rad sa datumima i brojevima.

Promena tipova podataka pomoću formule

U programskom dodatku Power Pivot tip podataka izlaza određuju izvorne kolone i ne možete eksplicitno da navedete tip podataka rezultata jer Power Pivot određuje optimalni tip podataka. Međutim, možete da koristite implicitne konverzije tipova podataka koje Power Pivot izvršava da biste manipulisali tipom izlaznih podataka. 

  • Da biste datum ili nisku brojeva konvertovali u broj, pomnožite sa 1,0. Na primer, sledeća formula izračunava trenutni datum minus 3 dana, a zatim daje odgovarajuću celobrojnu vrednost.
    =(TODAY()-3)*1,0
  • Da biste konvertovali datum, broj ili vrednost valute u nisku, spojite vrednost sa praznom niskom. Na primer, sledeća formula daje današnji datum u vidu niske.
    =""& TODAY()

Sledeće funkcije takođe mogu da se koriste kako bi se obezbedilo da se dobije određeni tip podataka:

Konvertovanje realnih brojeva u cele brojeve

Scenario: Uslovne vrednosti i testiranje grešaka

Kao i Excel, DAX ima funkcije koje vam omogućavaju da testirate vrednosti u podacima i vratite drugu vrednost na osnovu uslova. Na primer, možete da napravite izračunatu kolonu koja označava prodavce kao " Poželjno " ili "Vrednost " u zavisnosti od godišnjeg iznosa prodaje. Funkcije koje testiraju vrednosti korisne su i za proveru opsega ili tipa vrednosti kako bi se sprečilo da neočekivane greške u podacima prekinu izračunavanja.

Kreiranje vrednosti na osnovu uslova

Ugnežđene IF uslove možete da koristite za testiranje vrednosti i uslovno generisanje novih vrednosti. Sledeće teme sadrže neke jednostavne primere uslovne obrade i uslovnih vrednosti:

Testiranje da li postoje greške unutar formule

Za razliku od programa Excel, ne možete da imate važeće vrednosti u jednom redu izračunate kolone, a nevažeće vrednosti u drugom. To znači sledeće, ako postoji greška u bilo kom delu Power Pivot kolone, cela kolona se obeležava greškom, tako da uvek morate da ispravljate greške u formuli koje za posledicu daju nevažeće vrednosti.

Na primer, ako kreirate formulu koja 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 se očekuje numerička vrednost. Dok razvijate model podataka, najbolje je da dozvolite da se pojavljuju greške kako biste mogli da kliknete na poruku i rešite problem. Međutim, kada objavljujete radne sveske, trebalo bi da uključite 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čke i informacione funkcije za testiranje grešaka i uvek vraćanje važećih vrednosti. Sledeće teme daju neke jednostavne primere kako da to uradite u jeziku DAX:

Scenariji: Korišćenje vremenske inteligencije

Funkcije DAX vremenske inteligencije uključuju funkcije koje vam pomažu da preuzmete datume ili opsege datuma iz podataka. Te datume ili opsege datuma zatim možete da koristite za izračunavanje vrednosti za slične periode. Funkcije vremenske inteligencije takođe obuhvataju funkcije koje rade sa standardnim intervalima datuma kako bi vam omogućile da uporedite vrednosti tokom meseci, godina ili kvartala. Takođe možete da napravite formulu koja poredi vrednosti za prvi i poslednji datum navedenog perioda.

Listu svih funkcija vremenske inteligencije potražite u članku Funkcije vremenske inteligencije (DAX). Savete o tome kako da efikasno koristite datume i vremena u Power Pivot analizi potražite u članku "Datumi u programskom dodatku Power Pivot".

Izračunajte kumulativnu prodaju

Sledeće teme sadrže primere kako da izračunate zaključenje i početna bilansa. Primeri vam omogućavaju da napravite tekuće bilanse u različitim intervalima, kao što su dani, meseci, kvartali ili godine.

Poređenje vrednosti tokom vremena

Sledeće teme sadrže primere kako da uporedite zbirove u različitim vremenskim periodima. Podrazumevani vremenski periodi koje podržava DAX su meseci, kvartali i godine.

Izračunavanje vrednosti za prilagođeni opseg 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 da biste preuzeli prilagođeni skup datuma, taj skup datuma možete koristiti kao unos za funkciju koja vrši izračunavanja za kreiranje prilagođenih agregatnih funkcija u različitim vremenskim periodima. Pogledajte sledeću temu za primer kako to da uradite:

  • Funkcija PARALLELPERIOD

    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 dizajniranih za tu svrhu, kao što su TOTALQTD, TOTALMTD, TOTALQTD itd.

Scenariji: Rangiranje i poređenje vrednosti

Da biste prikazali samo prvih n stavki u koloni ili izvedenoj tabeli, imate nekoliko opcija:

  • Funkcije u programu Excel možete da koristite da biste kreirali gornji filter. Možete takođe da izaberete broj gornjih ili donjih vrednosti u izvedenoj tabeli. Prvi deo ovog odeljka opisuje kako da filtrirate prvih 10 stavki u izvedenoj tabeli. Dodatne informacije potražite u Excel dokumentaciji.
  • Možete da kreirate formulu koja dinamički rangira vrednosti, a zatim da je filtrirate po vrednostima rangiranja ili da koristite vrednost rangiranja kao modul za sečenje. Drugi deo ovog odeljka opisuje kako da kreirate ovu formulu i kako da zatim koristite taj rang u modulu Slicer.

Postoje prednosti i mane svake metode.

  • Filter "Vrh" u programu Excel jednostavan je za korišćenje, ali služi samo u svrhe prikaza. Ako se podaci od kojih se zasniva izvedena tabela promene, morate ručno osvežiti izvedenu tabelu da biste videli promene. Ako treba da dinamički radite sa rangiranjem, možete da koristite DAX da biste kreirali formulu koja poredi vrednosti sa drugim vrednostima unutar kolone.
  • DAX formula je moćnija; štaviše, dodavanjem vrednosti rangiranja u Slicer, možete jednostavno da kliknete na Slicer da biste promenili broj prikazanih najvećih vrednosti. Međutim, izračunavanja su računarski skupa i ovaj metod možda nije prikladan za tabele sa mnogo redova.

Prikazivanje samo deset prvih stavki u izvedenoj tabeli

Da biste prikazali najviše ili najniže vrednosti u izvedenoj tabeli
  1. U izvedenoj tabeli kliknite na strelicu nadole u naslovu "Oznake reda ".
  2. Izaberite vrednosti filtera> za vrednostiprvih 10.
  3. U dijalogu "Prvih> 10 kolona filtera<" odaberite kolonu za rangiranje i broj vrednosti, kao što sledi:
    1. Izaberite stavku "Vrh" da biste videli ćelije sa najvišim vrednostima ili "Dno " da biste videli ćelije sa najnižim vrednostima.
    2. Otkucajte broj najvećih ili najnižih vrednosti koje želite da vidite. Podrazumevana vrednost je 10.
    3. Izaberite kako želite da se vrednosti prikazuju:
NameDescriptionItemsIzaberite ovu opciju da biste filtrirali izvedenu tabelu da biste prikazali samo listu prvih ili poslednjih stavki po njihovim vrednostima. ProcenatIzaberite ovu opciju da biste filtrirali izvedenu tabelu tako da prikazuje samo stavke koje čine navedeni procenat. SumIzaberite ovu opciju da biste prikazali zbir vrednosti za gornje ili najniže stavke.
  1. Izaberite kolonu koja sadrži vrednosti koje želite da rangirate.
  2. Kliknite na dugme U redu.

Dinamički raspored stavki pomoću formule

Sledeća tema sadrži primer korišćenja jezika DAX za kreiranje rangiranja koje je uskladišteno u izračunatoj koloni. Pošto se DAX formule izračunavaju dinamički, uvek možete biti sigurni da je rangiranje tačno, čak i ako se osnovni podaci promene. Takođe, pošto se formula koristi u izračunatoj koloni, možete koristiti rangiranje u modulu Slicer, a zatim izabrati prvih 5, prvih 10 ili čak prvih 100 vrednosti.