Izrazi za analizu podataka (DAX) u dodatku Power Pivot

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

Izrazi za analizu podataka (DAX) na prvi pogled zvuči pomalo zastrašujuće, ali nemojte dopustiti da vas naziv zavara. Osnove DAX-a zaista je vrlo lako razumjeti. Prvo - DAX NIJE programski jezik. DAX je jezik za formule. DAX možete koristiti za definiranje prilagođenih izračuna za izračunate stupce i mjere (poznate i pod nazivom izračunata polja). DAX obuhvaća neke od funkcija koje se koriste u formulama programa Excel te dodatne funkcije namijenjene radu s relacijskim podacima i dinamičkom agregaciju.

Objašnjenje DAX formula

DAX formule vrlo su slične formulama programa Excel. Da biste je stvorili, upišite znak jednakosti, nakon čega slijedi naziv ili izraz funkcije i sve potrebne vrijednosti ili argumenti. Kao i Excel, DAX sadrži brojne funkcije koje možete koristiti za rad s nizovima, izračune pomoću datuma i vremena ili stvaranje uvjetnih vrijednosti.

No DAX formule razlikuju se na sljedeće važne načine:

  • Ako želite prilagođavati izračune redak po redak, DAX obuhvaća funkcije koje omogućuju korištenje trenutne vrijednosti retka ili povezane vrijednosti za izračune koji ovise o kontekstu.
  • DAX obuhvaća vrstu funkcije koja vraća tablicu kao rezultat, a ne jednu vrijednost. Te se funkcije mogu koristiti za pružanje ulaznih podataka drugim funkcijama.
  • Funkcije inteligencije vremenau jeziku DAX omogućuju izračune pomoću raspona datuma i usporedbu rezultata u paralelnim razdobljima.

Korištenje DAX formula

U dodatku Power Pivot formule se mogu stvarati u izračunatim stupcima ili u izračunatim poljima.

Izračunati stupci

Izračunati je stupac onaj koji dodajete u postojeću tablicu dodatka Power Pivot. Umjesto lijepljenja ili uvoza vrijednosti u stupac, stvarate DAX formulu koja definira vrijednosti stupca. Ako u zaokretnu tablicu (ili zaokretni grafikon) uvrstite tablicu dodatka Power Pivot, izračunati stupac možete koristiti kao i bilo koji drugi stupac podataka.

Formule u izračunatim stupcima vrlo su slične formulama koje stvarate u programu Excel. No za razliku od programa Excel, za različite retke u tablici ne možete stvoriti drugačiju formulu. umjesto toga, DAX formula automatski se primjenjuje na cijeli stupac.

Kada stupac sadrži formulu, ona se izračunava za svaki redak. Rezultati se za stupac izračunavaju čim stvorite formulu. Vrijednosti stupca ponovno se izračunavaju samo ako se osvježavaju temeljni podaci ili ako se koristi ručno ponovno izračunavanje.

Možete stvoriti izračunate stupce koji se temelje na mjerama i drugim izračunatim stupcima. No izbjegavajte korištenje istog naziva za izračunati stupac i mjeru jer to može zbuniti rezultate. Kada se pozivate na stupac, najbolje je koristiti punu referencu stupca da biste izbjegli slučajno pozivanje mjere.

Detaljne informacije potražite u članku Izračunati stupci u dodatku Power Pivot.

Mjere

Mjera je formula stvorena posebno za korištenje u zaokretnoj tablici (ili zaokretnom grafikonu) koja koristi podatke dodatka Power Pivot. Mjere se mogu temeljiti na standardnim agregacijskim funkcijama, kao što su COUNT ili SUM, ili možete definirati vlastitu formulu pomoću jezika DAX. U području Vrijednosti zaokretne tablice koristi se mjera. Ako izračunate rezultate želite smjestiti u drugo područje zaokretne tablice, koristite izračunati stupac.

Kada definirate formulu za eksplicitnu mjeru, ništa se ne događa dok mjeru ne dodate u zaokretnu tablicu. Kada dodate mjeru, formula se izračunava za svaku ćeliju u području Vrijednosti zaokretne tablice. Budući da se za svaku kombinaciju zaglavlja redaka i stupaca stvara rezultat, rezultat za mjeru može biti različit u svakoj ćeliji.

