Formule Data Analysis Expressions (DAX) u dodatku Power Pivot

Formule Data Analysis Expressions (DAX) u dodatku Power Pivot

Napomena:  Želimo da vam što pre pružimo najnoviji sadržaj pomoći čim na vašem jeziku. Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li nam na dnu ove stranice saopštiti da li su vam informacije bile od koristi? Ovo je članak na engleskom jeziku za brzu referencu.

Data Analysis Expressions (DAX) zvuči zastraљujuжe u početku, ali ne dajte ime obmane. DAX osnove su lako da razumeju. Prva stvar koju prvo - DAX nije programskom jeziku. DAX je formule jezik. DAX možete da koristite da biste definisali prilagođenih izračunavanja za Izračunate kolone i mere (poznat i kao izračunata polja). DAX obuhvata neke od funkcija koje se koriste u formulama u programu Excel i dodatne funkcije dizajniran za rad sa relacionih podataka i obavlja dinamičke agregaciju.

Razumevanje DAX formula

DAX formule su veoma slične Excel formulama. Da biste napravili DAX formulu, morate da unesete znak jednakosti, a zatim ime funkcije ili izraz, kao i sve potrebne vrednosti ili argumente. Kao i Excel, DAX pruža različite funkcije koje možete da koristite za rad sa niskama, da obavljate izračunavanja pomoću datuma i vremena ili da kreirate uslovne vrednosti.

Međutim, DAX formule se razlikuju na nekoliko važnih načina:

  • Ako želite da prilagodite izračunavanja za svaki red posebno, DAX uključuje funkcije koje omogućavaju da koristite trenutnu vrednost reda ili povezanu vrednost da biste obavljali izračunavanja koja se razlikuju prema kontekstu.

  • DAX uključuje tip funkcije koji kao rezultat vraća tabelu, a ne jednu vrednost. Ove funkcije mogu da se koriste kao izvor podataka za druge funkcije.

  • Funkcije vremenske inteligencijeu DAX dozvoljavaju izračunavanja korišćenjem opsega datuma i porede rezultate za nekoliko paralelnih perioda.

Upotreba DAX formula

Možete da kreirate formule u Power Pivot u izračunatoj columns ili izračunate fields.

Izračunate kolone

Izračunata kolona predstavlja kolonu koju možete da dodate u postojeću Power Pivot tabelu. Umesto da nalepljujete ili uvozite vrednosti u kolonu, kreirate DAX formulu koja definiše vrednosti kolone. Ako Power Pivot tabelu uključite u izvedenu tabelu (ili izvedeni grafikon), izračunatu kolonu možete da koristite kao bilo koju drugu kolonu sa podacima.

Formule u izračunatim kolonama su nalik na formule koje kreirate u programu Excel. Za razliku od programa Excel, ne možete da kreirate različite formule za različite redove u tabeli, umesto toga se automatski primenjuje DAX formula na celu kolonu.

Kada kolona sadrži formulu, vrednost se izračunava za svaki red. Rezultati se izračunavaju za kolone čim kreirate formulu. Vrednosti formule se ponovo izračunavaju ako se osnovni podaci osvežavaju ili ako se koristi ručno ponovno izračunavanje.

Možete da kreirate izračunate kolone koji su zasnovani na mere i druge izračunate kolone. Međutim, Izbegavajte korišćenje isto ime za izračunate kolone i mere, kao to može dovesti do zbunjuje rezultate. Kada se odnosi na kolonu, najbolje je da koristite referencu potpuno određena kolona da biste izbegli slučajno pozivanje meru.

Za detaljnije informacije potražite u članku Izračunate kolone u programskom dodatku PowerPivot.

Mera

Mera je formula koja je kreirala posebno za upotrebu u izvedene tabele (ili izvedenog grafikona) koja koristi Power Pivot podataka. Mere mogu biti zasnovana na standardne agregatne funkcije, kao što su broj ili zbir, ili možete da definišete sopstvene formule pomoću DAX. Mera se koristi u oblasti vrednosti izvedene tabele. Ako želite da postavite rezultata izračunavanja u drugu oblast u izvedenoj tabeli, koristite izračunate kolone.

