Vrste podataka u podatkovnim modelima

Primjenjuje se na
Excel za Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

U podatkovnom modelu svaki stupac sadrži povezanu vrstu podataka u kojoj se navodi koje se vrste podataka mogu nalaziti u tom stupcu: cijeli brojevi, decimalni brojevi, tekst, novčani podaci, datumi i vremena i slično. Vrsta podataka ujedno određuje i kakve operacije možete izvršavati na stupcu te koliko je memorije potrebno za pohranu vrijednosti u stupcu.

Ako koristite dodatak Power Pivot, možete promijeniti vrstu podataka u stupcu. To ćete možda morati učiniti ako je stupac datuma uvezen kao niz, ali to mora biti nešto drugo. Dodatne informacije potražite u članku Postavljanje vrste podataka stupca u dodatku Power Pivot.

Sadržaj članka

Sažetak vrsta podataka

U sljedećoj su tablici navedene vrste podataka koje podatkovni modeli podržavaju. 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 također koriste te vrste podataka.

Vrsta podataka u programu Excel Vrsta podataka u jeziku DAX Opis
Cijeli broj 64-bitna (osmobajtna) cjelobrojna vrijednost 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 64-bitni (osmobajtni) realni broj 1, 2 Realni brojevi su 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 Podatkovni niz Unicode znakova. 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/vremena.
Svi valjani datumi su nakon 1. siječnja 1900.
Valuta Valuta Vrsta podataka Valuta dopušta vrijednosti između -922 337 203 685 477,5808 do 922 337 203 685 477,5807 s četiri decimalna znamenka fiksne preciznosti.
Nije dostupno Prazni predlošci Praznina je vrsta podataka u jeziku DAX koja predstavlja i zamjenjuje SQL null. Prazninu možete stvoriti pomoću funkcije BLANK, a testirati 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 i prikazat će se sljedeća pogreška:

Pogreška u memoriji baze podataka: stupac "<naziv> stupca" tablice "<naziv> tablice" sadrži vrijednost "1,7976931348623157e+308", koja nije podržana. Postupak je otkazan.

Ta se pogreška pojavljuje jer Power Pivot koristi tu vrijednost 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 uvoz ponovo.

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; Ostale funkcije vraćaju tablicu koja se zatim može koristiti kao ulaz u druge funkcije. U nekim funkcijama koje zahtijevaju tablicu kao ulaz možete navesti izraz koji se vrednuje za tablicu; Za neke je funkcije potrebna referenca na osnovnu tablicu. Informacije o zahtjevima određenih funkcija potražite u referenci za DAX funkcije.

Implicitna i eksplicitna pretvorba vrste podataka u DAX formulama

Svaka DAX funkcija ima određene zahtjeve u pogledu vrsta podataka koji se koriste kao ulazni i izlazni rezultati. Primjerice, za neke funkcije potrebni su cijeli brojevi za neke argumente, a za druge datumi; Za ostale funkcije potrebni su tekst ili tablice.

Ako podaci u stupcu koji navedete kao argument nisu kompatibilni s vrstom podataka koju zahtijeva funkcija, DAX će u mnogim slučajevima vratiti pogrešku. Međutim, kad god je to moguće, DAX će pokušati implicitno pretvoriti podatke u potrebne vrste podataka. Na primjer:

  • Datum možete upisati kao niz, a DAX će ga raščlaniti i pokušati ga emitirati kao jedan od oblika datuma i vremena sustava Windows.
  • Možete dodati TRUE + 1 i dobit ćete rezultat 2 jer se TRUE implicitno pretvara u broj 1 i izvodi se operacija 1+1.
  • Ako zbrojite vrijednosti u dva stupca, a jedna je vrijednost predstavljena tekstom ("12"), a druga brojem (12), DAX implicitno pretvara niz u broj, a zatim zbraja brojčani rezultat. Sljedeći izraz vraća 44: = "22" + 22
  • Ako pokušate sekvencijalno dodati dva broja, Excel će ih predstaviti kao nizove, a zatim sekvencijalno sastaviti. Sljedeći izraz vraća "1234": = 12 & 34