Definicija mjere koju stvorite sprema se s tablicom izvorišnih podataka. Prikazuje se na popisu polja zaokretne tablice i dostupan je svim korisnicima radne knjige.

Detaljne informacije potražite u članku Mjere u dodatku Power Pivot.

Stvaranje formula pomoću trake formule

Power Pivot, kao i Excel, sadrži traku formule koja olakšava stvaranje i uređivanje formula te funkciju samodovršetka koja minimizira pogreške sintakse i upisivanja.

Unos naziva tablice Počnite upisivati naziv tablice. Samodovršetak formule nudi padajući popis koji sadrži valjane nazive koji počinju tim slovima.

Unos naziva stupca Upišite uglatu zagradu, a zatim odaberite stupac s popisa stupaca u trenutnoj tablici. Za stupac iz druge tablice počnite upisivati prva slova naziva tablice, a zatim odaberite stupac s padajućeg popisa samodovršetka.

Dodatne pojedinosti i upute za sastavljanje formula potražite u članku Stvaranje formula za izračune u dodatku Power Pivot.

Savjeti za korištenje značajke samodovršetka

Samodovršavanje formule možete koristiti usred postojeće formule s ugniježđenim funkcijama. Tekst neposredno ispred točke unosa koristi se za prikaz vrijednosti na padajućem popisu, a cijeli tekst iza točke unosa ostaje nepromijenjen.

Definirani nazivi koje stvorite za konstante neće se prikazivati na padajućem popisu samodovršetka, ali ih i dalje možete upisivati.

Power Pivot ne dodaje zatvorene zagrade funkcija niti ih automatski usklađuje. Provjerite jesu li sve funkcije sintaktički ispravne jer formulu ne možete spremiti ni koristiti. 

Korištenje više funkcija u formuli

Funkcije možete ugnijezditi, što znači da rezultate jedne funkcije koristite kao argument druge funkcije. U izračunate stupce možete ugnijezditi do 64 razine funkcija. No ugnježđivanje može otežati stvaranje formula i otklanjanje poteškoća s njima.

Mnoge DAX funkcije namijenjene su korištenju isključivo kao ugniježđene funkcije. Ove funkcije vraćaju tablicu, koja se zbog toga ne može izravno spremiti; Potrebno ga je navesti kao ulaz za funkciju tablice. Primjerice, funkcije SUMX, AVERAGEX i MINX kao prvi argument zahtijevaju tablicu.

Napomena

Unutar mjera postoje određena ograničenja za ugnježđivanje funkcija da bi se osiguralo da na performanse ne utječu brojni izračuni koje zahtijevaju ovisnosti stupaca.

Usporedba DAX funkcija i funkcija programa Excel

Biblioteka DAX funkcija temelji se na biblioteci funkcija programa Excel, ali biblioteke sadrže mnogo razlika. U ovom su odjeljku navedene razlike i sličnosti između funkcija programa Excel i DAX.

  • Mnoge DAX funkcije imaju isti naziv i općenito isto ponašanje kao i funkcije programa Excel, ali su izmijenjene tako da primaju različite vrste ulaznih podataka te u nekim slučajevima mogu vratiti drugačiju vrstu podataka. Obično ne možete koristiti DAX funkcije u formulama programa Excel ili koristiti formule programa Excel u dodatku Power Pivot bez nekih izmjena.
  • DAX funkcije nikad ne uzimaju referencu ćelije ili raspon kao referencu, već umjesto toga DAX funkcije kao referencu uzimaju stupac ili tablicu.
  • DAX funkcije datuma i vremena vraćaju vrstu podataka date/time. S druge strane, funkcije datuma i vremena u programu Excel vraćaju cijeli broj koji predstavlja datum kao serijski broj.
  • Mnoge nove DAX funkcije vraćaju tablicu vrijednosti ili izvode izračune na temelju tablice vrijednosti kao ulaznih podataka. S druge strane, Excel nema funkcija koje vraćaju tablicu, no neke funkcije mogu funkcionirati samo s poljima. Mogućnost jednostavnog pozivanja na cijele tablice i stupce nova je značajka u dodatku Power Pivot.
  • DAX sadrži nove funkcije pretraživanja koje su slične funkcijama polja i vektorskog traženja u programu Excel. No za DAX funkcije potrebno je uspostaviti odnos između tablica.
  • Očekuje se da će podaci u stupcu uvijek biti iste vrste. Ako podaci nisu iste vrste, DAX mijenja cijeli stupac u vrstu podataka koja najbolje odgovara svim vrijednostima.

