Duomenų modelių duomenų tipai

Taikoma
„Excel“, skirta „Microsoft 365“ „Excel 2024“ Excel 2021 Excel 2019 Excel 2016

Duomenų modelyje kiekvienas stulpelis turi susietą duomenų tipą, kuris nurodo, kokio tipo duomenis stulpelyje gali būti: sveikieji skaičiai, dešimtainiai skaičiai, tekstas, piniginiai duomenys, datos ir laikas ir t. t. Duomenų tipas taip pat nustato, kokio tipo operacijas galite atlikti su stulpeliu ir kiek atminties reikia reikšmėms stulpelyje išsaugoti.

Jei naudojate "Power Pivot" papildinį, galite pakeisti stulpelio duomenų tipą. Tai gali tekti padaryti, jei datos stulpelis buvo importuotas kaip eilutė, bet reikia, kad jis būtų kažkas kitas. Daugiau informacijos rasite Stulpelio duomenų tipo nustatymas "Power Pivot".

Šiame straipsnyje:

Duomenų tipų suvestinė

Šioje lentelėje pateikiami duomenų modelio palaikomi duomenų tipai. Kai importuojate duomenis arba naudojate reikšmę formulėje, net jei pradiniame duomenų šaltinyje yra kitas duomenų tipas, duomenys konvertuojami į vieną iš šių duomenų tipų. Reikšmės, gaunamos iš formulių, taip pat naudoja šiuos duomenų tipus.

Duomenų tipas programoje "Excel" DAX duomenų tipas Aprašas
Sveikasis skaičius 64 bitų (aštuonių baitų) sveikojo skaičiaus reikšmė 1, 2 Skaičiai be dešimtainių vietų. Sveikieji skaičiai gali būti teigiami arba neigiami skaičiai, bet jie turi būti sveikieji skaičiai nuo -9,223,372,036,854,775,808 (-2^63) iki 9,223,372,036,854,775,807 (2^63-1).
Dešimtainis skaičius 64 bitų (aštuonių baitų) realusis skaičius 1, 2 Realieji skaičiai – tai skaičiai, kurie gali turėti dešimtaines skiltis. Realieji skaičiai apima platų reikšmių diapazoną:
Neigiamos reikšmės nuo -1.79E +308 iki -2.23E -308
Nulis
Teigiamos reikšmės nuo 2,23E -308 iki 1,79E + 308
Tačiau reikšminių skaitmenų skaičius ribojamas iki 15 skaitmenų po kablelio.
TEISINGA / KLAIDINGA bulio logika Reikšmė Teisinga arba Klaidinga.
Tekstas Eilutė "Unicode" simbolio duomenų eilutė. Gali būti eilutės, skaičiai arba datos, pateikiamos teksto formatu.
Maksimalus eilutės ilgis yra 268 435 456 "Unicode" simboliai (256 dideli simboliai) arba 536 870 912 baitų.
Data Data / laikas Datos ir laikai patvirtintoje datos ir laiko išraiškoje.
Visos galiojančios datos yra po 1900 m. sausio 1 d.
Valiuta Valiuta Valiutos duomenų tipas leidžia reikšmes nuo –922,337,203,685,477.5808 iki 922,337,203,685,477.5807 su keturiais fiksuoto tikslumo dešimtainiais skaitmenimis.
Netaikoma Tušti šablonai Tuščias yra DAX duomenų tipas, kuris nurodo ir pakeičia SQL nulius. Galite sukurti tuščią lauką naudodami funkciją BLANK ir patikrinti, ar yra tuščių laukų, naudodami loginę funkciją ISBLANK.

1 DAX formulės nepalaiko mažesnių duomenų tipų, nei nurodyta lentelėje.

2 Jei bandysite importuoti duomenis su labai didelėmis skaitinėmis reikšmėmis, importavimas gali nepavykti dėl šios klaidos:

Atminties duomenų bazės klaida: lentelės "lentelės< pavadinimas>" stulpelio pavadinimo> stulpelyje yra reikšmė "1.7976931348623157e+308",< kuri nepalaikoma. Operacija atšaukta.

Ši klaida įvyksta, nes "PowerPivot" naudoja šią reikšmę nuliniams reikšmiams parodyti. Toliau pateiktos reikšmės yra nulinės reikšmės sinonimai:

