DAX scenariji u dodatku Power Pivot

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

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

  • Složeni izračuni
  • 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 centar za resurse za DAX na kojem možete pronaći razne informacije o programu DAX, uključujući blogove, uzorke, studiju i videozapise vodećih stručnjaka u industriji i Microsofta.

Scenariji: složeni izračuni

DAX formule mogu izvoditi složene izračune koji obuhvaćaju prilagođene agregacije, filtriranje i korištenje uvjetnih vrijednosti. U ovom se odjeljku navode primjeri za početak rada s prilagođenim izračunima.

Stvaranje prilagođenih izračuna za zaokretnu tablicu

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

Primjena filtra na formulu

Na većini mjesta gdje DAX funkcija uzima tablicu kao argument, obično možete proslijediti filtriranu tablicu, bilo korištenjem funkcije FILTER umjesto naziva tablice ili navođenjem izraza filtra kao jednog od argumenata funkcije. U sljedećim se temama navode 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 navođenje kriterija filtriranja pomoću izraza, dok su druge funkcije dizajnirane isključivo za filtriranje praznih vrijednosti.

Selektivno uklanjanje filtara radi stvaranja dinamičnog omjera

Stvaranjem dinamičkih filtara u formulama možete jednostavno odgovoriti na sljedeća pitanja:

  • Koji je bio doprinos prodaje trenutnog proizvoda ukupnoj prodaji tijekom godine?
  • Koliko je ova divizija pridonijela ukupnoj dobiti za sve poslovne godine u usporedbi s drugim odjelima?

Na formule koje koristite u zaokretnoj tablici može utjecati kontekst zaokretne tablice, no možete ga selektivno promijeniti dodavanjem ili uklanjanjem filtara. U primjeru u temi SVE prikazano je kako to učiniti. Da biste saznali omjer prodaje određenog prodavača i prodaje svih prodavača, stvorite mjeru koja izračunava vrijednost za trenutni kontekst podijeljenu s vrijednošću za kontekst ALL.

Tema ALLEXCEPT nudi primjer selektivnog čišćenja filtara u formuli. Oba primjera provest će vas kroz način na koji se rezultati mijenjaju ovisno o dizajnu zaokretne tablice.

Druge primjere izračuna omjera i postotaka potražite u sljedećim člancima:

Korištenje vrijednosti iz vanjske petlje

Osim korištenja vrijednosti iz trenutnog konteksta u izračunima, DAX može koristiti vrijednost iz prethodne petlje pri stvaranju skupa povezanih izračuna. Sljedeća tema sadrži vodič za sastavljanje formule koja se poziva na vrijednost iz vanjske petlje. Funkcija EARLIER podržava do dvije razine ugniježđenih petlji.

Dodatne informacije o kontekstu retka i povezanim tablicama te upute za korištenje tog koncepta u formulama potražite u kontekstu u DAX formulama.

Scenariji: rad s tekstom i datumima

U ovom se odjeljku nalaze veze na teme za DAX 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 prema povezivanju

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

Sastavljanje datuma na temelju dijelova datuma izdvojenih iz tekstnog datuma

Power Pivot za rad s datumima koristi vrstu podataka datuma/vremena sustava SQL Server Prema tome, ako vanjski podaci sadrže datume koji su drugačije oblikovani, primjerice, ako su datumi zapisani u regionalnom obliku datuma koji podatkovni modul dodatka Power Pivot ne prepoznaje, ili ako podaci koriste cjelobrojne zamjenske ključeve, možda ćete morati pomoću DAX formule izdvojiti dijelove datuma i vremena te dijelove sastaviti u valjani prikaz datuma/vremena.

Ako, na primjer, imate stupac s datumima koji su predstavljeni kao cijeli brojevi, a zatim su 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 su temama navedene dodatne informacije o funkcijama koje služe 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 oblika teksta u sustavu Windows, možete definirati prilagođeni oblik da biste bili sigurni da se vrijednostima pravilno rukuje. Ti se oblici koriste prilikom pretvaranja vrijednosti u nizove ili iz nizova. U sljedećim je člancima naveden i detaljan popis unaprijed definiranih oblika dostupnih za rad s datumima i brojevima.