Vrste DAX podataka

Podatke u podatkovni model dodatka Power Pivot možete uvesti iz mnogo različitih izvora podataka koji mogu podržavati različite vrste podataka. Kada uvozite ili učitavate podatke, a zatim ih koristite u izračunima ili u zaokretnim tablicama, podaci se pretvaraju u jednu od vrsta podataka dodatka Power Pivot. Popis vrsta podataka potražite u članku Vrste podataka u podatkovnim modelima.

Vrsta podataka tablica nova je vrsta podataka u jeziku DAX koja se koristi kao ulaz ili izlaz za mnoge nove funkcije. Funkcija FILTER, primjerice, uzima tablicu kao ulaz, a izlaz iz druge tablice koja sadrži samo retke koji zadovoljavaju uvjete filtra. Kombiniranjem tabličnih i agregacijskih funkcija možete izvoditi složene izračune na dinamički definiranim skupovima podataka. Dodatne informacije potražite u članku Agregacije u dodatku Power Pivot.

Formule i relacijski model

Prozor Power Pivot područje je u kojem možete raditi s više tablica s podacima i povezati tablice u relacijskom modelu. Unutar tog podatkovnog modela tablice su međusobno povezane odnosima, što vam omogućuje stvaranje korelacije sa stupcima u drugim tablicama i stvaranje zanimljivijih izračuna. Možete, primjerice, stvoriti formule koje zbrajaju vrijednosti povezane tablice, a zatim tu vrijednost spremiti u jednu ćeliju. Ili, da biste kontrolirali retke iz povezane tablice, možete primijeniti filtre na tablice i stupce. Dodatne informacije potražite u članku Odnosi između tablica u podatkovnom modelu.

Budući da tablice možete povezati putem odnosa, zaokretne tablice mogu obuhvaćati i podatke iz više stupaca koji su iz različitih tablica.

No budući da formule mogu funkcionirati s cijelim tablicama i stupcima, izračune morate dizajnirati drukčije nego u programu Excel.

  • Općenito govoreći, DAX formula u stupcu uvijek se primjenjuje na cijeli skup vrijednosti u stupcu (nikad na samo nekoliko redaka ili ćelija).
  • Tablice u dodatku Power Pivot u svakom retku moraju uvijek imati jednak broj stupaca, a svi reci u stupcu moraju sadržavati istu vrstu podataka.
  • Kada su tablice povezane odnosom, od vas se očekuje da provjerite jesu li dva stupca koja se koriste kao ključevi uglavnom imala podudarne vrijednosti. Budući da Power Pivot ne nameće referencijalni integritet, moguće je imati nepodudarne vrijednosti u stupcu ključa, a ipak stvoriti odnos. No prisutnost praznih ili nepodudarnih vrijednosti može utjecati na rezultate formula i izgled zaokretnih tablica. Dodatne informacije potražite u članku Dohvaćanje vrijednosti u formulama dodatka Power Pivot.
  • Kada povezujete tablice pomoću odnosa, povećavate opseg ili kontekst u kojem se formule procjenjuju. Na formule u zaokretnoj tablici, primjerice, mogu utjecati filtri ili zaglavlja stupaca i redaka u zaokretnoj tablici. Možete pisati formule koje upravljaju kontekstom, ali kontekst može uzrokovati i promjenu rezultata na načine koje možda ne biste očekivali. Dodatne informacije potražite u odjeljku Kontekst u DAX formulama.

Ažuriranje rezultata formula

Osvježavanje i ponovni izračun podataka dvije su zasebne, ali povezane operacije koje biste trebali imati na umu kada dizajnirate podatkovni model koji sadrži složene formule, velike količine podataka ili podatke dobivene iz vanjskih izvora podataka.