Kada definišete formulu eksplicitno mere, ništa se ne dešava dok ne dodate mere u izvedenoj tabeli. Kada dodate mere, formule se procenjuje za svaku ćeliju u oblasti vrednosti u izvedenoj tabeli. Zato što rezultat se kreira za svaku kombinaciju zaglavlja redova i kolona, rezultat mere može razlikovati u svakoj ćeliji.

Definicija mere koje ste kreirali je sačuvana sa tabelom njegove izvorne podatke. To se pojavljuje na listi polja izvedene tabele i dostupan svim korisnicima radne sveske.

Više informacija potražite u članku mere u programskom dodatku PowerPivot.

Kreiranje formula pomoću polja za formulu

Power Pivot, kao i Excel, pruža polje za formulu koje olakšava kreiranje i uređivanje formula i funkciju automatskog dovršavanja kako bi se smanjile pravopisne i sintaksne greške.

Da biste uneli imena tabele   Počnite da kucate ime tabele. Automatsko dovršavanje formula obezbeđuje padajuću listu koja sadrži važeća imena koje počinju sa tim slovima.

Da biste uneli ime kolone   Otkucajte u uglaste zagrade, a zatim odaberite kolonu sa liste kolona u trenutnoj tabeli. Za kolone iz druge tabele, počnite da kucate prvih slova imena tabele, a zatim odaberite kolonu sa padajuće liste za automatsko dovršavanje.

Više detalja i uputstvo o tome kako da napravite formule potražite u članku Kreiranje formula za izračunavanja u programskom dodatku PowerPivot.

Saveti za korišćenje funkcije automatskog dovršavanja

Možete da koristite funkciju automatskog dovršavanja formule u sredini postojeće formule sa ugnežđenim funkcijama. Tekst koji se nalazi neposredno pre tačke umetanja koristi se za prikazivanje vrednosti sa padajuće liste, a tekst koji se nalazi iza tačke umetanja ostaje nepromenjen.

Definisana imena koja kreirate za konstante ne prikazuju se na padajućoj listi funkcije automatskog dovršavanja, ali i dalje možete da ih unesete.

Power Pivot ne zatvara zagrade u okviru funkcija i ne podudara zagrade automatski. Trebalo bi da proverite da li je svaka funkcija sintaksički ispravna jer inače nećete moći da sačuvate niti koristite formulu. 

Korišćenje više funkcija u formuli

Možete da ugnezdite funkcije, što znači da koristite rezultate iz jedne funkcije kao argument za drugu. Najviše 64 nivoa funkcija se može ugnezditi u izračunatim kolonama. Međutim, ugnežđivanje može da oteža kreiranje formula ili rešavanje problema sa njima.

Mnoge DAX funkcije napravljene su sa ciljem da se koriste samo kao ugnežđene funkcije. Ove funkcije vraćaju tabelu koju zbog toga nije moguće direktno sačuvati; trebalo bi je navesti kao unos za funkciju tabele. Na primer, funkcije SUMX, AVERAGEX i MINX zahtevaju tabelu kao prvi argument.

Napomena: Postoje neka ograničenja ugnežđivanjem funkcija postoje u okviru mere, da biste se uverili da nije uticao na performanse veliki broj izračunavanja zahtevaju zavisnosti u kolonama.

Upoređivanje DAX i Excel funkcija

Biblioteka DAX funkcija zasnovana je na biblioteci Excel funkcija ali se te biblioteke veoma razlikuju. Ovaj odeljak rezimira razlike i sličnosti između Excel i DAX funkcija.

  • Veliki broj DAX funkcija ima isto ime i isto opšte ponašanje kao Excel funkcije, ali su izmenjene kako bi mogle da prihvataju različite tipove unosa i u nekim slučajevima mogu da vrate različiti tip podataka. Obično ne možete da koristite DAX funkcije u Excel formuli ili da koristite Excel formule u programskom dodatku Power Pivot bez dodatnih izmena.

  • DAX funkcije nikada ne uzimaju referencu ćelije ili opseg kao referencu, dok DAX funkcije uzimaju kolonu ili tabelu kao referencu.

  • DAX funkcije datuma i vremena vraćaju datetime tip podataka. Nasuprot tome, Excel funkcije datuma i vremena vraćaju ceo broj koji predstavlja datum kao serijski broj.

  • Veliki broj novih DAX funkcija vraća tabelu sa vrednostima ili obračunava na osnovu tabele sa vrednostima kao unosom. Nasuprot tome, Excel nema funkcije koje kao rezultat vraćaju tabelu, ali neke funkcije mogu da rade sa nizovima. Mogućnost jednostavne reference na pune tabele i kolone predstavlja novu funkciju u programskom dodatku Power Pivot.

  • DAX pruža nove funkcije za pronalaženje koje su slične funkcijama za pronalaženje nizova i vektora u programu Excel. Međutim, DAX funkcije zahtevaju da se relacija uspostavlja između tabela.

  • Za podatke u koloni se očekuje da uvek budu istog tipa. Ako podaci nisu istog tipa, DAX menja celu kolonu u tip podataka koji najviše odgovara svim vrednostima.

