U podatkovnom modelu svaki stupac ima pridruženu vrstu podataka koja određuje vrstu podataka koju stupac može sadržavati: cijeli brojevi, decimalni brojevi, tekst, novčani podaci, datumi i vremena itd. Vrsta podataka određuje i koje vrste operacija možete izvršavati na stupcu te koliko je memorije potrebno za pohranu vrijednosti u stupac.
Ako koristite dodatak Power Pivot, možete promijeniti vrstu podataka stupca. To ćete možda morati učiniti ako je stupac datuma uvezen kao niz, ali mora biti nešto drugo. Dodatne informacije potražite u članku Postavljanje vrste podataka stupca uPower Pivot.
Sadržaj članka
Sažetak vrsta podataka
U sljedećoj su tablici navedene vrste podataka podržane u podatkovnom modelu. Kada uvozite podatke ili koristite vrijednost u formuli, čak i ako izvorni izvor podataka sadrži drugu vrstu podataka, podaci se pretvaraju u jednu od tih vrsta podataka. Vrijednosti koje su rezultat formula koriste i te vrste podataka.
Vrsta podataka u programu Excel |
Vrsta podataka u DAX-u |
Opis |
---|---|---|
Cijeli broj |
Cjelobrojna vrijednost 64-bitne (osam bajtova) 1, 2 |
Brojevi koji nemaju decimalna mjesta. Cijeli brojevi mogu biti pozitivni ili negativni brojevi, ali moraju biti cijeli 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 |
Realni broj od 64-bitne (osam bajtova) 1, 2 |
Realni su brojevi brojevi koji mogu sadržavati decimalna mjesta. Realni brojevi pokrivaju širok raspon vrijednosti: Negativne vrijednosti od -1,79E +308 do -2,23E -308 Nula Pozitivne vrijednosti od 2,23E -308 do 1,79E + 308 No broj značajnih znamenki ograničen je na 15 decimalnih znamenki. |
TRUE/FALSE |
booleovski |
Vrijednost True ili False. |
Tekst |
String |
Niz podataka Unicode znaka. Mogu biti nizovi, brojevi ili datumi predstavljeni u tekstnom obliku. Maksimalna duljina niza je 268 435 456 Unicode znakova (256 mega znakova) ili 536 870 912 bajtova. |
Datum |
Datum/vrijeme |
Datumi i vremena u prihvaćenom prikazu datuma i vremena. Valjani su datumi svi datumi nakon 1. siječnja 1900. |
Valuta |
Valuta |
Vrsta podataka valute omogućuje vrijednosti između -922 337 203 685 477,5808 do 922 337 203 685 477,5807 s četiri decimalne znamenke fiksne preciznosti. |
Nije dostupno |
Prazni predlošci |
Prazna je vrsta podataka u DAX-u koja predstavlja i zamjenjuje SQL null. Možete stvoriti prazninu pomoću funkcije BLANK i testirati praznine pomoću logičke funkcije ISBLANK. |
1 DAX formule ne podržavaju vrste podataka manje od onih navedenih u tablici.
2 Ako pokušate uvesti podatke koji sadrže vrlo velike numeričke vrijednosti, uvoz možda neće uspjeti uz sljedeću pogrešku:
Pogreška baze podataka u memoriji: stupac "<naziv stupca>" tablice "<naziv tablice>" sadrži vrijednost "1,7976931348623157e+308", što nije podržano. Operacija je otkazana.
Ta se pogreška pojavljuje jer Power Pivot tu vrijednost koristi za predstavljanje vrijednosti null. Vrijednosti na sljedećem popisu sinonimi su za vrijednost null:
Vrijednost |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2.2250738585072014e-308 |
Uklonite vrijednost iz podataka i pokušajte ponovno uvesti.
Vrsta podataka tablice
DAX koristi vrstu podataka tablice u mnogim funkcijama, kao što su agregacije i izračuni inteligencije vremena. Neke funkcije zahtijevaju referencu na tablicu; druge funkcije vraćaju tablicu koja se zatim može koristiti kao ulaz u druge funkcije. U nekim funkcijama za koje je kao unos potrebna tablica možete navesti izraz koji se vrednuje kao tablica; za neke funkcije potrebna je referenca na osnovnu tablicu. Informacije o preduvjetima određenih funkcija potražite u članku Referenca funkcije DAX.
Implicitna i eksplicitna pretvorba vrste podataka u DAX formulama
Svaka DAX funkcija ima specifične preduvjete za vrste podataka koji se koriste kao ulazni i izlazni podaci. Neke funkcije, primjerice, zahtijevaju cijele brojeve za neke argumente i datume za druge; druge funkcije zahtijevaju tekst ili tablice.
Ako podaci u stupcu koji navedete kao argument nisu kompatibilni s vrstom podataka koja je potrebna funkciji, DAX će u mnogim slučajevima vratiti pogrešku. Međutim, gdje god je to moguće DAX pokušat će implicitno pretvoriti podatke u obaveznu vrstu podataka. Na primjer:
-
Datum možete upisati kao niz, a DAX će raščlaniti niz i pokušati ga prikazati kao jedan od oblika datuma i vremena sustava Windows.
-
Možete dodati TRUE + 1 i dobiti rezultat 2 jer se TRUE implicitno pretvara u broj 1 i izvodi se operacija 1+1.
-
Ako dodate vrijednosti u dva stupca, a jedna se vrijednost prikazuje kao tekst ("12"), a druga kao broj (12), DAX implicitno pretvara niz u broj, a zatim zbrajanje brojčanog rezultata. Sljedeći izraz vraća 44: = "22" + 22
-
Ako pokušate povezati dva broja, Excel će ih prikazati kao nizove, a zatim ih povezati. Sljedeći izraz vraća "1234": = 12 & 34
U sljedećoj su tablici sažete implicitne pretvorbe vrsta podataka koje se izvode u formulama. Excel izvršava implicitne pretvorbe kad god je to moguće, prema potrebi navedene operacije.
Tablica implicitnih pretvorbi podataka
Vrsta pretvorbe koju izvodi određuje operator, čime se prije izvođenja zatražene operacije prikazuju vrijednosti koje su potrebne. Te tablice sadrže popis operatora i označavaju pretvorbu koja se izvodi na svakoj vrsti podataka u stupcu kada je uparena s vrstom podataka u retku za sjecište.
Napomena: Tekstne vrste podataka nisu obuhvaćene tim tablicama. Kada je broj predstavljen kao u tekstnom obliku, Power Pivot će pokušati odrediti vrstu broja i prikazati ga kao broj.
Zbraje (+)
Operator (+) |
INTEGER |
CURRENCY |
REAL |
Datum/vrijeme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
Datum/vrijeme |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
Datum/vrijeme |
REAL |
REAL |
REAL |
REAL |
Datum/vrijeme |
Datum/vrijeme |
Datum/vrijeme |
Datum/vrijeme |
Datum/vrijeme |
Datum/vrijeme |
Na primjer, ako se realni broj koristi u operaciji zbrajanja u kombinaciji s valutnim podacima, obje se vrijednosti pretvaraju u REAL, a rezultat se vraća kao REAL.
Oduzimanje (-)
U sljedećoj je tablici zaglavlje retka minuend (lijeva strana), a zaglavlje stupca oduzimanje (desna strana).
Operator (-) |
INTEGER |
CURRENCY |
REAL |
Datum/vrijeme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/vrijeme |
Datum/vrijeme |
Datum/vrijeme |
Datum/vrijeme |
Datum/vrijeme |
Ako se, primjerice, datum koristi u operaciji oduzimanja s bilo kojim drugom vrstom podataka, obje se vrijednosti pretvaraju u datume, a povratna je vrijednost i datum.
Napomena: Podatkovni modeli podržavaju i nepoarne operatore, - (negativne), ali taj operator ne mijenja vrstu podataka operanda.
Množenje (*)
Operator (*) |
INTEGER |
CURRENCY |
REAL |
Datum/vrijeme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
INTEGER |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
CURRENCY |
REAL |
REAL |
CURRENCY |
REAL |
REAL |
Ako se, primjerice, cijeli broj kombinira s realnim brojem u postupku množenja, oba se broja pretvaraju u realne brojeve, a povratna je vrijednost REAL.
Dijeljenje (/)
U sljedećoj je tablici zaglavlje retka brojnik, a zaglavlje stupca nazivnik.
Operator (/) (Redak/stupac) |
INTEGER |
CURRENCY |
REAL |
Datum/vrijeme |
---|---|---|---|---|
INTEGER |
REAL |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/vrijeme |
REAL |
REAL |
REAL |
REAL |
Ako se, primjerice, cijeli broj kombinira s vrijednošću valute u operaciji dijeljenja, obje se vrijednosti pretvaraju u realne brojeve, a rezultat je realni broj.
Operatori usporedbe
U izrazima usporedbe Booleove vrijednosti smatraju se većim od vrijednosti niza, a vrijednosti niza smatraju se većim od brojčanih vrijednosti ili vrijednosti datuma/vremena; brojevi i vrijednosti datuma/vremena imaju isti položaj. Ne izvode se implicitne pretvorbe za Booleove vrijednosti ili vrijednosti niza; BLANK ili prazna vrijednost pretvara se u 0/"/false ovisno o vrsti podataka druge uspoređene vrijednosti.
Sljedeći DAX izrazi ilustriraju to ponašanje:
=IF(FALSE()>"true";"Izraz je istinit", "Izraz je neistinit"), vraća "Izraz je true"
=IF("12">12;"Izraz je istinit", "Izraz je neistinit"), vraća "Izraz je true".
=IF("12"=12;"Izraz je istinit", "Izraz je neistinit"), vraća "Izraz je neistinit"
Pretvorbe se implicitno izvode za numeričke vrste ili vrste datuma/vremena, kao što je opisano u sljedećoj tablici:
Operator usporedbe |
INTEGER |
CURRENCY |
REAL |
Datum/vrijeme |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/vrijeme |
REAL |
REAL |
REAL |
Datum/vrijeme |
Rukovanje prazninama, praznim nizovima i vrijednostima nula
U DAX-u vrijednost null, prazna vrijednost, prazna ćelija ili vrijednost koja nedostaje predstavljaju istu novu vrstu vrijednosti, BLANK. Praznine možete generirati i pomoću funkcije BLANK ili testirati praznine pomoću funkcije ISBLANK.
Način na koji se praznine obrađuju u operacijama, kao što su zbrajanje ili spajanje, ovisi o pojedinačnoj funkciji. U sljedećoj su tablici navedene razlike između dax i formula programa Microsoft Excel 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/BLANK |
Beskonačnost |
Pogreška |
0/PRAZNO |
Nan |
Pogreška |
PRAZNO/PRAZNO |
PRAZNO |
Pogreška |
FALSE ILI PRAZNO |
FALSE |
FALSE |
FALSE I BLANK |
FALSE |
FALSE |
TRUE ILI PRAZNO |
TRUE |
TRUE |
TRUE I PRAZNO |
FALSE |
TRUE |
PRAZNO ILI PRAZNO |
PRAZNO |
Pogreška |
PRAZNO I PRAZNO |
PRAZNO |
Pogreška |
Detalje o načinu na koji određene funkcije ili operator rukuju prazninama potražite u pojedinačnim temama za svaku funkciju DAX u odjeljku Referenca funkcije DAX.