Reikšmė
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2.2250738585072014E-308

Pašalinkite reikšmę iš duomenų ir bandykite importuoti iš naujo.

Lentelės duomenų tipas

DAX naudoja lentelės duomenų tipą daugelyje funkcijų, pvz., agregavimuose ir laiko informacijos skaičiavimuose. Kai kurioms funkcijoms reikalinga nuoroda į lentelę; Kitos funkcijos pateikia lentelę, kuri vėliau gali būti naudojama kaip kitų funkcijų įvestis. Kai kuriose funkcijose, kurioms lentelė reikalinga kaip įvestis, galite nurodyti reiškinį, kuris įvertina lentelę; Kai kurioms funkcijoms būtina nuoroda į pagrindinę lentelę. Informacijos apie konkrečių funkcijų reikalavimus žr. DAX funkcijos nuoroda.

Netiesioginis ir tiesioginis duomenų tipo konvertavimas DAX formulėse

Kiekviena DAX funkcija turi konkrečius reikalavimus duomenų tipams, kurie naudojami kaip įvestys ir išvestys. Pavyzdžiui, kai kurios funkcijos reikalauja sveikųjų skaičių vieniems argumentams, o datų – kitoms; Kitoms funkcijoms reikalingas tekstas arba lentelės.

Jei stulpelio, kurį nurodote kaip argumentą, duomenys nesuderinami su funkcijai reikalingu duomenų tipu, DAX daugeliu atvejų pateiks klaidą. Tačiau, kai tik įmanoma, DAX bandys netiesiogiai konvertuoti duomenis į reikiamą duomenų tipą. Pavyzdžiui:

  • Galite įvesti datą kaip eilutę, o DAX išanalizuos eilutę ir bandys ją pateikti kaip vieną iš "Windows" datos ir laiko formatų.
  • Galite pridėti TRUE + 1 ir gauti rezultatą 2, nes TRUE netiesiogiai konvertuojama į skaičių 1 ir atliekama operacija 1+1.
  • Jei įtrauksite reikšmes į du stulpelius ir viena reikšmė bus pateikta kaip tekstas ("12"), o kita – kaip skaičius (12), DAX netiesiogiai konvertuos eilutę į skaičių ir tada atliks sudėtį, kad gautų skaitinį rezultatą. Ši išraiška pateikia 44: = "22" + 22
  • Jei bandysite sujungti du skaičius, "Excel" pateiks juos kaip eilutes ir tada sujungs. Ši išraiška pateikia "1234": = 12 & 34

Toliau pateiktoje lentelėje apibendrinami numanomi duomenų tipo konvertavimai, atliekami formulėse. Kai tik įmanoma, programa "Excel" atlieka netiesioginius konvertavimus, kaip to reikalauja nurodyta operacija.

Netiesioginių duomenų konvertavimų lentelė

Atliekamo konvertavimo tipą nustato operatorius, kuris prieš atlikdamas prašomą operaciją pateikia reikiamas reikšmes. Šiose lentelėse išvardijami operatoriai ir nurodomas konvertavimas, kuris atliekamas kiekvienam stulpelio duomenų tipui, kai jis suporuojamas su susikertančios eilutės duomenų tipu.

Pastaba

Teksto duomenų tipai į šias lenteles neįtraukti. Kai skaičius pateikiamas teksto formatu, kai kuriais atvejais "PowerPivot" bandys nustatyti skaičiaus tipą ir pateikti jį kaip skaičių.

Sudėtis (+)

Operatorius (+) INTEGER CURRENCY REAL Data / laikas
INTEGER INTEGER CURRENCY REAL Data / laikas
CURRENCY CURRENCY CURRENCY REAL Data / laikas
REAL REAL REAL REAL Data / laikas
Data / laikas Data / laikas Data / laikas Data / laikas Data / laikas

Pvz., jei sudėties operacijoje kartu su valiutos duomenimis naudojamas realusis skaičius, abi reikšmės konvertuojamos į REAL, o rezultatas grąžinamas kaip REAL.

Atimtis (-)

Šioje lentelėje eilutės antraštė yra minuend (kairėje pusėje), o stulpelio antraštė yra subtrahend (dešinėje).

Operatorius (-) INTEGER CURRENCY REAL Data / laikas
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Data / laikas Data / laikas Data / laikas Data / laikas Data / laikas