DAX tipovi podataka

Možete da uvezete podatke u model podataka Power Pivot iz mnogo različitih izvora podataka koji možda podržavaju različite tipove podataka. Kada uvezete ili učitavanje podataka, a zatim koristite podatke u izračunavanjima ili u izvedenim tabelama, podaci se konvertuje u neku od Power Pivot tipove podataka. Listu tipova podataka potražite u članku Tipovi podataka u modelima podataka.

Tip podataka u tabeli je novi tip podataka u DAX koja se koristi kao unos ili izlaz za mnoge nove funkcije. Na primer, funkcija FILTER uzima tabelu kao unos i pravi drugu tabelu koja sadrži samo one redove koji ispunjavaju uslove filtriranja. Kombinovanjem tabela funkcije sa agregatne funkcije, možete da izvršite složena izračunavanja preko dinamički definisano skupa podataka. Više informacija potražite u članku agregacije u programskom dodatku PowerPivot.

Formule i relacioni model

Prozor Power Pivot je oblast gde možete da radite sa više tabela podataka i povezivanje tabela u modelu relacione. U okviru ovaj model podataka, tabela su povezani sa jedni drugima tako što ćete relacije, koje vam omogućavaju da kreirate korelacija sa kolonama u drugim tabelama i kreiranje zanimljiviji izračunavanja. Na primer, možete da kreirate formule koja zbir vrednosti za povezane tabele i sačuvajte tu vrednost u jednoj ćeliji. Ili, da biste kontrolisali redove iz povezane tabele, možete da primenite filtere u tabele i kolone. Više informacija potražite u članku Relacije između tabela u modelu podataka.

Pošto možete da povežete tabele korišćenjem relacija, vaše izvedene tabele mogu da sadrže i podatke iz većeg broja kolona koje potiču iz različitih tabela.

Međutim, pošto formule mogu da rade sa celim tabelama i kolonama, potrebno je da napravite izračunavanja na drugačiji način nego u programu Excel.

  • Uopšteno, DAX formula u koloni se uvek primenjuje na ceo skup vrednosti u koloni (nikada samo na nekoliko redova ili ćelija).

  • Tabele u programskom dodatku Power Pivot uvek moraju da sadrže isti broj kolona u svakom redu i svi redovi u koloni moraju da sadrže isti tip podataka.

  • Kada tabele povezani tako što ćete relacije, očekuje se da biste se uverili da dve kolone koji koriste kao prečice imaju vrednosti koje se podudaraju, u većini slučajeva. Zato što Power Pivot ne nametnete referencijalni integritet, je moguće da imaju neodgovarajući vrednosti u kolone ključa i dalje da kreirate relaciju. Međutim, prisustvo praznih ili neodgovarajući vrednosti može da utiče rezultate formula i izgled izvedene tabele. Više informacija potražite u članku pretraživanja u Power Pivot formulama.

  • Kada se povežete tabele korišćenjem relacija, možete povećati opseg ili context u kojoj se procenjuju formula. Na primer, formula u izvedene tabele mogu da utiču sve filtere ili naslovi kolona i redova u izvedenoj tabeli. Možete pisati formule koji kontrolišu kontekst, ali kontekst takođe može da izazove da promenite na načine koji možda ne predviđate da se rezultati. Više informacija potražite u članku kontekst u DAX formulama.

Ažuriranje rezultata formule

Podataka r efresh i ponovnog izračunavanja su dve odvojene ali povezanih operacije koje bi trebalo da razumete prilikom dizajniranja model podataka koji sadrži složene formule, velikim količinama podatke ili podatke koji se dobija iz spoljnih izvora podataka.