Osvježavanje podataka postupak je ažuriranja podataka u radnoj knjizi novim podacima iz vanjskog izvora podataka. Podatke možete ručno osvježavati u navedenim vremenskim razmacima. Ako ste pak radnu knjigu objavili na web-mjestu sustava SharePoint, možete zakazati automatsko osvježavanje iz vanjskih izvora.

Ponovni izračun je postupak ažuriranja rezultata formula radi odražavanja svih promjena samih formula te u temeljnim podacima. Ponovni izračun može utjecati na performanse na sljedeće načine:

  • U slučaju izračunatog stupca rezultat formule uvijek se mora ponovno izračunavati za cijeli stupac, kad god promijenite formulu.
  • Za mjeru se rezultati formule ne izračunavaju dok mjeru ne smjestite u kontekst zaokretne tablice ili zaokretnog grafikona. Formula će se ponovno izračunati i kada promijenite naslov retka ili stupca koji utječe na filtre na podacima ili kada ručno osvježite zaokretnu tablicu.

Otklanjanje poteškoća s formulama

Pogreške prilikom pisanja formula

Ako se prilikom definiranja formule pojavi pogreška, formula može sadržavati sintaktičku pogrešku, semantičku pogrešku ili pogrešku izračuna.

Sintaktičke pogreške najlakše je riješiti. Obično uključuju nedostajuću zagradu ili zarez. Pomoć za sintaksu pojedinih funkcija potražite u referenci za DAX funkcije.

Druga se vrsta pogreške pojavljuje kada je sintaksa ispravna, ali vrijednost ili stupac na koji se poziva nema smisla u kontekstu formule. Takve semantičke pogreške i pogreške u izračunima može uzrokovati bilo koji od sljedećih problema:

  • Formula se odnosi na nepostojeći stupac, tablicu ili funkciju.
  • Formula se čini točnom, ali kada modul za dohvaćanje podataka dohvaća podatke, pronalazi nepodudaranje vrste i javlja pogrešku.
  • Formula funkciji prosljeđuje pogrešan broj ili vrstu parametara.
  • Formula upućuje na drugi stupac koji sadrži pogrešku te stoga njegove vrijednosti nisu valjane.
  • Formula se odnosi na stupac koji nije obrađen, što znači da sadrži metapodatke, ali ne i stvarne podatke koje bi koristio za izračune.

U prva četiri slučaja DAX označava cijeli stupac koji sadrži formulu koja nije valjana. U posljednjem slučaju DAX zasivljuje stupac da bi se pokazalo da je stupac u neobrađenom stanju.

Netočni ili neuobičajeni rezultati prilikom rangiranja ili slaganja vrijednosti stupaca

Prilikom rangiranja ili slaganja stupca koji sadrži vrijednost NaN (nije broj) mogli biste dobiti pogrešne ili neočekivane rezultate. Kada, primjerice, izračun dijeli 0 s 0, vraća se NaN rezultat.

To je zato što modul za formule redoslijed i rangiranje obavlja usporedbom numeričkih vrijednosti. No, NaN se ne može usporediti s drugim brojevima u stupcu.

Da biste bili sigurni da su rezultati točni, pomoću uvjetnih naredbi pomoću funkcije IF možete testirati NaN vrijednosti i vratiti brojčanu vrijednost 0.

Kompatibilnost s tabličnim modelima komponente Analysis Services i načinom rada DirectQuery

Općenito govoreći, DAX formule koje ugrađujete u Power Pivot potpuno su kompatibilne s tabličnim modelima komponente Analysis Services. No ako model dodatka Power Pivot migrirate u instancu komponente Analysis Services, a zatim implementirate model u načinu rada DirectQuery, postoje neka ograničenja.

  • Neke DAX formule mogu vratiti drugačije rezultate ako model implementirate u načinu rada DirectQuery.
  • Neke formule mogu uzrokovati pogreške provjere valjanosti prilikom implementacije modela u načinu rada DirectQuery jer formula sadrži DAX funkciju koja nije podržana u odnosu na relacijski izvor podataka.

Dodatne informacije potražite u dokumentaciji o tabličnom modeliranju komponente Analysis Services u sustavu SQL Server 2012 BooksOnline.