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 radite 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. Možda ćete ovo morati da uradite ako je kolona sa datumima uvezena kao niska, ali vam je potrebna da biste je uvezli u nešto drugo. Više informacija potražite u temi 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 drugi 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 Excel |
Tip podataka u DAX-u |
Opis |
---|---|---|
Ceo broj |
64-bitna (osam bajta) integeralna vrednost 1, 2 |
Brojevi koji nemaju 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 |
A 64-bit (eight-bytes) real number 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 ograničen je 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 predstavljanju 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 dostupno |
Prazno |
Prazno je tip podataka u DAX-u koji predstavlja i zamenjuje SQL prazne ćelije. Možete da kreirate prazno mesto korišćenjem funkcije BLANK, kao i da testirate prazne ćelije pomoću logičke funkcije 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 memorije: kolona "<kolona>" tabele "<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 vrednost "null":
Vrednost |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1.7976931348623158e+308 |
|
2,2250738585072014e-308 |
Uklonite vrednost iz podataka i ponovo pokušajte da uvezete podatke.
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 u druge funkcije. U nekim funkcijama koje zahtevaju tabelu kao unos, možete da navedete izraz koji se procenjuje u tabeli. za neke funkcije je potrebna referenca na osnovnu tabelu. Informacije o zahtevima određenih funkcija potražite u temi Referenca ZA DAX funkciju.
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 sve brojeve za neke argumente i datume za druge; druge funkcije zahtevaju tekst ili tabele.
Ako podaci u koloni koje navedete kao argument neće biti kompatibilni sa tipom podataka koji zahteva funkcija, DAX u mnogim slučajevima daje grešku. Međutim, gde god je to moguće DAX će pokušati da implicitno konvertuje podatke u potrebni tip podataka. Na primer:
-
Datum možete da otkucate kao nisku, a DAX će raščlanjiti nisku i pokušati da je strimujete kao jedan od Windows formata datuma i vremena.
-
Možete da dodate TRUE + 1 i dobijete rezultat 2 zato što se TRUE implicitivno konvertuje u broj 1 i operacija 1+1 se izvršava.
-
Ako dodate vrednosti u dve kolone, a jedna vrednost je predstavljena 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 suzite dva broja, Excel ih predstaviti kao niske, a zatim ih slagati. Sledeći izraz daje "1234": = 12 & 34
Sledeća tabela rezimira implicitne konverzije tipova podataka koje se izvršavaju u formulama. Excel obavlja implicitne konverzije kad god je to moguće, što zahteva navedena operacija.
Tabela implicitnih konverzija podataka
Tip konverzije koja se izvršava određuje operator, koji izbacuje vrednosti koje su potrebne pre izvršavanja zahtevane operacije. Ove tabele navode operatore i ukazuju na konverziju koja se izvršava na svakom tipu podataka u koloni kada je upavljena sa tipom podataka u redu za ukrštene ćelije.
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 da ga predstavi kao broj.
Sadeci (+)
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 sabvanja koristi realan broj u kombinaciji sa podacima valute, obe vrednosti se konvertuju u REAL, a rezultat se vraća 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 kog drugog tipa podataka, obe vrednosti se konvertuju u datume, a povratna vrednost je i datum.
Napomena: Modeli podataka takođe podržavaju urni operator - (negativni), ali ovaj operator ne menja tip podataka operand.
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 broj kombinuje sa stvarnim 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 broj kombinuje sa vrednošću valute u operaciji deljenje, obe vrednosti se konvertuju u realne brojeve, a rezultat je takođe realan broj.
Operatori za poređenje
U izrazima poređenja 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 uporedne vrednosti.
Sledeći DAX izrazi ilustruju ovo ponašanje:
=IF(FALSE()>"true","Expression is true", "Expression is false"), daje "Expression is true"
=IF("12">12,"Izraz je taan", "Izraz je netačno"), daje "Izraz je taan".
=IF("12"=12,"Expression is true", "Expression is false"), daje "Expression is false"
Konverzije se obavljaju implicitivno za numeričke tipove ili tipove datuma/vremena kao što je opisano u sledećoj tabeli:
Operator za poređenje |
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 ćelijama, praznim niskama i vrednostima nula
U DAX, prazna vrednost, prazna ćelija ili vrednost koja nedostaje predstavljeni su istim novim tipom vrednosti, PRAZNO. Prazne ćelije možete da generišete i korišćenjem funkcije BLANK ili testiranjem praznih ćelija pomoću funkcije ISBLANK.
Način rukovanja praznim ćelijama u operacijama, kao što su sabljenje 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 praznim ćelijama.
Izraz |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
BLANK |
0 (nula) |
BLANK +5 |
5 |
5 |
PRAZNO * 5 |
BLANK |
0 (nula) |
5/BLANK |
Beskonačno |
Greška |
0/BLANK |
NaN |
Greška |
PRAZNO/PRAZNO |
BLANK |
Greška |
FALSE ILI PRAZNO |
FALSE |
FALSE |
FALSE I BLANK |
FALSE |
FALSE |
TRUE ILI BLANK |
TRUE |
TRUE |
TRUE I BLANK |
FALSE |
TRUE |
PRAZNO ILI PRAZNO |
BLANK |
Greška |
PRAZNO I PRAZNO |
BLANK |
Greška |
Detalje o tome kako određena funkcija ili operator upravlja praznim ćelijama možete da vidite pojedinačne teme za svaku DAX funkciju u odeljku Referenca za DAX funkciju.