U ovom su odjeljku navedene veze na primjere koji pokazuju korištenje DAX formula u sljedećim scenarijima.

  • Izvođenje složenih izračuna

  • Rad s tekstom i datumima

  • Uvjetne vrijednosti i testiranje pogrešaka

  • Korištenje inteligencije vremena

  • Rangiranje i usporedba vrijednosti

Sadržaj članka

Početak rada

Posjetite Wiki dax resource center na kojem možete pronaći sve vrste informacija o DAX-u, uključujući blogove, uzorke, whitepapers i videozapise vodećih stručnjaka u industriji i Microsofta.

Scenariji: izvođenje složenih izračuna

DAX formule mogu izvoditi složene izračune koji obuhvaćaju prilagođene agregacije, filtriranje i korištenje uvjetnih vrijednosti. U ovom su odjeljku navedeni primjeri načina rada s prilagođenim izračunima.

Stvaranje prilagođenih izračuna za zaokretnu tablicu

FUNKCIJE CALCULATE i CALCULATETABLE snažne su i fleksibilne funkcije koje su korisne za definiranje izračunatih polja. Te funkcije omogućuju promjenu konteksta u kojem će se izvršiti izračun. Možete i prilagoditi vrstu agregacije ili matematičke operacije za izvođenje. Primjere potražite u sljedećim temama.

Primjena filtra na formulu

Na većini mjesta na kojima funkcija DAX uzima tablicu kao argument, obično možete proslijediti u filtriranoj tablici, bilo pomoću funkcije FILTER umjesto naziva tablice ili određivanjem izraza filtra kao jednog od argumenata funkcije. U sljedećim su temama navedeni primjeri stvaranja filtara i kako filtri utječu na rezultate formula. Dodatne informacije potražite u članku Filtriranje podataka u DAX formulama.

Funkcija FILTER omogućuje vam određivanje kriterija filtriranja pomoću izraza, dok su ostale funkcije osmišljene posebno za filtriranje praznih vrijednosti.

Selektivno uklanjanje filtara radi stvaranja dinamičnog omjera

Stvaranjem dinamičnih filtara u formulama možete jednostavno odgovoriti na pitanja kao što su sljedeća:

  • Koji je bio doprinos prodaje trenutnog proizvoda ukupnoj prodaji za godinu?

  • Koliko je ova podjela doprinijela ukupnoj dobiti za sve operativne godine, u usporedbi s drugim odjelima?

Kontekst zaokretne tablice može utjecati na formule koje koristite u zaokretnoj tablici, ali kontekst možete selektivno promijeniti dodavanjem ili uklanjanjem filtara. U primjeru u temi ALL prikazuje se kako to učiniti. Da biste pronašli omjer prodaje za određenog prodavača u prodaji za sve prodavače, stvorite mjeru koja izračunava vrijednost za trenutni kontekst podijeljen s vrijednošću za kontekst ALL.

Tema ALLEXCEPT sadrži primjer selektivnog čišćenja filtara u formuli. Oba primjera objašnjavaju kako se rezultati mijenjaju ovisno o dizajnu zaokretne tablice.

Ostale primjere izračuna omjera i postotaka potražite u sljedećim temama:

Korištenje vrijednosti iz vanjske petlje

Osim korištenja vrijednosti iz trenutnog konteksta u izračunima, DAX može koristiti vrijednost iz prethodne petlje u stvaranju skupa povezanih izračuna. U sljedećoj je temi opisano kako stvoriti formulu koja se poziva na vrijednost iz vanjske petlje. Funkcija EARLIER podržava do dvije razine ugniježđenih petlji.

Da biste saznali više o kontekstu retka i povezanim tablicama te kako koristiti taj koncept u formulama, pročitajte kontekst u DAX formulama.

Scenariji: rad s tekstom i datumima

Ovaj odjeljak sadrži veze na daX reference teme koje sadrže primjere uobičajenih scenarija koji obuhvaćaju rad s tekstom, izdvajanje i sastavljanje vrijednosti datuma i vremena ili stvaranje vrijednosti na temelju uvjeta.

Stvaranje stupca ključa spajanjem

Power Pivot ne dopušta složene ključeve; stoga, ako imate složene ključeve u izvoru podataka, možda ćete ih morati kombinirati u jedan stupac ključa. U sljedećoj je temi prikazan primjer stvaranja izračunatog stupca na temelju složenog ključa.

Sastavljanje datuma na temelju dijelova datuma izdvojenih iz tekstnog datuma

Power Pivot koristi vrstu podataka datuma/vremena sustava SQL Server za rad s datumima; stoga, ako vaši vanjski podaci sadrže datume koji su drugačije oblikovani – na primjer, ako su datumi napisani u regionalnom obliku datuma koji nije prepoznao podatkovni modul sustava Power Pivot ili ako vaši podaci koriste ključeve za zamjenske brojeve cijelih brojeva – možda ćete morati koristiti DAX formulu za izdvajanje dijelova datuma i sastavljanje dijelova u valjani prikaz datuma/vremena.

