U podatkovnom modelu svaki stupac ima povezanu vrstu podataka koja određuje vrstu podataka koju stupac može držati: cijele brojeve, decimalne brojeve, tekst, novčane podatke, datume i vremena i tako dalje. Vrsta podataka određuje i koje vrste operacija možete raditi 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, no potreban vam je da bi bio nešto drugo. Dodatne informacije potražite u članku Postavljanje vrste podataka stupca u programuPower 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 Excel |
Vrsta podataka u programu DAX |
Opis |
---|---|---|
Cijeli broj |
Cijeli broj od 64 bita (osam bajta) 1, 2 |
Brojevi koji ne imaju 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 bita (osam bajta) 1, 2 |
Realni brojevi su brojevi koji mogu imati decimalna mjesta. Realni brojevi obuhvaćaju š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 |
Unicode znakovni niz podataka. Mogu biti nizovi, brojevi ili datumi predstavljeni u obliku teksta. Maksimalna duljina niza je 268 435 456 Unicode znakova (256 mega znakova) ili 536 870 912 bajta. |
Datum |
Datum/vrijeme |
Datumi i vremena u prihvaćenom predstavljanju 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 |
Prazno je vrsta podataka u DAX-u koja predstavlja i zamjenjuje SQL null. Prazninu možete stvoriti 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 imaju vrlo velike brojčane 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 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 za druge funkcije. U nekim funkcijama za koje je kao unos potrebna tablica možete navesti izraz koji se vrednova u tablici; 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 funkcija DAX ima specifične preduvjete za vrste podataka koji se koriste kao ulazni i izlazni podaci. Neke funkcije, primjerice, zahtijevaju cijeli broj 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. No kada god je to moguće, DAX će pokušati implicitno pretvoriti podatke u potrebnu vrstu podataka. Na primjer:
-
Datum možete upisati kao niz, a DAX će parsirati niz i pokušati ga odbaciti kao jedan od Windows oblika datuma i vremena.
-
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 zbraje brojčani rezultat. Sljedeći izraz vraća 44: = "22" + 22
-
Ako pokušate uvrstiti dva broja, Excel ih predstaviti kao nizove, a zatim ih uvrstiti. 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
Vrstu pretvorbe koju izvodi određuje operator, koji prije izvođenja zatražene operacije odaje vrijednosti koje su mu potrebne. Te tablice navode operatore i označavaju pretvorbu koja se izvodi na svakoj vrsti podataka u stupcu kada je uparen s vrstom podataka u retku sijeku.
Napomena: Tekstne vrste podataka nisu obuhvaćene tim tablicama. Kada je broj predstavljen kao u tekstnom obliku, u nekim Power Pivot će pokušati odrediti vrstu broja i predstavljati 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 dodavanja 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 bilo koje druge vrste podataka, obje se vrijednosti pretvaraju u datume, a povratna je vrijednost i datum.
Napomena: Podatkovni modeli podržavaju i nenaružnog operatora, - (negativni), 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 sa stvarnim brojem u operaciji množenja, oba se broja pretvaraju u stvarne brojeve, a povratna je vrijednost i REAL.
Podjela (/)
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 stvarne brojeve, a rezultat je i realni broj.
Operatori usporedbe
U izrazima usporedbe Booleove se vrijednosti smatraju većim od vrijednosti niza, a vrijednosti niza smatraju se većim od brojčanih vrijednosti ili vrijednosti datuma/vremena; vrijednosti datuma/vremena smatraju se istim rangom. Za Booleove vrijednosti ili nizove ne izvode se implicitne pretvorbe; BLANK ili prazna vrijednost pretvaraju 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 true", "Izraz je false"), vraća "Izraz je true"
=IF("12">12;"Izraz je true", "Izraz je false"), vraća "Izraz je true".
=IF("12"=12;"Izraz je true", "Izraz je false"), vraća "Izraz je false"
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 obrade praznina u operacijama, kao što su dodavanje ili udiranje, ovisi o pojedinačnoj funkciji. U sljedećoj su tablici sažete razlike između DAX i Microsoft Excel formula na način na koji se obrađuju praznine.
Izraz |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
BLANK |
0 (nula) |
BLANK +5 |
5 |
5 |
BLANK * 5 |
BLANK |
0 (nula) |
5/BLANK |
Beskonačnost |
Pogreška |
0/BLANK |
NaN |
Pogreška |
BLANK/BLANK |
BLANK |
Pogreška |
FALSE ILI BLANK |
FALSE |
FALSE |
FALSE AND BLANK |
FALSE |
FALSE |
TRUE ILI BLANK |
TRUE |
TRUE |
TRUE AND BLANK |
FALSE |
TRUE |
BLANK OR BLANK |
BLANK |
Pogreška |
PRAZNO I PRAZNO |
BLANK |
Pogreška |
Detalje o tome kako određena funkcija ili operator rukuje prazninama potražite u pojedinačnim temama za svaku funkciju DAX u odjeljku Referenca funkcije DAX.