U modelu podataka svaka kolona ima povezani tip podataka koji navodi tip podataka koji kolona može da sadrži: cele brojeve, decimalne brojeve, tekst, novčane podatke, datume i vremena i tako dalje. Tip podataka takođe određuje koje vrste operacija možete da izvršite na koloni i koliko memorije je potrebno za skladištenje vrednosti u koloni.
Ako koristite programski Power Pivot, možete da promenite tip podataka kolone. Ovo ćete možda morati da uradite ako je kolona datuma uvezena kao niska, ali morate da je uvezete da biste mogli da koristite nešto drugo. Više informacija potražite u članku Podešavanje tipa podataka kolone u programu Power Pivot.
U ovom članku
Rezime tipova podataka
Sledeća tabela navodi tipove podataka podržane u modelu podataka. Kada uvozite podatke ili koristite vrednost u formuli, čak i ako originalni izvor podataka sadrži drugačiji tip podataka, podaci se konvertuju u neki od ovih tipova podataka. Vrednosti koje protiče iz formula takođe koriste ove tipove podataka.
Tip podataka u programu Excel |
Tip podataka u daX-u |
Opis |
---|---|---|
Ceo broj |
Celobrojna vrednost 1, 2 (osam bajtova) |
Brojevi koji ne sadrže decimalna mesta. Celi brojevi mogu biti pozitivni ili negativni, ali moraju biti celi brojevi između -9.223.372.036.854.775.808 (-2^63) i 9.223.372.036.854.775.807 (2^63-1). |
Decimalni broj |
64-bitni (osam bajtova) realni broj 1, 2 |
Realni brojevi su brojevi koji mogu da imaju decimalna mesta. Realni brojevi pokrivaju širok opseg vrednosti: Negativne vrednosti od -1,79E +308 do -2,23E -308 Nula Pozitivne vrednosti od 2,23E -308 do 1,79E + 308 Međutim, broj značajnih cifara je ograničen na 15 decimalnih cifara. |
TRUE/FALSE |
Bulov |
Vrednost "Tačno" ili "Netačno". |
Tekst |
String |
Niska podataka Unikod znakova. Mogu biti niske, brojevi ili datumi predstavljeni u tekstualnom formatu. Maksimalna dužina niske je 268.435.456 Unikod znakova (256 mega znakova) ili 536.870.912 bajta. |
Datum |
Datum/vreme |
Datumi i vremena u prihvaćenom prikazu datum-vreme. Važeći datumi su svi datumi posle 1. januara 1900. |
Valuta |
Valuta |
Tip podataka valute omogućava vrednosti između -922.337.203.685.477,5808 do 922.337.203.685.477,5807 sa četiri decimalne cifre fiksne preciznosti. |
Nije primenljivo |
Prazno |
Prazno je tip podataka u daX-u koji predstavlja i zamenjuje SQL prazne vrednosti. Možete da kreirate prazno korišćenjem funkcije BLANK i da testirate prazne ćelije koristeći logičku funkciju ISBLANK. |
1 DAX formule ne podržavaju tipove podataka koji su manji od onih navedenih u tabeli.
2 Ako pokušate da uvezete podatke koji imaju veoma velike numeričke vrednosti, uvoz možda neće uspeti uz sledeću grešku:
Greška u bazi podataka u memoriji: kolona "<ime kolone>" u tabeli "<ime tabele>" sadrži vrednost "1.7976931348623157e+308" koja nije podržana. Operacija je otkazana.
Do ove greške dolazi zato Power Pivot koristi tu vrednost za predstavljanje polja bez vrednosti. Vrednosti na sledećoj listi su sinonimi za praznu vrednost:
Vrednost |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1.7976931348623158e+308 |
|
2.2250738585072014e-308 |
Uklonite vrednost iz podataka i ponovo pokušajte da izvršite uvoz.
Tip podataka tabele
DAX koristi tip podataka tabele u mnogim funkcijama, kao što su agregacije i izračunavanja vremenske inteligencije. Neke funkcije zahtevaju referencu na tabelu; druge funkcije vraćaju tabelu koja zatim može da se koristi kao unos za druge funkcije. U nekim funkcijama koje zahtevaju tabelu kao unos možete da navedete izraz koji daje tabelu; za neke funkcije je potrebna referenca na osnovnu tabelu. Informacije o zahtevima određenih funkcija potražite u članku Referenca DAX funkcije.
Implicitna i eksplicitna konverzija tipa podataka u DAX formulama
Svaka DAX funkcija ima određene zahteve za tipove podataka koji se koriste kao unosi i izlazi. Na primer, neke funkcije zahtevaju cele brojeve za neke argumente i datume za druge; druge funkcije zahtevaju tekst ili tabele.
Ako podaci u koloni koje navedete kao argument nisu kompatibilni sa tipom podataka koji funkcija zahteva, DAX će u mnogim slučajevima vratiti grešku. Međutim, gde god je moguće DAX će pokušati implicitni da konvertuje podatke u zahtevani tip podataka. Na primer:
-
Datum možete da otkucate kao nisku, a DAX će raščlaniti nisku i pokušati da je prikaže kao jedan od Formata datuma i vremena operativnog sistema Windows.
-
Možete da dodate TRUE + 1 i dobijete rezultat 2 zato što se TRUE implicitno konvertuje u broj 1 i izvršava se operacija 1+1.
-
Ako dodate vrednosti u dve kolone, a jedna vrednost je predstavlјena kao tekst ("12"), a druga kao broj (12), DAX implicitno konvertuje nisku u broj, a zatim dodaje numerički rezultat. Sledeći izraz daje 44: = "22" + 22
-
Ako pokušate da spajate dva broja, Excel će ih predstaviti kao niske, a zatim ih spaja. Sledeći izraz daje "1234": = 12 & 34
Sledeća tabela rezimira implicitne konverzije tipova podataka koje se izvršavaju u formulama. Excel izvršava implicitne konverzije kad god je to moguće, kao što to zahteva navedena operacija.
Tabela implicitnih konverzija podataka
Tip konverzije koji se izvršava određuje operator koji daje vrednosti koje su mu potrebne pre izvršavanja zahtevane operacije. Ove tabele nabrajaju operatore i ukazuju na konverziju koja se izvršava na svakom tipu podataka u koloni kada je uparan sa tipom podataka u redu koji se ukršta.
Napomena: Tekstualni tipovi podataka nisu uključeni u ove tabele. Kada je broj predstavljen kao u tekstualnom formatu, u nekim slučajevima Power Pivot će pokušati da odredi tip broja i predstavi ga kao broj.
Sabiranje (+)
Operator (+) |
CEO BROJ |
CURRENCY |
REAL |
Datum/vreme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
Datum/vreme |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
Datum/vreme |
REAL |
REAL |
REAL |
REAL |
Datum/vreme |
Datum/vreme |
Datum/vreme |
Datum/vreme |
Datum/vreme |
Datum/vreme |
Na primer, ako se u operaciji sabiranja koristi realan broj u kombinaciji sa podacima valute, obe vrednosti se konvertuju u REAL, a rezultat se dobija kao REAL.
Oduzimanje (-)
U sledećoj tabeli zaglavlje reda je minus (leva strana), a zaglavlje kolone je oduzimanje (desna strana).
Operator (-) |
CEO BROJ |
CURRENCY |
REAL |
Datum/vreme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/vreme |
Datum/vreme |
Datum/vreme |
Datum/vreme |
Datum/vreme |
Na primer, ako se datum koristi u operaciji oduzimanja sa bilo kojim drugim tipom podataka, obe vrednosti se konvertuju u datume, a povratna vrednost je i datum.
Napomena: Modeli podataka podržavaju i unarni operator - (negativni), ali ovaj operator ne menja tip podataka operanda.
Množenje (*)
Operator (*) |
CEO BROJ |
CURRENCY |
REAL |
Datum/vreme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
CEO BROJ |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
CURRENCY |
REAL |
REAL |
CURRENCY |
REAL |
REAL |
Na primer, ako se ceo broj kombinuje sa realnim brojem u operaciji množenja, oba broja se konvertuju u realne brojeve, a povratna vrednost je takođe REAL.
Deljenje (/)
U sledećoj tabeli zaglavlje reda je brojilac, a zaglavlje kolone je imenilac.
Operator (/) (Red/kolona) |
CEO BROJ |
CURRENCY |
REAL |
Datum/vreme |
---|---|---|---|---|
CEO BROJ |
REAL |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/vreme |
REAL |
REAL |
REAL |
REAL |
Na primer, ako se ceo broj kombinuje sa vrednošću valute u operaciji deljenja, obe vrednosti se konvertuju u realne brojeve, a rezultat je takođe realan broj.
Operatori za poređenje
U izrazima za poređenje Bulove vrednosti se smatraju većim od vrednosti niske, a vrednosti niske se smatraju većim od numeričkih ili vrednosti datuma/vremena; smatra se da brojevi i vrednosti datuma/vremena imaju isti rang. Ne izvršavaju se implicitne konverzije za Bulove vrednosti ili vrednosti niske; PRAZNO ili prazna vrednost se konvertuje u 0/"/false, u zavisnosti od tipa podataka druge upoređene vrednosti.
Sledeći DAX izrazi ilustruju ovo ponašanje:
=IF(FALSE()>"true","Expression is true", "Expression is false"), vraća "Expression is true"
=IF("12">,"Izraz je tačan", "Izraz je netačan"), vraća vrednost "Izraz je tačan".
=IF("12"=12,"Izraz je tačan", "Izraz je netačan"), daje "Izraz je netačan"
Konverzije se implicitno izvršavaju za numeričke tipove ili tipove datuma/vremena kao što je opisano u sledećoj tabeli:
Operator poređenja |
CEO BROJ |
CURRENCY |
REAL |
Datum/vreme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/vreme |
REAL |
REAL |
REAL |
Datum/vreme |
Rukovanje praznim vrednostima, praznim niskama i nultim vrednostima
U daX-u, prazna vrednost, prazna ćelija ili vrednost koja nedostaje predstavljeni su istim novim tipom vrednosti, PRAZNO. Prazne ćelije možete da generišete i pomoću funkcije BLANK ili da testirate prazne ćelije pomoću funkcije ISBLANK.
Način na koji se prazninama rukuje u operacijama, kao što su dodavanje ili spajanje, zavisi od pojedinačne funkcije. Sledeća tabela rezimira razlike između DAX i Microsoft Excel formula na način na koji se rukuje prazninama.
Izraz |
DAX |
Excel |
---|---|---|
PRAZNO + PRAZNO |
PRAZNO |
0 (nula) |
PRAZNO +5 |
5 |
5 |
PRAZNO * 5 |
PRAZNO |
0 (nula) |
5/PRAZNO |
Beskonačnost |
Greška |
0/PRAZNO |
Nan |
Greška |
PRAZNO/PRAZNO |
PRAZNO |
Greška |
NETAČNO ILI PRAZNO |
FALSE |
FALSE |
NETAČNO I PRAZNO |
FALSE |
FALSE |
TAČNO ILI PRAZNO |
TRUE |
TRUE |
TAČNO I PRAZNO |
FALSE |
TRUE |
PRAZNO ILI PRAZNO |
PRAZNO |
Greška |
PRAZNO I PRAZNO |
PRAZNO |
Greška |
Detalje o tome kako određena funkcija ili operator rukuje praznim ćelijama potražite u pojedinačnim temama za svaku DAX funkciju u odeljku Referenca za DAX funkciju.