Promjena vrsta podataka pomoću formule

U dodatku Power Pivot vrstu podataka izlaza određuju izvorni stupci i ne možete izričito navesti vrstu podataka rezultata jer optimalnu vrstu podataka određuje Power Pivot. No za manipulaciju vrstom izlaznih podataka možete koristiti implicitne pretvorbe vrste podataka koje izvršava Power Pivot. 

  • Da biste pretvorili datum ili niz brojeva u broj, pomnožite ih s 1,0. Sljedeća formula, primjerice, izračunava trenutni datum minus tri dana, a zatim vraća odgovarajući cjelobrojnu vrijednost.
    =(TODAY()-3)*1,0
  • Da biste pretvorili datum, broj ili valutu u niz, spojite vrijednost s praznim nizom. Sljedeća formula, primjerice, vraća današnji datum kao niz.
    =""& TODAY()

Da bi se osiguralo vraćanje određene vrste podataka, mogu se koristiti i sljedeće funkcije:

Pretvaranje realnih brojeva u cijele brojeve

Scenarij: uvjetne vrijednosti i testiranje pogrešaka

Kao i Excel, DAX ima funkcije koje omogućuju testiranje vrijednosti u podacima i vraćanje različitih vrijednosti na temelju uvjeta. Mogli biste, primjerice, stvoriti izračunati stupac koji označava prodavače kao Preferirano ili Vrijednost , ovisno o godišnjem iznosu prodaje. Funkcije koje testiraju vrijednosti korisne su i za provjeru raspona ili vrste vrijednosti da bi se spriječilo da neočekivane pogreške podataka dovedu do pogrešnih izračuna.

Stvaranje vrijednosti na temelju uvjeta

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

Testiranje pogrešaka u formuli

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

Ako, primjerice, stvorite formulu koja dijeli s nulom, možda će vam se prikazati rezultat beskonačnosti ili pogreška. Neke formule neće uspjeti ni ako funkcija naiđe na praznu vrijednost kada očekuje brojčanu vrijednost. Tijekom razvoja podatkovnog modela najbolje je dopustiti pojavu pogrešaka da biste mogli kliknuti poruku i riješiti problem. No kada objavljujete radne knjige, trebali biste uvrstiti obradu pogrešaka da biste spriječili neuspjeh izračuna u neočekivanim vrijednostima.

Da biste izbjegli vraćanje pogrešaka u izračunatom stupcu, koristite kombinaciju logičkih i informacijskih funkcija za provjeru pogrešaka i uvijek vraćate valjane vrijednosti. Sljedeće teme sadrže nekoliko jednostavnih primjera kako to učiniti u jeziku DAX:

Scenariji: korištenje inteligencije vremena

DAX funkcije inteligencije vremena obuhvaćaju funkcije koje pomažu u dohvaćanju datuma ili raspona datuma iz podataka. Te datume ili raspone datuma zatim možete koristiti za izračun vrijednosti za slična razdoblja. Funkcije inteligencije vremena sadrže i funkcije koje rade sa standardnim intervalima datuma te omogućuju usporedbu vrijednosti kroz mjesece, godine ili tromjesečja. Možete stvoriti i formulu koja uspoređuje vrijednosti prvog i posljednjeg datuma navedenog razdoblja.

Popis svih funkcija inteligencije vremena potražite u članku Funkcije inteligencije vremena (DAX). Savjete o učinkovitom korištenju datuma i vremena u analizi dodatka Power Pivot potražite u članku Datumi u dodatku Power Pivot.

Izračun kumulativne prodaje

Sljedeće teme sadrže primjere izračuna završnog i početnog salda. Primjeri vam omogućuju stvaranje tekućih salda za različite intervale, kao što su dani, mjeseci, tromjesečja ili godine.

Usporedba vrijednosti tijekom vremena

Sljedeće teme sadrže primjere načina usporedbe zbrojeva u različitim vremenskim razdobljima. Zadana vremenska razdoblja koja podržava DAX su mjeseci, tromjesečja i godine.