Osvežavanje podataka je proces ažuriranja podataka u radnoj svesci pomoću nove podatke iz spoljnog izvora podataka. Možete ručno osvežavati podatke u vremenskim intervalima koje navedete. Ili, ako ste objavili radnu svesku na SharePoint lokaciji, možete da zakažete automatsko osvežavanje iz spoljnih izvora.

Ponovno izračunavanje je proces ažuriranja na rezultate formula da odražavaju promene same formule i da bi te promene u osnovnih podataka. Ponovno izračunavanje može da utiče na performanse na sledeće načine:

  • Za izračunatu kolonu, rezultat formule bi uvek trebalo da se ponovo izračunava za celu kolonu, svaki put kada promenite formulu.

  • Mere, rezultati formule se ne izračunavaju dok mera se stavlja u kontekstu izvedene tabele ili izvedenog grafikona. Formula će takođe se ponovo izračunava kada promenite bilo koji naslov reda ili kolone koje utiče na filtere na podacima ili kada ste ručno osvežavanje izvedene tabele.

Rešavanje problema sa formulama

Greške prilikom pisanja formula

Ako dobijete grešku prilikom definisanja formule, formula možda sadrži grešku u sintaksi, semantičku grešku ili grešku u izračunavanju.

Greške u sintaksi se najlakše rešavaju. Njima obično nedostaje zagrada ili zarez. Pomoć oko sintakse pojedinačnih funkcija potražite u referenci DAX funkcije.

Drugi tip grešaka se pojavljuje kada je sintaksa ispravna, ali referencirana vrednost ili kolona nema smisla u kontekstu formule. Do takvih semantičkih grešaka i grešaka u izračunavanju može dovesti neki od sledećih problema:

  • Formula se odnosi na nepostojeću kolonu, tabelu ili funkciju.

  • Formula deluje ispravno, ali kada mašina za podatke preuzme podatke, ona pronalazi nepodudaranje tipova i prijavljuje grešku.

  • Formula prosleđuje netačan broj ili tip parametara funkciji.

  • Formula se odnosi na različitu kolonu koja sadrži grešku i zato su njene vrednosti nevažeće.

  • Formula se odnosi na kolonu koja nije obrađena, što znači da ona sadrži metapodatke, ali ne i stvarne podatke za upotrebu u izračunavanjima.

U prva četiri slučaja, DAX označava zastavicom celu kolonu koja sadrži nevažeću formulu. U poslednjem slučaju, DAX zasenči kolonu da bi se ukazalo na to da je kolona u neobrađenom stanju.

Netačni ili neobični rezultati prilikom rangiranja ili raspoređivanja vrednosti kolona

Prilikom rangiranja ili raspoređivanja kolone koja sadrži vrednost NaN (Nije broj), možete dobiti pogrešne ili neočekivane rezultate. Na primer, kada izračunavanje deli broj 0 brojem 0, vraća se rezultat NaN.

Razlog za to je što mašina formule izvršava raspoređivanje i rangiranje tako što poredi numeričke vrednosti; međutim, NaN ne može da se poredi sa drugim brojevima u koloni.

Da biste se uverili da ćete dobiti tačne vrednosti, možete da koristiti uslovne izjave pomoću IF funkcije da biste testirali NaN vrednosti i vratili numeričku 0 vrednost.

Kompatibilnost sa Analysis Services tabelarnim modelima i DirectQuery režimom

Uopšteno, DAX formule koje napravite u programskom dodatku Power Pivot u potpunosti su kompatibilne sa Analysis Services tabelarnim modelima. Međutim, ako premestite Power Pivot model na Analysis Services instancu, a zatim primenite model u DirectQuery režimu, u tom slučaju postoje neka ograničenja.

  • Neke DAX formule mogu da daju različite rezultate ako primenite model u DirectQuery režimu.

  • Neke formule mogu da dovedu do grešaka u validaciji kada primenite model u DirectQuery režimu, zato što formula sadrži DAX funkciju koja nije podržana u poređenju sa relacionim izvorom podataka.

Više informacija potražite u dokumentaciji za Analysis Services tabelarni model na lokaciji SQL Server 2012 BooksOnline.

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×