Izrazi za analizu podataka (DAX) u dodatku Power Pivot
Applies ToExcel za Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Excel 2013

Izrazi za analizu podataka (DAX) zvuči pomalo zastrašujuće, ali nemojte da vas ime zavara. Osnove DAX-a vrlo su jednostavne za razumijevanje. Najprije – DAX NIJE programski jezik. DAX je jezik formule. POMOĆU DAX-a možete definirati prilagođene izračune za izračunate stupce i za mjere (poznate i kao izračunata polja). DAX sadrži neke funkcije koje se koriste u formulama programa Excel te dodatne funkcije osmišljene za rad s relacijskim podacima i izvođenje dinamičnog agregacije.

Razumijevanje DAX formula

DAX formule vrlo su slične formulama programa Excel. Da biste ga stvorili, upišite znak jednakosti, a zatim naziv funkcije ili izraz te sve potrebne vrijednosti ili argumente. Kao i Excel, DAX nudi razne 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 izračune želite prilagoditi za svaki redak po redak, DAX sadrži funkcije koje vam omogućuju korištenje trenutne vrijednosti retka ili povezane vrijednosti za izračune koji se razlikuju ovisno o kontekstu.

  • DAX sadrži vrstu funkcije koja vraća tablicu kao rezultat, a ne jednu vrijednost. Te se funkcije mogu koristiti za pružanje unosa drugim funkcijama.

  • Funkcije inteligencije vremena u DAX-u omogućuju izračune pomoću raspona datuma i uspoređuju rezultate u paralelnim razdobljima.

Gdje koristiti DAX formule

Formule možete stvoriti u Power Pivotu izračunatim stupcima ili u izračunatim stupcima.

Izračunati stupci

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

Formule u izračunatim stupcima slično su formulama koje stvorite u programu Excel. No za razliku od excela, ne možete stvoriti drugu formulu za različite retke u tablici; umjesto toga, DAX formula automatski se primjenjuje na cijeli stupac.

Kada stupac sadrži formulu, vrijednost se izračunava za svaki redak. Rezultati se izračunavaju za stupac čim stvorite formulu. Vrijednosti stupaca ponovno se izračunavaju samo ako se osvježavaju temeljni podaci ili ako se koristi ručni ponovni izračun.

Izračunate stupce možete stvoriti na temelju mjera i drugih izračunatih stupaca. No nemojte koristiti isti naziv za izračunati stupac i mjeru jer to može dovesti do zbunjujućih rezultata. Prilikom pozivanja na stupac najbolje je koristiti potpuno kvalificiranu referencu stupca da biste izbjegli slučajno pozivanje mjere.

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

Mjere

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

Kada definirate formulu za izričitu mjeru, ništa se ne događa dok mjeru ne dodate u zaokretnu tablicu. Kada dodate mjeru, formula se procjenjuje za svaku ćeliju u području Vrijednosti zaokretne tablice. Budući da je rezultat stvoren za svaku kombinaciju zaglavlja redaka i stupaca, rezultat mjere može se razlikovati u svakoj ćeliji.

Definicija mjere koju stvorite sprema se s njezinom izvorišnom podatkovnom tablicom. Prikazuje se na popisu Polja zaokretne tablice i dostupna je svim korisnicima radne knjige.

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

Stvaranje formula pomoću trake formule

Power Pivot, kao što je Excel, sadrži traku formule koja olakšava stvaranje i uređivanje formula te funkcije samodovršetka radi minimiziranja pogrešaka u tipkanju i sintaksi.

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

Unos naziva stupca   Upišite 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šetak.

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

Savjeti za korištenje samodovršetka

Samodovršetak formule možete koristiti u sredini postojeće formule s ugniježđenim funkcijama. Tekst neposredno prije točke unosa koristi se za prikaz vrijednosti na padajućem popisu, a sav tekst nakon točke unosa ostaje nepromijenjen.

Definirani nazivi koje stvorite za konstante ne prikazuju se na padajućem popisu Samodovršetak, ali ih svejedno možete upisati.

