V podatkovnem modelu ima vsak stolpec povezan podatkovni tip, ki določa tip podatkov, ki jih lahko vsebuje stolpec: cela števila, decimalna števila, besedilo, denarni podatki, datumi in časi itd. Podatkovni tip določa tudi, katere operacije lahko naredite v stolpcu in koliko pomnilnika je potrebno za shranjevanje vrednosti v stolpcu.
Če uporabljate dodatek Power Pivot, lahko spremenite podatkovni tip stolpca. To boste morda morali narediti, če je bil stolpec z datumom uvožen kot niz, vendar ga potrebujete za nekaj drugega. Če želite več informacij, glejte Nastavitev podatkovnega tipa stolpca vPower Pivot.
V tem članku
Povzetek podatkovnih tipov
V spodnji tabeli so navedeni podatkovni tipi, ki so podprti v podatkovnem modelu. Ko uvozite podatke ali uporabite vrednost v formuli, tudi če izvorni vir podatkov vsebuje drugačen podatkovni tip, so podatki pretvorjeni v enega od teh podatkovnih tipov. Te vrste podatkov uporabljajo tudi vrednosti, ki so rezultat formul.
Podatkovni tip v Excel |
Podatkovni tip v dax |
Opis |
---|---|---|
Celo število |
64-bitna (osembajtov) celoštevilska vrednost 1, 2 |
Števila brez decimalnih mest. Cela števila so lahko pozitivna ali negativna, vendar morajo biti cela števila med -9,223,372,036,854,775,808 (-2^63) in 9,223,372,036,854,775,807 (2^63-1). |
Decimalno število |
64-bitna (osembajtov) realno število 1, 2 |
Realna števila so števila z decimalnimi mesti. Realne številke zajemajo širok obseg vrednosti: Negativne vrednosti od -1,79E +308 do -2.23E -308 Nič Pozitivne vrednosti od 2,23E -308 do 1,79E + 308 Vendar pa je število pomembnih števk omejeno na 15 decimalnih mest. |
TRUE/FALSE |
Logičen |
Bodisi vrednost True ali False. |
Besedilo |
String |
Podatkovni niz znaka Unicode. Lahko so nizi, številke ali datumi, predstavljeni v besedilni obliki. Največja dolžina niza je 268.435.456 znakov Unicode (256 mega znakov) ali 536.870.912 bajtov. |
Datum |
Datum/čas |
Datumi in časi v sprejeti predstavitvi datuma in časa. Veljavni datumi so vsi datumi po 1. januarju 1900. |
Valuta |
Valuta |
Podatkovni tip »Valuta« omogoča vrednosti med –922.337.203.685.477.5808 in 922.337.203.685.477.5807 s štirimi decimalki nespremenljive natančnosti. |
Ni na voljo |
Prazno |
Prazno je podatkovni tip v dax, ki predstavlja in SQL ničelne vrednosti. S funkcijo BLANK lahko ustvarite prazno celico in preverite, ali so v celici prazna, in uporabite logično funkcijo ISBLANK. |
1 Formule DAX ne podpirajo vrst podatkov, ki so manjši od tistih, navedenih v tabeli.
2 Če poskušate uvoziti podatke z zelo velikimi številskimi vrednostmi, uvoz morda ne bo uspel s to napako:
Napaka zbirke podatkov v pomnilniku <: V stolpcu »ime stolpca>« tabele »ime tabele> <« je vrednost »1,7976931348623157e+308«, ki ni podprta. Postopek je bil preklican.
Do te napake pride, Power Pivot uporablja to vrednost za predstavitev ničelnih vrednosti. Vrednosti na tem seznamu so sopomenke za ničelno vrednost:
Value (Vrednost) |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2,2250738585072014e-308 |
Odstranite vrednost iz podatkov in poskusite uvoziti znova.
Podatkovni tip tabele
DAX uporablja podatkovni tip tabele v številnih funkcijah, kot so združevanja in izračuni podatkov o času. Nekatere funkcije zahtevajo sklic na tabelo; druge funkcije vrnejo tabelo, ki jo lahko nato uporabite kot vnos v druge funkcije. V nekaterih funkcijah, ki zahtevajo tabelo kot vnos, lahko določite izraz, ki ovrednoti tabelo; za nekatere funkcije potrebujete sklic na osnovno tabelo. Če želite informacije o zahtevah določenih funkcij, glejte Sklic funkcije DAX.
Implicitna in eksplicitna pretvorba podatkovnega tipa v formulah DAX
Vsaka funkcija DAX ima določene zahteve glede vrst podatkov, ki se uporabljajo kot vnosi in izhodni podatki. Nekatere funkcije na primer za nekatere argumente in datume zahtevajo cela števila; druge funkcije zahtevajo besedilo ali tabele.
Če podatki v stolpcu, ki ga določite kot argument, niso združljivi s podatkovnim tipom, ki ga zahteva funkcija, dax v številnih primerih vrne napako. Vendar pa bo daX poskušal implicitno pretvoriti podatke v zahtevani podatkovni tip, kadar koli bo to mogoče. Primer:
-
Datum lahko vnesete kot niz in DAX razčleni niz ter ga poskusi upodošil kot eno od Windows in ure.
-
Dodate lahko TRUE + 1 in dobite rezultat 2, ker je TRUE implicitno pretvorjena v število 1 in izvede se operacija 1+1.
-
Če dodate vrednosti v dva stolpca, ena vrednost pa je predstavljena kot besedilo ("12") in druga kot število (12), DAX implicitno pretvori niz v število in nato naredi seštevek številskega rezultata. Ta izraz vrne 44: = "22" + 22
-
Če poskušate spojiti dve števili, Excel jih boste predstavili kot nize in nato spojiti. Ta izraz vrne »1234«: = 12 & 34
V spodnji tabeli so povzete implicitne pretvorbe podatkovnih tip, ki se izvajajo v formulah. Excel izvede implicitne pretvorbe, kadar koli je to mogoče, kot to zahteva določena operacija.
Tabela implicitnih pretvorb podatkov
Vrsto izvedene pretvorbe določi operator, ki izračuna potrebne vrednosti, preden izvede zahtevano operacijo. V teh tabelah so navedeni operatorji in pretvorba, ki se izvede za vsak podatkovni tip v stolpcu, ko je v paru s podatkovnim tipom v vrstici, ki se seka.
Opomba: Besedilni podatkovni tipi v teh tabelah niso vključeni. Ko je število predstavljeno kot v besedilni obliki zapisa, Power Pivot v nekaterih primerih poskusi določiti vrsto številke in jo predstaviti kot številko.
Seštevec (+)
Operator (+) |
INTEGER |
CURRENCY |
REAL |
Datum/čas |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
Datum/čas |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
Datum/čas |
REAL |
REAL |
REAL |
REAL |
Datum/čas |
Datum/čas |
Datum/čas |
Datum/čas |
Datum/čas |
Datum/čas |
Če je na primer realno število uporabljeno pri seštevilu v kombinaciji s podatki o valuti, se obe vrednosti pretvorita v REAL in rezultat je vrnjen kot REAL.
Odštevanje (-)
V spodnji tabeli je glava vrstice minuend (leva stran) in glava stolpca je odštevek (desna stran).
Operator (-) |
INTEGER |
CURRENCY |
REAL |
Datum/čas |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/čas |
Datum/čas |
Datum/čas |
Datum/čas |
Datum/čas |
Če je na primer datum uporabljen v operaciji odštevanja s katero koli drugo vrsto podatkov, sta obe vrednosti pretvorjeni v datume, vrnjena vrednost pa je tudi datum.
Opomba: Podatkovni modeli podpirajo tudi nearni operator – (negativen), vendar ta operator ne spremeni podatkovnega tipa operanda.
Množenje (*)
Operator (*) |
INTEGER |
CURRENCY |
REAL |
Datum/čas |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
INTEGER |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
CURRENCY |
REAL |
REAL |
CURRENCY |
REAL |
REAL |
Če je na primer celo število združeno z realno število v množenju, sta obe števili pretvorjeni v realna števila, vrnjena vrednost pa je tudi REAL.
Deljenje (/)
V spodnji tabeli je glava vrstice števec, glava stolpca pa imenovalec.
Operator (/) (vrstica/stolpec) |
INTEGER |
CURRENCY |
REAL |
Datum/čas |
---|---|---|---|---|
INTEGER |
REAL |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/čas |
REAL |
REAL |
REAL |
REAL |
Če je na primer celo število združeno z vrednostjo valute v delitvi, sta obe vrednosti pretvorjeni v realna števila, rezultat pa je tudi realno število.
Operatorji primerjave
V izrazih primerjave se logične vrednosti obravnavajo kot večje kot vrednosti niza, vrednosti nizov pa so večje od številskih vrednosti ali vrednosti za datum/čas. Številske in datumske/časovne vrednosti imajo enak rang. Za logične ali nize se ne izvede nobena implicitna pretvorba; Prazna ali prazna vrednost se pretvori v 0/"/false, odvisno od podatkovnega tipa druge primerjane vrednosti.
To vedenje ponazarjajo ti izrazi DAX:
=IF(FALSE()>"true","Expression is true", "Expression is false"), vrne "Expression is true"
=IF("12">12,"Expression is true", "Expression is false"), vrne "Expression is true".
=IF("12"=12,"Izraz je resničen", "Izraz je neresničen"), vrne "Izraz je neresničen"
Pretvorbe se izvajajo implicitno za številske vrste ali vrste datuma/časa, kot je opisano v tej tabeli:
Operator primerjave |
INTEGER |
CURRENCY |
REAL |
Datum/čas |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/čas |
REAL |
REAL |
REAL |
Datum/čas |
Obravnavanje praznih celic, praznih nizov in ničelnih vrednosti
V dax so ničelne, prazne vrednosti, prazna celica ali manjkajoča vrednost vse predstavljene z enako novo vrsto vrednosti, s prazno vrednostjo. Prazne celice lahko ustvarite tudi s funkcijo BLANK ali s funkcijo ISBLANK preverite, ali so v celici prazne.
Način obdelave praznih podatkov v operacijah, kot je dodajanje ali spajanje, je odvisen od posamezne funkcije. V spodnji tabeli je povzetek razlik med formulami DAX in Microsoft Excel, kot so obravnavane prazne celice.
Izraz |
DAX |
Excel |
---|---|---|
PRAZNO + PRAZNO |
BLANK (PRAZNO) |
0 (ničla) |
PRAZNO +5 |
5 |
5 |
BLANK * 5 |
BLANK (PRAZNO) |
0 (ničla) |
5/PRAZNO |
Neskončno |
Napaka |
0/PRAZNO |
NaN |
Napaka |
PRAZNO/PRAZNO |
BLANK (PRAZNO) |
Napaka |
FALSE ALI PRAZNO |
FALSE |
FALSE |
FALSE IN PRAZNO |
FALSE |
FALSE |
TRUE ALI PRAZNO |
TRUE |
TRUE |
TRUE IN PRAZNO |
FALSE |
TRUE |
PRAZNO ALI PRAZNO |
BLANK (PRAZNO) |
Napaka |
PRAZNO IN PRAZNO |
BLANK (PRAZNO) |
Napaka |
Če želite podrobnosti o tem, kako posamezna funkcija ali operator obravnava prazne celice, glejte posamezne teme za vsako funkcijo DAX v razdelku Sklic na funkcijo DAX.