Andmemudelis on igal veerul seostatud andmetüüp, mis määrab veerus talletatavate andmete tüübi: täisarvud, kümnendarvud, tekst, rahalised andmed, kuupäevad ja kellaajad jne. Andmetüüp määrab ka, milliseid toiminguid saate veerus teha ja kui palju mälu kulub väärtuste veerus talletamiseks.
Kui kasutate lisandmoodulit Power Pivot, 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 TE102896613 veeru andmetüübi määramine .
Selle artikli teemad
Andmetüüpide kokkuvõte
Järgmises tabelis on loetletud andmemudelis toetatud andmetüübid. Andmete importimisel või valemis väärtuse kasutamisel (isegi kui algne andmeallikas sisaldab mõnda muud tüüpi andmeid) teisendatakse andmed ühte järgmistest andmetüüpidest. Valemitest tulenevad väärtused kasutavad ka neid andmetüüpe.
Andmetüüp Excelis |
Andmetüüp DAX-is |
Kirjeldus |
---|---|---|
Täisarv |
64-bitine (kaheksabaidine) täisarv 1, 2 |
Kümnendkohtadeta arvud. Täisarvud võivad olla positiivsed või negatiivsed arvud, kuid täisarvud vahemikus -9 223 372 036 854 775 808 (-2^63) kuni 9 223 372 036 854 775 807 (2^63-1). |
Kümnendarv |
64-bitine (kaheksabaidine) reaalarv 1, 2 |
Reaalarvud on arvud, millel võivad olla komakohad. Reaalarvud hõlmavad laia väärtustevahemikku: Negatiivsed väärtused vahemikus -1,79E +308 kuni -2,23E -308 Null Positiivsed väärtused vahemikus 2,23E–308 kuni 1,79E + 308 Tüvenumbrite arv on siiski piiratud 15 kümnendkohaga. |
TÕENE/VÄÄR |
kahendmuutuja |
Tõene või Väär väärtus. |
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 megamärki) või 536 870 912 baiti. |
Kuupäev |
Kuupäev/kellaaeg |
Aktsepteeritud kuupäeva- ja kellaajaesituse kuupäevad ja kellaajad. Kehtivad kuupäevad on kõik kuupäevad pärast 1. jaanuari 1900. |
Valuuta |
Valuuta |
Andmetüüp Valuuta võimaldab nelja kümnendkohaga väärtusi vahemikus -922 337 203 685 477,5808 kuni 922 337 203 685 477,5807. |
Pole saadaval |
Tühi |
Tühi on DAX-i andmetüüp, mis tähistab ja asendab SQL-i nulle. Saate luua tühja funktsiooni BLANK abil ja testida tühje lahtreid loogilise funktsiooni ISBLANK abil. |
1 DAX-i valemid ei toeta tabelis loetletud andmetüüpidest väiksemaid andmetüüpe.
2 Kui proovite importida väga suurte arvväärtustega andmeid, võib importimine nurjuda järgmise tõrketeatega:
Mälus andmebaasitõrge: tabeli "<tabeli nimi>" veerg "<veeru nimi>" sisaldab väärtust 1,7976931348623157e+308, mida ei toetata. Toiming on tühistatud.
See tõrge ilmneb seetõttu, et Power Pivot kasutab seda väärtust tühiväärtuste esitamiseks. Järgmise loendi väärtused on tühiväärtuse sünonüümid:
Value (Väärtus) |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2.2250738585072014e-308 |
Eemaldage andmetest väärtus ja proovige uuesti importida.
Tabeli andmetüüp
DAX kasutab tabeli andmetüüpi paljudes funktsioonides (nt liitmised ja ajateabe arvutused). Mõni funktsioon nõuab viidet tabelile; muud funktsioonid tagastavad tabeli, mida saab seejärel kasutada teiste funktsioonide sisendina. Mõnes funktsioonis, mis nõuab sisendina tabelit, saate määrata avaldise, mis hindab tabelit; mõne funktsiooni puhul on nõutav viide alustabelile. Lisateavet konkreetsete funktsioonide nõuete kohta leiate teemast DAX-i funktsiooniviide.
Kaudselt ja otse loodava andmetüübi teisendamine DAX-i valemites
Igal DAX-funktsioonil on sisendite ja väljunditena kasutatavate andmetüüpide kohta erinõuded. Näiteks nõuavad mõned funktsioonid teiste argumentide ja kuupäevade jaoks 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. Võimaluse korral proovib DAX siiski andmed kaudselt nõutavasse andmetüüpi teisendada. Siin on mõned näited.
-
Saate tippida kuupäeva stringina ja DAX sõelub stringi ja proovib seda esitada ühena Windowsi kuupäeva- ja kellaajavormingutest.
-
Võite lisada väärtuse TRUE + 1 ja saada tulemi 2, kuna TRUE teisendatakse kaudselt arvuks 1 ja toiming 1+1 sooritatakse.
-
Kui lisate väärtused kahte veergu ja üks väärtus esitatakse tekstina ("12") ja teine arvuna (12), teisendab DAX kaudselt stringi arvuks ja seejärel lisab arvulise tulemi. Järgmine avaldis tagastab väärtuse 44: = "22" + 22
-
Kui proovite ühendada kahte arvu, esitab Excel need stringidena ja seejärel ühendab. Järgmine avaldis tagastab väärtuse "1234": = 12 & 34
Järgmises tabelis on kokkuvõte valemites sooritatavatest kaudselt loodavatest andmetüübiteisendustest. Excel teeb alati kaudseid teisendusi, nagu määratud toiming nõuab.
Kaudselt teisendatavate andmeteisenduste tabel
Sooritatava teisenduse tüübi määrab tehtemärk, mis esitab enne taotletud toimingu sooritamist nõutavad väärtused. Nendes tabelites on loetletud tehtemärgid ja neis on ära toodud veeru iga andmetüübi teisendus, kui see on seotud ristuvas reas oleva andmetüübiga.
Märkus.: Nendesse tabelitesse ei kaasata teksti andmetüüpe. Kui arv on esitatud tekstivormingus, proovib Power Pivot mõnel juhul arvu tüüpi määratleda ja arvuna tähistada.
Liitmine (+)
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 liittoimingus kasutatakse koos valuutaandmetega reaalarvu, teisendatakse mõlemad väärtused väärtuseks REAL ja tulem tagastatakse väärtusena REAL.
Lahutamine (-)
Järgmises tabelis on reapäis miinus (vasak külg) ja veerupäis on lahutatud (parempoolne).
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 koos mis tahes muu andmetüübiga, teisendatakse mõlemad väärtused kuupäevadeks ja tagastusväärtus on samuti kuupäev.
Märkus.: Andmemudelid toetavad ka mittearvajalikku 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 korrutustoimingus reaalarvuga, teisendatakse mõlemad arvud tegelikeks arvudeks ja tagastusväärtus on ka REAL.
Rajoon (/)
Järgmises tabelis on reapäis lugeja ja veerupäis on 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 jagamistoimingus valuutaväärtusega, teisendatakse mõlemad väärtused reaalarvudeks ja tulem on ka reaalarv.
Võrdlusmärgid
Võrdlusavaldistes peetakse kahendväärtusi suuremaks kui stringiväärtusi ja stringiväärtusi peetakse suuremaks kui arv- või kuupäeva-/kellaajaväärtusi; arvudel ja kuupäeva/kellaaja väärtustel on sama asukoht. Loogika- või stringväärtuste puhul ei tehta kaudseid teisendusi; TÜHI või tühi väärtus teisendatakse väärtuseks 0/"/väär olenevalt teise võrreldava väärtuse andmetüübist.
Seda käitumist illustreerivad järgmised DAX-i avaldised:
=IF(FALSE()>"true","Expression is true", "Expression is false"), tagastab väärtuse "Expression is true"
=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 väärtuse "Avaldis on väär"
Teisendused tehakse arv- või kuupäeva-/kellaajatüüpide puhul kaudselt, 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 töötlemine
DAX-is tähistab tühi, tühi väärtus, tühi lahter või puuduv väärtus kõik sama uut tüüpi väärtust, mis on TÜHI. Samuti saate luua tühje lahtreid funktsiooni BLANK abil või testida tühje lahtreid funktsiooni ISBLANK abil.
Tühikute käsitlemine toimingutes (nt liitmine või ühendamine) sõltub konkreetsest funktsioonist. Järgmises tabelis on kokkuvõte DAX-i ja Microsoft Exceli valemite erinevustest tühikute käsitlemisel.
Avaldis |
DAX |
Excel |
---|---|---|
TÜHI + TÜHI |
TÜHI |
0 (null) |
TÜHI +5 |
5 |
5 |
TÜHI * 5 |
TÜHI |
0 (null) |
5/TÜHI |
LÕPMATUS |
Tõrge |
0/TÜHI |
Nan |
Tõrge |
TÜHI/TÜHI |
TÜHI |
Tõrge |
VÄÄR VÕI TÜHI |
FALSE |
FALSE |
VÄÄR JA TÜHI |
FALSE |
FALSE |
TÕENE VÕI TÜHI |
TRUE |
TRUE |
TRUE (TÕENE) JA BLANK (TÜHI) |
FALSE |
TRUE |
TÜHI VÕI TÜHI |
TÜHI |
Tõrge |
TÜHI JA TÜHI |
TÜHI |
Tõrge |
Lisateavet selle kohta, kuidas konkreetne funktsioon või tehtemärk tühikuid käsitseb, leiate iga DAX-i funktsiooni üksikteemadest jaotisest DAX-i funktsiooniviide.