Formule Data Analysis Expressions (DAX) u dodatku Power Pivot

Formule Data Analysis Expressions (DAX) u dodatku Power Pivot

Izrazi za analizu podataka (DAX) malo se plaљe na poиetku, ali ne dozvolite da vas to ime zavara. DAX osnove se zaista lako razumeju. Prva stvar – DAX nije programski jezik. DAX je jezik formule. Možete da koristite DAX da biste definisali prilagođena izračunavanja za izračunate kolone i za mere (poznate i kao izračunata polja). DAX uključuje neke od funkcija koje se koriste u Excel formulama i dodatne funkcije dizajnirane za rad sa relacionim podacima i obavljanje dinamičkih agregregacija.

Razumevanje DAX formula

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

Međutim, DAX formule se razlikuju na sledeće važne načine:

  • Ako želite da prilagodite izračunavanja na osnovi reda po reda, DAX uključuje funkcije koje vam dozvoljava da koristite trenutnu vrednost reda ili povezanu vrednost za izračunavanje koje se razlikuju po kontekstu.

  • DAX uključuje tip funkcije koja vraća tabelu kao rezultat, a ne jedinstvenu vrednost. Ove funkcije mogu da se koriste za obezbeđivanje unosa za druge funkcije.

  • Vremenske obaveštajne funkcijeu Dax omogući računanje pomoću opsega datuma i poredi rezultate u različitim periodima.

Gde da koristite DAX formule

Možete da kreirate formule u Power Pivot u izračunatim columima ili u izračunatimuređajima.

Izračunate kolone

Izračunata kolona je kolona koju dodajete u postojeću Power Pivot tabelu. Umesto lepljenja ili uvoženja vrednosti u koloni, kreiraćete DAX formulu koja definiše vrednosti kolone. Ako u izvedenoj tabeli dodate tabelu Power Pivot, Izračunata kolona se može koristiti kao i bilo kojoj drugoj koloni sa podacima.

Formule u izračunatim kolonama su kao formule koje kreirate u programu Excel. Međutim, za razliku od programa Excel, ne možete da kreirate različitu formulu za razne redove u tabeli. Umesto toga, DAX formula se automatski odnosi na celu kolonu.

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

Možete da kreirate izračunate kolone zasnovane na merama i drugim izračunatim kolonama. Međutim, izbegavajte korišćenje istog imena za izračunatu kolonu i meru, jer to može da dovede do odstupanja. Kada upućujete na kolonu, najbolje je da koristite potpuno odgovarajuću referentnu kolonu, da biste izbegli slučajno pozivanje mere.

Detaljnije informacije potražite u članku izračunate kolone uprogramskom dodatku Power Pivot.

Sprove

Mera je formula kreirana posebno za upotrebu u izvedenoj tabeli (ili izvedeni grafikon) koja koristi Power Pivot podataka. Mere mogu biti zasnovane na standardnim funkcijama za agregaciju, kao što je COUNT ili SUM ili možete definisati sopstvenu formulu pomoću pošte DAX. Mera se koristi u oblasti vrednosti izvedene tabele. Ako želite da postavite izračunate rezultate u različitu oblast izvedene tabele, umesto toga koristite izračunatu kolonu.

Kada definišete formulu za eksplicitnu meru, ništa se ne dešava dok ne dodate meru u izvedenu tabelu. Kada dodate meru, formula se proverava za svaku ćeliju u oblasti vrednosti izvedene tabele. Budući da se rezultat kreira za svaku kombinaciju zaglavlja reda i kolone, rezultat za tu meru može da se razlikuje u svakoj ćeliji.

Definicija koje ste napravili je sačuvana sa izvornom tabelom sa podacima. Pojavljuje se na listi polja izvedene tabele i dostupna je svim korisnicima radne sveske.

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

Kreiranje formula pomoću trake za formulu

Power Pivot, kao što je Excel, pruža traku sa formulama da biste olakšali kreiranje i uređivanje formula i funkcionalnost automatskog dovršavanja, kako biste umanjili greške kucanja i sintakse.

Da biste uneli ime tabele   Počnite da kucate ime tabele. Automatsko dovršavanje formula pruža padajuću listu koja sadrži važeća imena koja počinju ovim slovima.

Da biste uneli ime kolone   Otkucajte zagradu, a zatim odaberite kolonu sa liste kolona u trenutnoj tabeli. Za kolonu iz druge tabele počnite da kucate prva slova imena tabele, a zatim odaberite kolonu sa padajuće liste automatskog dovršavanja.

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

Saveti za korišćenje automatskog dovršavanja

Automatsko dovršavanje formule možete da koristite u sredini postojeće formule sa ugnežđenim funkcijama. Tekst koji se nalazi neposredno pre mesta umetanja koristi se za prikaz vrednosti na padajućoj listi, a celokupan tekst posle mesta umetanja ostaje nepromenjen.