Pavyzdžiui, jei data naudojama atimties operacijoje su bet kuriuo kitu duomenų tipu, abi reikšmės konvertuojamos į datas, o grąžinama reikšmė taip pat yra data.

Pastaba

Duomenų modeliai taip pat palaiko vienetinį operatorių - (neigiamą), tačiau šis operatorius nekeičia operando duomenų tipo.

Daugyba (*)

Operatorius (*) INTEGER CURRENCY REAL Data / laikas
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Pavyzdžiui, jei daugybos operacijos metu sveikasis skaičius sujungiamas su realiuoju skaičiumi, abu skaičiai konvertuojami į realiuosius skaičius, o grąžinama reikšmė taip pat yra REAL.

Kvadratas (/)

Šioje lentelėje eilutės antraštė yra skaitiklis, o stulpelio antraštė yra vardiklis.

Operatorius (/)
(Eilutė / stulpelis)
INTEGER CURRENCY REAL Data / laikas
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Data / laikas REAL REAL REAL REAL

Pavyzdžiui, jei atliekant dalybos operaciją sveikasis skaičius sujungiamas su valiutos reikšme, abi reikšmės konvertuojamos į realiuosius skaičius, o rezultatas taip pat yra realusis skaičius.

Lyginimo operatoriai

Palyginimo išraiškose Bulio logikos reikšmės laikomos didesnėmis už eilutės reikšmes, o eilutės reikšmės – didesnėmis už skaitines arba datos / laiko reikšmes; Laikoma, kad skaičiai ir datos / laiko reikšmės turi tą patį rangą. Neatliekami jokie numanomi Bulio logikos ar eilučių reikšmių konvertavimai; BLANK arba tuščia reikšmė konvertuojama į 0/""/false, atsižvelgiant į kitos lyginamos reikšmės duomenų tipą.

Toliau nurodytos DAX išraiškos iliustruoja šią elgseną:

=IF(FALSE()>"true","Expression is true", "Expression is false"), pateikia "Expression is true"

=IF("12">12,"Išraiška teisinga", "Išraiška klaidinga"), pateikia "Išraiška teisinga".

=IF("12"=12,"Išraiška teisinga", "Išraiška klaidinga"), pateikia "Išraiška klaidinga"

Netiesiogiai konvertuojami skaitiniai arba datos / laiko tipai, kaip aprašyta šioje lentelėje:

Lyginimo operatorius INTEGER CURRENCY REAL Data / laikas
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Data / laikas REAL REAL REAL Data / laikas

Puslapio viršus

Tuščių, tuščių eilučių ir nulinių reikšmių tvarkymas

DAX neapibrėžta, tuščia reikšmė, tuščias langelis arba trūkstama reikšmė pateikiama naudojant tą patį naują reikšmės tipą BLANK. Taip pat galite generuoti tuščius langelius naudodami funkciją BLANK arba tikrinti, ar yra tuščių naudodami funkciją ISBLANK.

Kaip ruošiniai apdorojami operacijose, pvz., sudėjimo ar sujungimo, priklauso nuo konkrečios funkcijos. Šioje lentelėje apibendrinami skirtumai tarp DAX ir "Microsoft Excel" formulių, kaip tvarkomi tušti langeliai.

Reiškinys DAX Excel
BLANK + BLANK TUŠTI ŠABLONAI 0 (nulis)
TUŠTI +5 5 5
TUŠTI * 5 TUŠTI ŠABLONAI 0 (nulis)
5/TUŠČIAS Begalybė Klaida
0/TUŠČIAS NaN Klaida
TUŠČIA / TUŠČIA TUŠTI ŠABLONAI Klaida
FALSE OR BLANK FALSE FALSE
FALSE AND BLANK FALSE FALSE
TRUE OR BLANK TRUE TRUE
TRUE AND BLANK FALSE (klaidinga) TRUE
TUŠČIAS ARBA TUŠČIAS TUŠTI ŠABLONAI Klaida
TUŠTI IR TUŠTI TUŠTI ŠABLONAI Klaida

Išsamios informacijos apie tai, kaip konkreti funkcija ar operatorius apdoroja tuščius langelius, ieškokite atskirose kiekvienos DAX funkcijos temose skyriuje DAX funkcijos nuoroda.

Puslapio viršus