Sljedeća tablica sadrži sažetak implicitnih pretvorbi vrsta podataka koje se izvode u formulama. Excel izvodi implicitne pretvorbe kad god je to moguće, prema zahtjevima navedene operacije.

Tablica implicitnih pretvorbi podataka

Vrstu pretvorbe koja se izvodi određuje operator, koji izbacuje vrijednosti koje su mu potrebne prije izvođenja zatražene operacije. U tim su tablicama navedeni operatori i pretvorba koja se izvodi na svakoj vrsti podataka u stupcu kada je uparen s vrstom podataka u retku na sjecištu.

Napomena

Tekstne vrste podataka nisu uvrštene u te tablice. Kada je broj prikazan kao u tekstnom obliku, Power Pivot će u nekim slučajevima pokušati utvrditi vrstu broja i prikazati ga kao broj.

zbrajanje (+)

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 podacima o valuti, obje se vrijednosti pretvaraju u REAL, a rezultat se vraća kao REAL.

Oduzimanje (-)

U tablici u nastavku zaglavlje retka jest minuend (lijeva strana), a zaglavlje stupca subtrahend (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

Na primjer, ako se datum koristi u operaciji oduzimanja s bilo kojom drugom vrstom podataka, obje se vrijednosti pretvaraju u datume, a vraćena vrijednost je također datum.

Napomena

Podatkovni modeli podržavaju i unarni operator - (negativan), 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

Na primjer, ako se u operaciji množenja cijeli broj kombinira s realnim brojem, oba se broja pretvaraju u realne brojeve, a i vraćena je vrijednost realna.

Podjela (/)

U tablici u nastavku zaglavlje retka brojnik je, 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

Na primjer, ako se u operaciji dijeljenja kombinira s vrijednošću valute, obje se vrijednosti pretvaraju u realne brojeve, a rezultat je također realni broj.

Operatori usporedbe

U izrazima usporedbe Booleove vrijednosti smatraju se većima od vrijednosti niza, a vrijednosti niza smatraju se većima od brojčanih vrijednosti ili vrijednosti datuma/vremena. Smatra se da su brojevi i vrijednosti datuma/vremena jednakog položaja. Za Booleove vrijednosti ili vrijednosti niza ne izvode se implicitne pretvorbe. 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 istinit"

=IF("12"12;>"Izraz je istinit", "Izraz je neistinit"), vraća "Izraz je istinit".

=IF("12"=12;"Izraz je istinit", "Izraz je neistinit"), vraća "Izraz je neistinit"

Pretvorbe se izvode implicitno 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

Vrh stranice

Rukovanje prazninama, praznim nizovima i vrijednostima nula

U jeziku DAX null, prazna vrijednost, prazna ćelija ili vrijednost koja nedostaje predstavljaju se istom novom vrstom vrijednosti, BLANK. Praznine možete generirati i pomoću funkcije BLANK ili testirati praznine pomoću funkcije ISBLANK.

Način rukovanja prazninama u operacijama, kao što su zbrajanje ili povezivanje, ovisi o pojedinačnoj funkciji. U sljedećoj su tablici prikazane razlike između DAX formula i formula programa Microsoft Excel u pogledu obrade praznina.

Izraz DAX Excel
PRAZNO + PRAZNO PRAZNO 0 (nula)
PRAZNO +5 5 5
PRAZNO * 5 PRAZNO 0 (nula)
5/PRAZNO Beskonačnost Pogreška
0/PRAZNO NaN Pogreška
PRAZNO/PRAZNO PRAZNO Pogreška
FALSE ILI PRAZNO FALSE FALSE
FALSE I PRAZNO FALSE FALSE
TRUE ILI PRAZNO TRUE TRUE
TRUE I PRAZNO FALSE TRUE
PRAZNI ILI PRAZNI PRAZNO Pogreška
PRAZNI I PRAZNI PRAZNO Pogreška

Pojedinosti o postupanju s prazninama za određenu funkciju ili operator potražite u zasebnim temama za svaku DAX funkciju u odjeljku Referenca DAX funkcije.

Vrh stranice