Definisana imena koja kreirate za konstante se ne prikažu na padajućoj listi automatskog dovršavanja, ali ih i dalje možete otkucati.

Power Pivot ne dodaje zatvorene zagrade funkcija ili se automatski podudaraju zagrade. Trebalo bi da se uverite da je svaka funkcija sinhronizovano tačna ili da ne možete da sačuvate ili koristite formulu. 

Korišćenje više funkcija u formuli

Možete da gnezdite funkcije, što znači da koristite rezultate iz jedne funkcije kao argument druge funkcije. Možete da gnezdite do 64 nivoa funkcija u izračunatim kolonama. Međutim, ugnežđivanje može otežati kreiranje ili rešavanje problema sa formulama.

Mnoge DAX funkcije su dizajnirane da se koriste samo kao ugnežđene funkcije. Ove funkcije vraćaju tabelu koja se ne može direktno sačuvati kao rezultat; Trebalo bi da bude obezbeđena kao unos u funkciju tabele. Na primer, funkcije SUMX, AVERAGEX i MINX zahtevaju tabelu kao prvi argument.

Napomena: Neke ograničenja ugnežđivanja funkcija postoje u okviru mera, kako bi se osiguralo da više ne utiče na performanse koje su potrebne zavisnostima među kolonama.

Poređenje DAX funkcija i Excel funkcija

Biblioteka DAX funkcija je zasnovana na Excel biblioteci funkcija, ali biblioteke imaju mnogo razlika. Ovaj odeljak rezimira razlike i sliиnosti između Excel funkcija i DAX funkcija.

  • Mnoge DAX funkcije imaju isto ime i isto opšte ponašanje kao Excel funkcije, ali su izmenjene da bi imale različite tipove unosa i u nekoliko slučajeva mogu da vrate drugačiji tip podataka. Obično ne možete da koristite DAX funkcije u Excel formuli ili da koristite Excel formule u Power Pivot bez neke izmene.

  • DAX funkcije nikada ne uzimaju referenca za ćeliju ili opseg kao referenca, ali umesto toga DAX funkcije imaju kolonu ili tabelu kao referenca.

  • Funkcije DAX datum i vreme vraćaju tip podataka DATETIME. Nasuprot tome, funkcije datuma i vremena Excel vraćaju ceo broj koji predstavlja datum kao redni broj.

  • Mnoge nove DAX funkcije vraćaju tabelu sa vrednostima ili izračunavanju na osnovu tabele vrednosti kao što je Input. Nasuprot tome, Excel nema funkcije koje vraćaju tabelu, ali neke funkcije mogu da funkcionišu sa nizovima. Mogućnost olako pozivanja kompletnih tabela i kolona je nova funkcija u Power Pivot.

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

  • Očekuje se da podaci u koloni uvek budu isti tip podataka. Ako podaci nisu isti tip, DAX menja celu kolonu u tip podataka koji najbolje odgovara svim vrednostima.

DAX tipovi podataka

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

Tip podataka iz tabele je novi tip podataka u DAX koji se koristi kao unos ili izlaz za mnoge nove funkcije. Na primer, funkcija filtera uzima tabelu kao unos i daje drugu tabelu koja sadrži samo redove koji ispunjavaju uslove filtriranja. Kombinovanjem funkcija tabele sa funkcijama agregregacije možete da obavljate složenu izračunavanje preko dinamički definisanih skupova podataka. Više informacija potražite u članku agregacije uprogramskom dodatku Power Pivot.

Formule i Relacioni model

Prozor Power Pivot je oblast u kojoj možete da radite sa više tabela podataka i da povežete tabele u relacionom modelu. U okviru ovog modela podataka, tabele se međusobno povezuju putem relacija, što vam dozvoljava da kreirate korroveze sa kolonama u drugim tabelama i da kreirate interesantnije izračunavanja. Na primer, možete da kreirate formule koje sadrže vrednosti za povezanu tabelu, a zatim da je sačuvate u jednoj ćeliji. Ili da biste kontrolisali redove iz srodne tabele, možete da primenjujete filtere na tabele i kolone. Više informacija potražite u članku relacije između tabela u modelu podataka.

Zato što možete da povezujete tabele pomoću relacija, izvedene tabele mogu da uključe i podatke iz više kolona koje su iz različitih tabela.