Ako, primjerice, imate stupac s datumima koji su predstavljeni kao cijeli broj, a zatim uvezeni kao tekstni niz, niz možete pretvoriti u vrijednost datuma/vremena pomoću sljedeće formule:

=DATE(RIGHT([Vrijednost1],4);LEFT([Vrijednost1];2);MID([Vrijednost1];2))

Vrijednost1

Rezultat

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

U sljedećim temama navedene su dodatne informacije o funkcijama koje se koriste za izdvajanje i sastavljanje datuma.

Definiranje prilagođenog oblika datuma ili broja

Ako podaci sadrže datume ili brojeve koji nisu predstavljeni u jednom od standardnih tekstnih oblika sustava Windows, možete definirati prilagođeni oblik da biste bili sigurni da se vrijednosti pravilno rukuju. Ti se oblici koriste prilikom pretvaranja vrijednosti u nizove ili iz nizova. Sljedeće teme sadrže i detaljan popis unaprijed definiranih oblika koji su dostupni za rad s datumima i brojevima.

Promjena vrsta podataka pomoću formule

U Power Pivot, vrsta podataka izlaza određena je izvornim stupcima i ne možete izričito navesti vrstu podataka rezultata jer optimalnu vrstu podataka određuje Power Pivot. No možete koristiti implicitne pretvorbe vrsta podataka koje Power Pivot za rukovanje vrstom izlaznih podataka. 

  • Da biste datum ili brojčani niz pretvorili u broj, pomnožite ga s 1,0. Sljedeća formula, primjerice, izračunava trenutni datum minus 3 dana, a zatim daje odgovarajuću cjelobrojnu vrijednost.

    =(TODAY()-3)*1,0

  • Da biste vrijednost datuma, broja ili valute pretvorili u niz, vrijednost upišite u prazan niz. Sljedeća formula, primjerice, vraća današnji datum kao niz.

    =""& TODAY()

Sljedeće se funkcije mogu koristiti i za osiguravanje da se vrati sljedeća vrsta podataka:

Pretvori realne brojeve u cijele brojeve

Scenarij: uvjetne vrijednosti i testiranje pogrešaka

Kao i Excel, DAX sadrži funkcije koje vam omogućuju testiranje vrijednosti u podacima i vraćanje druge vrijednosti na temelju uvjeta. Možete, primjerice, stvoriti izračunati stupac koji prodavače označava kao Preferirano ili Vrijednost ovisno o godišnjem iznosu prodaje. Funkcije koje testne vrijednosti također su korisne za provjeru raspona ili vrste vrijednosti, kako bi se spriječilo neočekivane pogreške podataka u prekidu izračuna.

Stvaranje vrijednosti na temelju uvjeta

Pomoću ugniježđenih uvjeta IF možete testirati vrijednosti i uvjetno generirati nove vrijednosti. Sljedeće teme sadrže neke jednostavne primjere uvjetne obrade i uvjetnih vrijednosti:

Testiranje pogrešaka unutar formule

Za razliku od programa Excel, u jednom retku izračunatog stupca ne možete imati valjane vrijednosti i vrijednosti koje nisu valjane u drugom retku. To jest, ako u bilo kojem dijelu stupca Power Pivot postoji pogreška, cijeli se stupac označava pogreškom, pa uvijek morate ispraviti pogreške formula koje rezultiraju vrijednostima koje nisu valjane.

Ako, primjerice, stvorite formulu koja se dijeli s nulom, možda ćete dobiti beskonačni rezultat ili pogrešku. Neke formule neće uspjeti ako funkcija naiđe na praznu vrijednost kada očekuje brojčanu vrijednost. Tijekom razvoja podatkovnog modela najbolje je dopustiti prikaz pogrešaka da biste mogli kliknuti poruku i riješiti problem. No prilikom objavljivanja radnih knjiga trebali biste ugraditi rukovanje pogreškama da biste spriječili neočekivane vrijednosti da uzrokuju neuspjeh izračuna.

Da biste izbjegli vraćanje pogrešaka u izračunatom stupcu, koristite kombinaciju logičkih i informativnih funkcija da biste provjerili pogreške i uvijek vraćali valjane vrijednosti. Sljedeće teme sadrže neke jednostavne primjere kako to učiniti u programu DAX:

Scenariji: korištenje inteligencije vremena

DaX funkcije inteligencije vremena obuhvaćaju funkcije koje olakšavaju dohvaćanje datuma ili raspona datuma iz podataka. Nakon toga te datume ili raspone datuma možete koristiti za izračun vrijednosti u sličnim razdobljima. Funkcije inteligencije vremena obuhvaćaju i funkcije koje funkcioniraju sa standardnim intervalima datuma da biste omogućili usporedbu vrijednosti u mjesecima, godinama ili tromjesečjima. Možete stvoriti i formulu koja uspoređuje vrijednosti za prvi i zadnji datum navedenog razdoblja.

Popis svih funkcija inteligencije vremena potražite u članku Funkcije inteligencije vremena (DAX). Savjete o učinkovitoj upotrebi datuma i vremena u analizi Power Pivot potražite u članku Datumi u dodatku Power Pivot.

Izračun kumulativne prodaje

