Andmemudelis on igal veerul seostatud andmetüüp, mis määrab, millist tüüpi andmeid veerg mahub: täisarvud, kümnendarvud, tekst, rahalised andmed, kuupäevad ja kellaajad jne. Andmetüüp määratleb ka seda, milliseid toiminguid saate veerus teha ja kui palju mälu kulub väärtuste salvestamiseks veergu.
Kui kasutate Power Pivot lisandmoodulit, saate muuta veeru andmetüüpi. Võimalik, et peate seda tegema juhul, kui kuupäevaveerg imporditi stringina, kuid see peab olema midagi muud. Lisateavet leiate teemast Veeru andmetüübi seadke TE102896613 .
Selle artikli teemad
Andmetüüpide kokkuvõte
Järgmises tabelis on loetletud andmemudelis toetatud andmetüübid. Kui impordite andmeid või kasutate valemis väärtust, isegi kui algne andmeallikas sisaldab muud andmetüüpi, teisendatakse andmed ühte neist andmetüüpidest. Valemitest tulenevad väärtused kasutavad ka neid andmetüüpe.
Andmetüüp Excel |
DAX-i andmetüüp |
Kirjeldus |
---|---|---|
Täisarv |
64-bitine (kaheksa baiti) täisarv väärtus 1, 2 |
Arvud, kus pole kümnendkohti. Täisarvud võivad olla positiivsed või negatiivsed arvud, kuid need peavad olema täisarvud vahemikus -9 223 372 036 854 775 808 (-2^63) ja 9 223 372 036 854 775 807 (2^63-1). |
Kümnendarv |
64-bitine (kaheksa baiti) reaalarv 1, 2 |
Reaalarvud on arvud, mille kümnendkohad võivad olla. Reaalarvud hõlmavad suurt hulka väärtusi. Negatiivsed väärtused alates -1,79E +308 kuni -2,23E -308 Null Positiivsed väärtused 2,23E -308 kuni 1,79E + 308 Oluliste numbrite arv on siiski piiratud 15 kümnendkohaga. |
TRUE/FALSE |
kahendmuutuja |
Väärtus True (Tõene) või False (Väär). |
Text (Tekst) |
String |
Unicode'i märgi andmestring. Tekstivormingus võivad olla stringid, arvud või kuupäevad. Stringi maksimaalne pikkus on 268 435 456 Unicode'i märki (256 mega märki) või 536 870 912 baiti. |
Kuupäev |
Kuupäev/kellaaeg |
Kuupäevad ja kellaajad aktsepteeritud kuupäeva-kellaaja esituses. Kehtivad kuupäevad on kõik kuupäevad pärast 1. jaanuari 1900. |
Valuuta |
Valuuta |
Valuuta andmetüüp võimaldab väärtusi vahemikus -922 337 203 685 477.5808 kuni 922 337 203 685 477.5807 koos nelja kümnendkohaga kindla täpsusega. |
Pole saadaval |
Tühi |
Tühi on DAX-i andmetüüp, mis tähistab ja asendab SQL tühiväärtusi. Tühja saate luua funktsiooni BLANK abil ja kontrollida tühikuid loogikafunktsiooni ISBLANK abil. |
1 DAX-i valem ei toeta tabelis loetletud andmetüüpidest väiksemaid andmetüüpe.
2 Kui proovite importida andmeid, mis on väga suured arvväärtustega, võib importimine nurjuda järgmise tõrkega.
Mälus andmebaasi tõrge. Tabeli "<tabeli nimi>" veerus "<veeru nimi>" on väärtus "1,7976931348623157e+308", mida ei toetata. Toiming on tühistatud.
See tõrge ilmneb seetõttu, Power Pivot kasutab seda väärtust tühiväärtuste tähistamiseks. Järgmises loendis on tühiväärtuse sünonüümid.
Value (Väärtus) |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2,2250738585072014e-308 |
Eemaldage väärtus oma andmetest ja proovige uuesti importida.
Tabeli andmetüüp
DAX kasutab tabeli andmetüüpi paljudes funktsioonides (nt liitmised ja ajateabe arvutused). Mõne funktsiooni jaoks on vaja viidet tabelile; muud funktsioonid tagastavad tabeli, mida saab seejärel kasutada teiste funktsioonide sisendina. Mõnes funktsioonis, mis nõuavad sisendina tabelit, saate määrata avaldise, mille tulem on tabel; mõne funktsiooni korral on vaja viidet baastabelile. Lisateavet konkreetsete funktsioonide nõuete kohta leiate teemast DAX-i funktsiooniviide.
DAX-i valemites kaudselt ja otseselt andmetüübi teisendamine
Igal DAX-funktsioonil on erinõuded sisendite ja väljunditena kasutatavate andmetüüpide kohta. Näiteks mõned funktsioonid nõuavad teiste jaoks teatud argumentide ja kuupäevade täisarvu; muud funktsioonid nõuavad teksti või tabeleid.
Kui argumendina määratud veeru andmed ei ühildu funktsiooni nõutava andmetüübiga, tagastab DAX paljudel juhtudel tõrke. Kui võimalik, proovib DAX andmed kaudselt nõutavaks andmetüübiks teisendada. Näiteks:
-
Kuupäeva saate tippida stringina ja DAX sõelub stringi ja proovib selle sisestada ühe Windows kuupäeva- ja kellaajavorminguna.
-
Saate lisada true + 1 ja saada tulemi 2, kuna TRUE teisendatakse kaudselt arvuks 1 ja toiming 1+1 tehakse.
-
Kui lisate väärtused kahte veergu ja üks väärtus on juhtumisi tekstina ("12") ja teine arvuna (12), teisendab DAX kaudselt stringi arvuks ja lisab seejärel arvulise tulemi. Järgmine avaldis tagastab väärtuse 44: = "22" + 22
-
Kui proovite ühendada kahte arvu, Excel kuvatakse need stringidena ja ühendatakse. Järgmine avaldis tagastab väärtuse "1234": = 12 & 34
Järgmises tabelis on kokku võetud valemites tehtud kaudsed andmetüübiteisendused. Excel teeb võimaluse korral kaudselt konversioone vastavalt määratud toimingule.
Kaudsete andmeteisenduste tabel
Teisendustüübi määrab tehtemärk, mis esitab nõutavad väärtused enne taotletud toimingu tegemist. Nendes tabelites loetletakse tehtemärgid ja tähistatakse teisendust, mis tehakse veeru iga andmetüübiga, kui see on seotud lõikuva rea andmetüübiga.
Märkus.: Teksti andmetüüpe neis tabelites ei kaasata. Kui arv on esitatud tekstivormingus, proovib Power Pivot määrata numbritüübi ja tähistada seda arvuna.
Lisamine (+)
Tehtemärk (+) |
INTEGER |
CURRENCY |
REAL |
Kuupäev/kellaaeg |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
Kuupäev/kellaaeg |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
Kuupäev/kellaaeg |
REAL |
REAL |
REAL |
REAL |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Näiteks kui lisamistoimingus kasutatakse reaalnumbrit koos valuutaandmetega, teisendatakse mõlemad väärtused realisväärtuseks JA tulem tagastatakse realis.
Lahutamine (-)
Järgmises tabelis on reapäis miinusmärk (vasak pool) ja veerupäis on alamtrahend (parem pool).
Tehtemärk (-) |
INTEGER |
CURRENCY |
REAL |
Kuupäev/kellaaeg |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Kuupäev/kellaaeg |
Näiteks kui lahutamistoimingus kasutatakse kuupäeva mis tahes muu andmetüübiga, teisendatakse mõlemad väärtused kuupäevadeks ja tagastatav väärtus on ka kuupäev.
Märkus.: Andmemudelid toetavad ka unary tehtemärki – (negatiivne), kuid see tehtemärk ei muuda operandi andmetüüpi.
Korrutamine (*)
Tehtemärk (*) |
INTEGER |
CURRENCY |
REAL |
Kuupäev/kellaaeg |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
INTEGER |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
CURRENCY |
REAL |
REAL |
CURRENCY |
REAL |
REAL |
Näiteks kui täisarv kombineeritakse korrutustoimingu reaalarvuga, teisendatakse mõlemad arvud reaalarvuks ja tagastatav väärtus on ka REAL.
Jagamine (/)
Järgmises tabelis on reapäis lugeja ja veerupäis nimetaja.
Tehtemärk (/) (Rida/veerg) |
INTEGER |
CURRENCY |
REAL |
Kuupäev/kellaaeg |
---|---|---|---|---|
INTEGER |
REAL |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Kuupäev/kellaaeg |
REAL |
REAL |
REAL |
REAL |
Näiteks kui täisarv kombineeritakse jagamistoimingu valuutaväärtusega, teisendatakse mõlemad väärtused reaalarvuks ja tulem on ka reaalarv.
Võrdlusmärgid
Võrdlusavaldistes loetakse kahendväärtusi suuremaks kui stringiväärtusi ja stringiväärtusi peetakse arvulistest või kuupäeva-/kellaajaväärtustest suuremaks; arvud ja kuupäeva-/kellaajaväärtused loetakse samaks. Kahend- või stringiväärtuste puhul kaudseid teisendusi ei tehta; TÜHI või tühi väärtus teisendatakse väärtuseks 0/""/false olenevalt teise võrdlusväärtuse andmetüübist.
Seda illustreerivad järgmised DAX-i avaldised.
=IF(FALSE()>"true";"Avaldis on tõene", "Avaldis on väär"), tagastab tulem "Avaldis on tõene"
=IF("12">12;"Avaldis on tõene", "Avaldis on väär"), tagastab väärtuse "Avaldis on tõene".
=IF("12"=12;"Avaldis on tõene", "Avaldis on väär"), tagastab tulem "Avaldis on väär"
Teisendused tehakse kaudselt arvuliste või kuupäeva-/kellaajatüüpide jaoks, nagu on kirjeldatud järgmises tabelis.
Võrdlusmärk |
INTEGER |
CURRENCY |
REAL |
Kuupäev/kellaaeg |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Kuupäev/kellaaeg |
REAL |
REAL |
REAL |
Kuupäev/kellaaeg |
Tühjade, tühjade stringide ja nullväärtuste käitlemine
DAX-i korral on tühiväärtus, tühi lahter või puuduv väärtus sama uue väärtusetüübiga TÜHI. Tühikuid saate luua ka funktsiooni BLANK abil või testida tühikuid funktsiooni ISBLANK abil.
Tühjade toimingute (nt liitmine või ühendamine) käsitlemine sõltub konkreetsest funktsioonist. Järgmises tabelis on kokku võetud DAX-i ja Microsoft Excel valemite erinevused nii, nagu toormeid käsitsetakse.
Avaldis |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
BLANK |
0 (null) |
BLANK +5 |
5 |
5 |
TÜHI * 5 |
BLANK |
0 (null) |
5/BLANK |
Lõpmatus |
Tõrge |
0/BLANK |
NaN |
Tõrge |
TÜHI/TÜHI |
BLANK |
Tõrge |
FALSE VÕI BLANK |
FALSE |
FALSE |
FALSE JA BLANK |
FALSE |
FALSE |
TRUE VÕI BLANK |
TRUE |
TRUE |
TRUE JA BLANK |
FALSE |
TRUE |
TÜHI VÕI TÜHI |
BLANK |
Tõrge |
TÜHI JA TÜHI |
BLANK |
Tõrge |
Üksikasju selle kohta, kuidas konkreetne funktsioon või tehtemärk tühje tehteid käsitleb, leiate iga DAX-funktsiooni üksikutest teemadest jaotisest DAX-i funktsiooniviide.