Datu modelī katrai kolonnai ir piesaistīts datu tips, kas norāda kolonnas datu tipu, ko var turēt: veseli skaitļi, decimālskaitļi, teksts, naudas dati, datumi un laiki utt. Datu tips arī nosaka, kāda veida operācijas var veikt kolonnā un cik daudz atmiņas nepieciešams, lai glabātu kolonnas vērtības.
Ja izmantojat pievienojumprogrammu Power Pivot, varat mainīt kolonnas datu tipu. Iespējams, ka tas ir jādara, ja datumu kolonna ir importēta kā virkne, bet tai ir jābūt kaut kam citam. Papildinformāciju skatiet rakstā Kolonnas datu tipa iestatīšana programmāPower Pivot.
Šajā rakstā
Datu tipu kopsavilkums
Tālāk sniegtajā tabulā ir norādīti datu modelī atbalstītie datu tipi. Importējot datus vai formulā izmantojot vērtību, pat ja sākotnējā datu avotā ir cits datu tips, dati tiek konvertēti par vienu no šiem datu tipiem. Vērtības, kas rodas no formulām, arī izmanto šos datu tipus.
Datu tips programmā Excel |
Datu tips programmā DAX |
Apraksts |
---|---|---|
Vesels skaitlis |
64 bitu (astoņu baitu) vesela skaitļa vērtība 1, 2 |
Skaitļiem bez decimāldaļas vietām. Veseli skaitļi var būt pozitīvi vai negatīvi, taču tiem jābūt veseliem skaitļiem starp -9,223,372,036,854,775,808 (-2^63) un 9,223,372,036,854,775,807 (2^63-1). |
Decimāldaļskaitlis |
64 bitu (astoņi baiti) reāls skaitlis 1, 2 |
Reāls skaitlis ir skaitļi, kuriem var būt decimāldaļas vietas. Reālie skaitļi aptver plašu vērtību diapazonu: Negatīvās vērtības no -1,79E +308 līdz -2,23E -308 Nulle Pozitīvas vērtības no 2,23E -308 līdz 1,79E + 308 Tomēr nozīmīgu ciparu skaits ir ierobežots līdz 15 decimāldaļskaitļiem. |
TRUE/FALSE |
Būla izteiksme |
Vērtība Patiess vai Aplams. |
Teksts |
Virkne |
Unikoda rakstzīmes datu virkne. Var būt virknes, skaitļi vai datumi teksta formātā. Maksimālais virknes garums ir 268 435 456 unikoda rakstzīmes (256 mega rakstzīmes) vai 536 870 912 baiti. |
Datums |
Datums/laiks |
Datumi un laiki akceptētā datuma/laika attēlojumā. Derīgie datumi ir visi datumi pēc 1900. gada 1. janvāra. |
Valūta |
Valūta |
Datu tips Valūta ļauj vērtības no -922 337 203 685 477,5808 līdz 922 337 203 685 477,5807 ar četriem noteikta precizitātes decimāldaļas cipariem. |
Neattiecas |
Tukša |
Tukšs datu tips ir DAX datu tips, kas apzīmē un aizstāj SQL nulles. Izmantojot funkciju BLANK, var izveidot tukšu šūnu, bet tukšās vietas pārbaudīt, izmantojot loģisko funkciju ISBLANK. |
1 DAX formulas neatbalsta datu tipus, kas ir mazāki par tabulā uzskaitītajiem.
2 Ja mēģināt importēt datus, kuros ir ļoti lielas skaitliskas vērtības, importēšana var neizdoties un var rasties šāda kļūda:
Atmiņas datu bāzes kļūda: tabulas <nosaukums> kolonnā <kolonnas nosaukums> ir vērtība 1,7976931348623157e+308, kas netiek atbalstīta. Darbība ir atcelta.
Šī kļūda rodas tāpēc Power Pivot ka šī vērtība tiek izmantota, lai attēlotu nulles. Vērtības šajā sarakstā ir null vērtības sinonīmi:
Vērtība |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2,2250738585072014e-308 |
Noņemiet vērtību no datiem un mēģiniet importēt vēlreiz.
Tabulas datu tips
DAX izmanto tabulas datu tipu daudzās funkcijās, piemēram, apkopojumus un laika informācijas aprēķinus. Dažām funkcijām ir nepieciešama atsauce uz tabulu. citas funkcijas atgriež tabulu, kuru pēc tam var izmantot kā ievadi citām funkcijām. Dažās funkcijās, kurām ir nepieciešama tabula kā ievade, varat norādīt izteiksmi, kas tiek novērtēta kā tabula. dažām funkcijām nepieciešama atsauce uz pamata tabulu. Papildinformāciju par konkrētu funkciju prasībām skatiet rakstā DAX funkciju atsauce.
Netieša un tieša datu tipa konvertēšana DAX formulās
Katrai DAX funkcijai ir specifiskas prasības attiecībā uz to datu tipiem, kas tiek izmantoti kā ievade un izvade. Piemēram, dažām funkcijām ir nepieciešami veseli skaitļi dažiem argumentiem un datumiem citiem; citām funkcijām ir nepieciešams teksts vai tabulas.
Ja dati kolonnā, ko norādāt kā argumentu, nav saderīgi ar funkcijas nepieciešamo datu tipu, DAX daudzos gadījumos atgriež kļūdu. Tomēr, ja vien iespējams, DAX mēģinās netieši konvertēt datus uz nepieciešamo datu tipu. Piemērs.
-
Varat ierakstīt datumu kā virkni, un DAX parsēs virkni un mēģinās to nodot kā vienu no Windows datuma un laika formātiem.
-
Varat pievienot TRUE + 1 un iegūt rezultātu 2, jo TRUE ir netieši konvertēta par skaitli 1, un tiek veikta darbība 1+1.
-
Ja pievienojat vērtības divās kolonnās un viena vērtība tiek attēlota kā teksts ("12"), bet otra — kā skaitlis (12), DAX netieši konvertē virkni par skaitli un pēc tam veic skaitliskā rezultāta pieskaiti. Šī izteiksme atgriež 44: = "22" + 22
-
Ja mēģināsit savienot divus skaitļus, programma Excel tos prezentēs kā virknes un pēc tam savienos. Šī izteiksme atgriež "1234": = 12 & 34
Šajā tabulā ir apkopota netiešā datu tipa konvertēšana, kas tiek veikta formulās. Programma Excel veic netiešas konvertēšanas, ja vien iespējams, kā to pieprasa norādītā darbība.
Tabula ar netiešām datu konvertēm
Veiktās pārvēršanas tipu nosaka operators, kurš pārvērš sev nepieciešamo vērtību pirms pieprasītās darbības veikšanas. Šajās tabulās ir uzskaitīti operatori un norādīta konvertēšana, kas tiek veikta katram datu tipam kolonnā, ja tas ir savienots pārī ar datu tipu krustpunkta rindā.
Piezīme.: Šajās tabulās netiek iekļauti teksta datu tipi. Ja skaitlis tiek attēlots kā teksta formātā, dažos gadījumos Power Pivot mēģinās noteikt skaitļa tipu un attēlot to kā skaitli.
Saskaitāmais (+)
Operators (+) |
INTEGER |
CURRENCY |
REAL |
Datums/laiks |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
Datums/laiks |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
Datums/laiks |
REAL |
REAL |
REAL |
REAL |
Datums/laiks |
Datums/laiks |
Datums/laiks |
Datums/laiks |
Datums/laiks |
Datums/laiks |
Piemēram, ja reāls skaitlis tiek izmantots papildu darbībā kopā ar valūtas datiem, abas vērtības tiek konvertētas par REAL, un rezultāts tiek atgriezts kā REAL.
Atņemšana (-)
Tālāk esošajā tabulā rindas galvene ir minuends (kreisajā pusē), un kolonnas galvene ir apakštrausms (labā puse).
Operators (-) |
INTEGER |
CURRENCY |
REAL |
Datums/laiks |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datums/laiks |
Datums/laiks |
Datums/laiks |
Datums/laiks |
Datums/laiks |
Piemēram, ja datums tiek izmantots atņemšanas darbībā ar jebkuru citu datu tipu, abas vērtības tiek konvertētas par datumiem un atgrieztā vērtība arī ir datums.
Piezīme.: Datu modeļi arī atbalsta neatr. operatoru - (negatīvs), bet šis operators nemaina operanda datu tipu.
Reizināšana (*)
Operators (*) |
INTEGER |
CURRENCY |
REAL |
Datums/laiks |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
INTEGER |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
CURRENCY |
REAL |
REAL |
CURRENCY |
REAL |
REAL |
Piemēram, ja vesels skaitlis tiek apvienots ar reālu skaitli reizināšanas operācijā, abi skaitļi tiek pārvērsti par reāliem skaitļiem un atgrieztā vērtība arī ir REAL.
Dalīšana (/)
Nākamajā tabulā rindas galvene ir skaitītājs, un kolonnas galvene ir saucējs.
Operators (/) (Rinda/kolonna) |
INTEGER |
CURRENCY |
REAL |
Datums/laiks |
---|---|---|---|---|
INTEGER |
REAL |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datums/laiks |
REAL |
REAL |
REAL |
REAL |
Piemēram, ja vesels skaitlis tiek apvienots ar valūtas vērtību dalīšanas operācijā, abas vērtības tiek pārvērstas par reāliem skaitļiem un rezultāts arī ir reāls skaitlis.
Salīdzinājuma operatori
Salīdzinājuma izteiksmēs Būla vērtības tiek uzskatītas par lielākām par virknes vērtībām, un virknes vērtības tiek uzskatītas par lielākām par skaitliskām vai datuma/laika vērtībām. skaitļiem un datuma/laika vērtībām tiek uzskatīts, ka tiem ir vienāds rangs. Būla vai virknes vērtībām netiek veikta netieša konvertēšana. Blank vai tukša vērtība tiek konvertēta par 0/""/false atkarībā no citas salīdzinātās vērtības datu tipa.
Tālāk norādītās DAX izteiksmes ilustrē šādu darbību:
=IF(FALSE()>"true","Izteiksme ir patiesa", "Izteiksme ir nepatiesa"), atgriež "Izteiksme ir patiesa"
=IF("12">12,"Izteiksme ir patiesa", "Izteiksme ir nepatiesa"), atgriež "Izteiksme ir patiesa".
=IF("12"=12,"Izteiksme ir patiesa", "Izteiksme ir nepatiesa"), atgriež "Izteiksme ir nepatiesa"
Konvertēšanu netieši veic skaitliskiem vai datuma/laika tipiem, kā aprakstīts šajā tabulā:
Salīdzināšanas operators |
INTEGER |
CURRENCY |
REAL |
Datums/laiks |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datums/laiks |
REAL |
REAL |
REAL |
Datums/laiks |
Rīcība ar tukšām virknēm, tukšām virknēm un nulles vērtībām
DAX vērtība Null, tukša vērtība, tukša šūna vai trūkstošā vērtība tiek attēlota ar to pašu jauno vērtības tipu BLANK. Tukšās vietas var arī ģenerēt, izmantojot funkciju BLANK, vai tukšās vietas pārbaudīt, izmantojot funkciju ISBLANK.
Tukšo vērtību apstrādi operācijās, piemēram, saskaitīšanos vai konkatenāciju, nosaka atsevišķa funkcija. Šajā tabulā apkopotas atšķirības starp DAX un Microsoft Excel formulām, apstrādāot tukšās šūnas.
Izteiksme |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
TUKŠA |
0 (nulle) |
BLANK +5 |
5 |
5 |
BLANK * 5 |
TUKŠA |
0 (nulle) |
5/BLANK |
Bezgalība |
Kļūda |
0/BLANK |
Nan |
Kļūda |
BLANK/BLANK |
TUKŠA |
Kļūda |
FALSE VAI BLANK |
FALSE |
FALSE |
APLAMS UN TUKŠS |
FALSE |
FALSE |
TRUE VAI BLANK |
PATIESS |
PATIESS |
TRUE AND BLANK |
APLAMS |
TRUE |
TUKŠS VAI TUKŠS |
TUKŠA |
Kļūda |
TUKŠS UN TUKŠS |
TUKŠA |
Kļūda |
Detalizētu informāciju par to, kā konkrēta funkcija vai operators apstrādā tukšas vietas, skatiet atsevišķas tēmas par katru DAX funkciju sadaļā DAX funkcijas atsauce.