Međutim, pošto formule mogu da funkcionišu sa svim tabelama i kolonama, morate da dizajnirate izračunavanja drugačije nego u programu Excel.

  • Generalno, DAX formula u koloni se uvek primeni na ceo skupa vrednosti u koloni (nikada samo nekoliko redova ili ćelija).

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

  • Kada su tabele povezane relacijom, očekuju vas da se uverite da dve kolone koje se koriste kao ključevi imaju vrednosti koje se najčešće podudaraju. Budući da Power Pivot ne nametne referencijalni integritet, moguće je da imate vrednosti koje se ne podudaraju u koloni tastera i da i dalje kreirate relaciju. Međutim, prisustvo praznih ili nepodudarnih vrednosti može uticati na rezultate formula i na izgled izvedenih tabela. Više informacija potražite u članku Pregled u programskim Pivot formulama.

  • Kada povežete tabele pomoću relacija, uvećavate opseg ili c-tekst u kojem se procenjuju formule. Na primer, u izvedenoj tabeli mogu da utiču formule u izvedenoj tabeli. Možete da pišete formule koje upravljaju kontekstom, ali kontekst može da izazove promene rezultata na načine koje možda nećete predvideti. Više informacija potražite u članku kontekst u Dax formulama.

Ažuriranje rezultata formula

Data rRezultati ponovno izračunavanje su dve odvojene, ali srodne operacije koje treba da razumete prilikom dizajniranja modela podataka koji sadrži složene formule, veliku količinu podataka ili podatke koji se dobijaju iz spoljnih izvora podataka.

Osvežavanje podataka je proces ažuriranja podataka u radnoj svesci sa novim podacima iz spoljnog izvora podataka. Možete ručno da osvežite podatke u intervalima koje navedete. Ako ste radnu svesku objavili na SharePoint lokaciji, možete da planirate automatsko osvežavanje iz spoljnih izvora.

Ponovno izračunavanje je proces ažuriranja rezultata formula za odražavanje bilo koje promene samih formula i da bi se odrazile te promene u osnovnim podacima. 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.

  • Za meru, rezultati formule se ne izračunavaju dok se mera ne stavi u kontekst izvedene tabele ili izvedenog grafikona. Formula će se ponovo izračunati kada promenite naslov reda ili kolone koji utiče na filtere na podacima ili kada ručno osvežite izvedenu tabelu.

Rešavanje problema sa formulama

Greške prilikom pisanja formula

Ako dobijete grešku prilikom definisanja formule, formula može da sadrži grešku "syntaktiиki" iligrešku izračunavanja.

Sinhronizacije greške se najlakše rešavaju. Najčešće uključuju nedostajuće zagrade ili zarez. Pomoć za sintaksu pojedinačnih funkcija potražite u članku referenca za DAX funkciju.

Drugi tip greške se javlja kada sintaksa bude tačna, ali vrednost ili kolona na koju se upućuje nemaju smisla u kontekstu formule. Takve semantičke i računske greške mogu uzrokovati neki od sledećih problema:

  • Formula upućuje na nepostojeću kolonu, tabelu ili funkciju.

  • Formula izgleda da je tačna, ali kada mašina podataka zadaje podatke koji pronalazi nepodudaranje tipova i povećava grešku.

  • Formula dodaje netačan broj ili tip parametara u funkciju.

  • Formula se odnosi na drugačiju kolonu koja ima grešku i samim tim su njene vrednosti nevažeće.

  • Formula se odnosi na kolonu koja nije obrađena, što znači da ima metapodatke, ali ne i stvarne podatke koje treba koristiti za izračunavanje.

U prva četiri slučaja DAX zastavicom označava celu kolonu koja sadrži nevažeću formulu. U poslednjem slučaju, DAX je izašao iz kolone da bi nagovestio da se kolona nalazi u stanju koje nije obrađeno.

Neispravni ili neobične rezultate kada rangiranje ili naređivanje vrednosti kolona

Kada rangirate ili poručujete kolonu koja sadrži vrednost NaN (a ne broj), možda ćete dobiti pogrešne ili neočekivane rezultate. Na primer, kada se izračunavanje deli od 0 do 0, vraća se NaN rezultat.

To je zato što mašina za formulu izvršava naručivanje i rangiranje tako što poredi numeričke vrednosti; Međutim, NaN se ne može porediti sa drugim brojevima u koloni.

Da biste osigurali ispravne rezultate, možete da koristite uslovne izjave pomoću funkcije IF da biste testirali za Nano vrednosti i vratili numeričku vrednost 0.

Kompatibilnost sa tabelarnim modelom Analysis Services i programu DirectQuery

Uopšteno, DAX formule koje gradite u Power Pivot su potpuno kompatibilne sa tabelarnim modelima Analysis Services. Međutim, ako migrirate Power Pivot model na instancu usluge Analysis Services, a zatim primenite model u programu DirectQuery, postoje neka ograničenja.

  • Neke DAX formule mogu da vrate sledeće rezultate ako primenite model u programu DirectQuery.

  • Neke formule mogu uzrokovati greške u validaciji kada primenite model na DirectQuery režim, zato što formula sadrži DAX funkciju koja nije podržana u relacionim izvorima podataka.

Više informacija potražite u članku Analysis Services tabelarne dokumentacije za modelovanje u sistemu SQL Server 2012 BooksOnline.

Napomena:  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 da nam javite da li su informacije bile korisne? Ovo je članak na engleskom jeziku za referencu.​

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! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×