Izračun vrijednosti tijekom prilagođenog raspona datuma

Primjere dohvaćanja prilagođenih raspona datuma, npr. prvih 15 dana nakon početka promidžbe prodaje, potražite u sljedećim temama.

Ako koristite funkcije inteligencije vremena za dohvaćanje prilagođenog skupa datuma, taj skup datuma možete koristiti kao ulaz za funkciju koja izvodi izračune da biste stvorili prilagođene zbrajanja za vremenska razdoblja. Primjer tog postupka potražite u sljedećoj temi:

  • Funkcija PARALLELPERIOD

    Napomena

    Ako ne morate odrediti prilagođeni raspon datuma, ali radite sa standardnim računovodstvenim jedinicama kao što su mjeseci, tromjesečja ili godine, preporučujemo da izračune obavljate pomoću funkcija inteligencije vremena koje su dizajnirane za tu svrhu, kao što su TOTALQTD, TOTALMTD, TOTALQTD itd.

Scenariji: rangiranje i usporedba vrijednosti

Da bi se prikazao samo n najviši broj stavki u stupcu ili zaokretnoj tablici, imate nekoliko mogućnosti:

  • Pomoću značajki u programu Excel možete stvoriti gornji filtar. Možete odabrati i više najvećih ili najmanjih 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 rangira vrijednosti, a zatim filtrirati prema vrijednostima rangiranja ili koristiti vrijednost rangiranja kao rezač. U drugom dijelu ovog odjeljka opisuje se kako stvoriti formulu i zatim koristiti taj položaj u rezaču.

Svaka metoda ima prednosti i nedostatke.

  • Filtar Vrh programa Excel jednostavan je za korištenje, no služi samo za prikaz. Ako se podaci na kojima se temelji zaokretna tablica promijene, morate ručno osvježiti zaokretnu tablicu da biste vidjeli promjene. Ako želite dinamično raditi s rangiranjem, pomoću jezika DAX možete stvoriti formulu koja uspoređuje vrijednosti s drugim vrijednostima unutar stupca.
  • DAX formula je snažnija; štoviše, dodavanjem vrijednosti rangiranja u rezač, možete jednostavno kliknuti rezač da biste promijenili broj prikazanih najviših vrijednosti. Međutim, izračuni su računski skupi i ova metoda možda nije prikladna za tablice s mnogo redaka.

Prikaz samo prvih deset stavki u zaokretnoj tablici

Prikaz najvećih ili najmanjih vrijednosti u zaokretnoj tablici
  1. U zaokretnoj tablici kliknite strelicu prema dolje u naslovu Oznake redaka .
  2. Odabir prvih10filtara> vrijednosti.
  3. U dijaloškom okviru Prvih 10 filtara <naziva> stupca odaberite stupac koji želite rangirati i 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 najmanjim vrijednostima.
    2. Unesite broj najviših ili najmanjih vrijednosti koje želite vidjeti. Zadana je postavka 10.
    3. Odaberite način prikaza vrijednosti:
NameDescriptionItemsOdaberite ovu mogućnost da biste filtrirali zaokretnu tablicu radi prikaza samo popisa prvih ili najnižih stavki prema njihovim vrijednostima. PostotakOdaberite ovu mogućnost da biste filtrirali zaokretnu tablicu tako da prikazuje samo stavke čiji zbroj odgovara navedenom postotku. SumOdaberite tu mogućnost da biste prikazali zbroj vrijednosti za najviše ili najniže stavke.
  1. Odaberite stupac koji sadrži vrijednosti koje želite rangirati.
  2. Kliknite U redu.

Dinamično redoslijed stavki pomoću formule

Sljedeća tema sadrži primjer korištenja jezika DAX radi stvaranja 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 se temeljni podaci promijenili. Budući da se formula koristi u izračunatom stupcu, možete koristiti rangiranje u rezaču, a zatim odabrati 5 najvećih, 10 najvećih ili čak 100 najvećih vrijednosti.