Power Pivot ne dodaje zatvorenu zagradu funkcija ili automatski odgovara zagradama. Provjerite je li svaka funkcija sintaktički točna ili ne možete spremiti ili koristiti formulu. 

Korištenje više funkcija u formuli

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

Mnoge DAX funkcije osmišljene su tako da se koriste isključivo kao ugniježđene funkcije. Te funkcije vraćaju tablicu koja se ne može izravno spremiti kao rezultat; treba biti unesen kao ulaz u funkciju tablice. Funkcije SUMX, AVERAGEX i MINX, primjerice, zahtijevaju tablicu kao prvi argument.

Napomena: Neka ograničenja ugnježđivanja funkcija postoje unutar mjera da bi se osiguralo da mnogi izračuni koji su potrebni zavisnosti među stupcima ne utječe na performanse.

Usporedba FUNKCIJA DAX i funkcija programa Excel

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

  • Mnoge DAX funkcije imaju isti naziv i isto opće ponašanje kao i funkcije programa Excel, ali su izmijenjene tako da koriste različite vrste unosa, a u nekim slučajevima mogu vratiti drugu vrstu podataka. Općenito, dax funkcije ne možete koristiti u formuli programa Excel ili koristiti formule programa Excel u Power Pivot bez neke izmjene.

  • DaX funkcije nikad ne koriste referencu ćelije ili raspon kao referencu, ali umjesto da dax funkcije zauzmu stupac ili tablicu kao referencu.

  • DaX funkcije datuma i vremena vraćaju vrstu podataka datetime. Nasuprot tome, funkcije datuma i vremena programa Excel vraćaju cijeli broj koji predstavlja datum kao serijski broj.

  • Mnoge nove DAX funkcije vraćaju tablicu vrijednosti ili izračunavaju na temelju tablice vrijednosti kao ulaz. Nasuprot tome, Excel ne sadrži funkcije koje vraćaju tablicu, ali neke funkcije mogu raditi s nizovima. Mogućnost jednostavnog referenciranja dovršavanja tablica i stupaca nova je značajka u Power Pivot.

  • DAX nudi nove funkcije pretraživanja koje su slične funkcijama polja i vektorskih pretraživanja u programu Excel. No funkcije DAX zahtijevaju da se između tablica uspostavi odnos.

  • Očekuje se da će podaci u stupcu uvijek biti iste vrste podataka. Ako podaci nisu iste vrste, DAX mijenja cijeli stupac u vrstu podataka koja najbolje odgovara svim vrijednostima.

VRSTE PODATAKA DAX

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

Vrsta podataka tablice nova je vrsta podataka u DAX-u koja se koristi kao ulaz ili izlaz za mnoge nove funkcije. Funkcija FILTER, primjerice, uzima tablicu kao ulaz i izlaze iz druge tablice koja sadrži samo retke koji ispunjavaju uvjete filtra. Kombiniranjem funkcija tablice s funkcijama zbrajanja možete izvoditi složene izračune u dinamički definiranim skupovima podataka. Dodatne informacije potražite u članku Zbrajanje u dodatku Power Pivot.

Formule i relacijski model

Prozor Power Pivot područje je u kojem možete raditi s više tablica podataka i povezati tablice u relacijskim modelima. U tom su podatkovnom modelu tablice 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 zbraju vrijednosti za povezanu tablicu, a zatim spremiti tu vrijednost u jednu ćeliju. Ili, da biste upravljali recima 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 pomoću odnosa, zaokretne tablice mogu obuhvaćati i podatke iz više stupaca iz različitih tablica.