Sljedeće teme sadrže primjere izračuna salda zatvaranja i otvaranja. Primjeri vam omogućuju stvaranje funkcionalnih salda u različitim intervalima, kao što su dani, mjeseci, tromjesečja ili godine.

Usporedba vrijednosti tijekom vremena

Sljedeće teme sadrže primjere usporedbe zbroja u različitim vremenskim razdobljima. Zadana vremenska razdoblja koja PODRŽAVA DAX su mjeseci, tromjesečja i godine.

Izračun vrijednosti preko prilagođenog raspona datuma

Pogledajte sljedeće teme za primjere kako dohvatiti prilagođene datumske raspone, kao što su prvih 15 dana nakon početka promocije prodaje.

Ako za dohvaćanje prilagođenog skupa datuma koristite funkcije inteligencije vremena, taj skup datuma možete koristiti kao unos u funkciju koja izvodi izračune da biste stvorili prilagođene agregacije tijekom vremenskih razdoblja. Pogledajte sljedeću temu za primjer kako to učiniti:

  • Funkcija PARALLELPERIOD

    Napomena: Ako ne morate navesti prilagođeni raspon datuma, ali radite sa standardnim računovodstvenim jedinicama, kao što su mjeseci, tromjesečja ili godine, preporučujemo izvođenje izračuna pomoću funkcija inteligencije vremena osmišljenih u tu svrhu, kao što su TOTALQTD, TOTALMTD, TOTALQTD itd.

Scenariji: rangiranje i usporedba vrijednosti

Da biste prikazali samo prvi n broj stavki u stupcu ili zaokretnoj tablici, imate nekoliko mogućnosti:

  • Pomoću značajki u programu Excel možete stvoriti filtar Top. Možete odabrati i broj gornjih ili donjih vrijednosti u zaokretnoj tablici. U prvom dijelu ovog odjeljka opisuje se filtriranje prvih 10 stavki u zaokretnoj tablici. Dodatne informacije potražite u dokumentaciji programa Excel.

  • Možete stvoriti formulu koja dinamički rangi vrijednosti, a zatim filtrirati prema vrijednosti rangiranja ili koristiti vrijednost rangiranja kao rezač. U drugom dijelu ovog odjeljka opisuje se kako stvoriti ovu formulu, a zatim koristiti to rangiranje u rezaču.

Postoje prednosti i nedostaci za svaku metodu.

  • Filtar Excel Top jednostavan je za korištenje, ali filtar je isključivo u svrhu prikaza. Ako se podaci na kojima se temelji zaokretna tablica mijenjaju, morate ručno osvježiti zaokretnu tablicu da biste vidjeli promjene. Ako morate dinamički raditi s rangiranjem, pomoću DAX-a možete stvoriti formulu koja uspoređuje vrijednosti s drugim vrijednostima unutar stupca.

  • DAX formula je snažnija; Osim toga, dodavanjem vrijednosti rangiranja u rezač možete jednostavno kliknuti rezač da biste promijenili broj prikazanih najviših vrijednosti. No izračuni su računalno skupi i ta metoda možda nije prikladna za tablice s mnogo redaka.

Prikaz samo deset prvih stavki u zaokretnoj tablici

Prikaz gornjih ili donjih vrijednosti u zaokretnoj tablici

  1. U zaokretnoj tablici kliknite strelicu prema dolje u naslovu Oznake redaka .

  2. Odaberite Filtri vrijednosti> prvih 10.

  3. U dijaloškom okviru Filtar prvih 10 < stupca>dijaloškom okviru odaberite stupac koji želite rangirati, a broj vrijednosti na sljedeći način:

    1. Odaberite Vrh da biste vidjeli ćelije s najvećim vrijednostima ili Dno da biste vidjeli ćelije s najnižim vrijednostima.

    2. Upišite broj gornjih ili donjih vrijednosti koje želite vidjeti. Zadana je postavka 10.

    3. Odaberite način prikaza vrijednosti:

Naziv

Opis

Stavke

Tu mogućnost odaberite da biste filtrirali zaokretnu tablicu tako da se prema njihovim vrijednostima prikazuje samo popis gornjih ili donjih stavki.

Postotak

Tu mogućnost odaberite da biste filtrirali zaokretnu tablicu da bi se prikazale samo stavke koje se zbraju s navedenim postotkom.

Sum

Tu mogućnost odaberite da biste prikazali zbroj vrijednosti za gornje ili donje stavke.

  1. Odaberite stupac koji sadrži vrijednosti koje želite rangirati.

  2. Kliknite U redu.

Dinamički redoslijed stavki pomoću formule

Sljedeća tema sadrži primjer korištenja DAX-a za stvaranje rangiranja pohranjenog u izračunatom stupcu. Budući da se DAX formule izračunavaju dinamički, uvijek možete biti sigurni da je rangiranje točno čak i ako su se temeljni podaci promijenili. Osim toga, budući da se formula koristi u izračunatom stupcu, možete koristiti rangiranje u rezaču, a zatim odabrati prvih 5, prvih 10 ili čak 100 prvih vrijednosti.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.