No budući da formule mogu raditi s cijelim tablicama i stupcima, izračune morate dizajnirati drugač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 Power Pivot moraju uvijek imati isti broj stupaca u svakom retku, a svi reci u stupcu moraju sadržavati istu vrstu podataka.

  • Kada su tablice povezane odnosom, od vas se očekuje da provjerite imaju li dva stupca koji se koriste kao ključevi vrijednosti koje se s većinom podudaraju. Budući Power Pivot ne nameće referencijalni integritet, u stupcu ključa moguće je imati vrijednosti koje se ne podudaraju i svejedno stvoriti odnos. No prisutnost praznih vrijednosti ili vrijednosti koje se ne podudaraju mogu utjecati na rezultate formula i izgled zaokretnih tablica. Dodatne informacije potražite u članku Pretraživanja u formulama dodatka Power Pivot.

  • Kada povežete tablice pomoću odnosa, povećavate opseg ili ctekst u kojem se izračunavaju formule. Na formule u zaokretnoj tablici, primjerice, mogu utjecati filtri ili zaglavlja stupaca i redaka u zaokretnoj tablici. Možete pisati formule koje manipuliraju kontekstom, ali kontekst može uzrokovati promjenu rezultata na načine koje možda ne očekujete. Dodatne informacije potražite u članku Kontekst u DAX formulama.

Ažuriranje rezultata formula

R efresh i ponovni izračun podataka su dvije zasebne, ali povezane operacije koje biste trebali razumjeti prilikom dizajniranja podatkovnog modela 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žiti u intervalima koje navedete. Ako ste radnu knjigu objavili na web-mjestu sustava SharePoint, možete zakazati automatsko osvježavanje iz vanjskih izvora.

Ponovni izračun postupak je ažuriranja rezultata formula da bi odražavao sve promjene same formule i odražavao te promjene u temeljnim podacima. Ponovni izračun može utjecati na performanse na sljedeće načine:

  • Za izračunati stupac rezultat formule uvijek se treba ponovno izračunavati za cijeli stupac svaki put kada promijenite formulu.

  • Za mjeru se rezultati formule ne izračunavaju dok se mjera ne stavi u kontekst zaokretne tablice ili zaokretnog grafikona. Formula će se ponovno izračunati i kada promijenite bilo koji 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 prikazuje pogreška, formula može sadržavati sintaktičku pogrešku,semantičku pogrešku ili pogrešku izračuna.

Sintaktička pogreška najjednostavnije je riješiti. Obično obuhvaćaju zagradu koja nedostaje ili zarez. Pomoć za sintaksu pojedinačnih funkcija potražite u članku Referenca funkcije DAX.

Druga vrsta pogreške pojavljuje se kada je sintaksa točna, ali vrijednost ili stupac na koji se poziva nema smisla u kontekstu formule. Takve semantike i pogreške u izračunu mogu uzrokovati neki od sljedećih problema:

  • Formula se odnosi na nepostojećim stupcem, tablicom ili funkcijom.

  • Čini se da je formula ispravna, ali kada podatkovni modul dohvati podatke za koje pronađe nepodudaranje vrsta i pojavi pogrešku.

  • Formula funkciji prosljeđuje netočan broj ili vrstu parametara.

  • Formula se odnosi na drugi stupac s pogreškom i stoga njezine vrijednosti nisu valjane.

  • Formula se odnosi na stupac koji nije obrađen, što znači da sadrži metapodatke, ali nema stvarnih podataka za korištenje 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 zasivljen je stupac da bi naznačio da je stupac u neobrađeno stanju.

Netočni ili neobični rezultati prilikom rangiranja ili redoslijeda vrijednosti stupaca

Prilikom rangiranja ili naručivanja stupca koji sadrži vrijednost NaN (nije broj), možda ćete dobiti pogrešne ili neočekivane rezultate. Na primjer, kada izračun dijeli 0 s 0, vraća se rezultat naN.

To je zato što modul formule izvršava redoslijed i rangiranje usporedbom brojčanih vrijednosti; no NaN se ne može usporediti s drugim brojevima u stupcu.

Da biste osigurali točan rezultat, pomoću funkcije IF možete koristiti uvjetne naredbe za testiranje vrijednosti naN i vraćanje brojčane vrijednosti 0.

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

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

  • Neke DAX formule mogu vratiti različite rezultate ako model implementiste u načinu directquery.

  • Neke formule mogu uzrokovati pogreške prilikom provjere valjanosti prilikom implementacije modela u način DirectQuery jer formula sadrži funkciju DAX koja nije podržana u odnosu na relacijski izvor podataka.

Dodatne informacije potražite u članku Dokumentacija za tablično modeliranje komponente Analysis Services SQL Server 2012 BooksOnline.

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.