Tietotyypit tietomalleissa

Käytetään kohteeseen
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Tietomallissa kullakin sarakkeella on liittyvä tietotyyppi, joka määrittää, millaisia tietoja sarakkeessa voi olla: kokonaislukuja, desimaalilukuja, tekstiä, rahamääräisiä tietoja, päivämääriä ja aikoja jne. Tietotyyppi määrittää myös, millaisia toimintoja sarakkeessa voi tehdä ja kuinka paljon muistia sarakkeiden arvojen tallentamiseen kuluu.

Jos käytät Power Pivot -apuohjelmaa, voit muuttaa sarakkeen tietotyyppiä. Tämä voi olla tarpeen, jos päivämääräsarake on tuotu merkkijonona, mutta sen on oltava jokin muu. Lisätietoja on artikkelissa Sarakkeen tietotyypin määrittäminen Power Pivotissa.

Artikkelin sisältö

Tietotyyppien yhteenveto

Seuraavassa taulukossa on lueteltu tietotyypit, joita tietomalli tukee. Kun tuot tietoja tai käytät arvoa kaavassa, vaikka alkuperäinen tietolähde sisältää eri tietotyypin, tiedot muunnetaan yhdeksi näistä tietotyypeistä. Kaavoista peräisin olevat arvot käyttävät myös näitä tietotyyppejä.

Tietotyyppi Excelissä DAX-tietotyyppi Kuvaus
Kokonaisluku 64-bittisen (kahdeksan tavun) kokonaislukuarvo 1, 2 Luvut, joissa ei ole desimaalia. Kokonaisluvut voivat olla positiivisia tai negatiivisia lukuja, mutta niiden on oltava kokonaislukuja välillä -9 223 372 036 854 775 808 (-2^63) ja 9 223 372 036 854 775 807 (2^63-1).
Desimaaliluku 64-bittinen (kahdeksan tavua) reaaliluku 1, 2 Reaaliluvut ovat lukuja, joissa voi olla desimaalilukuja. Reaaliluvut kattavat laajan arvoalueen:
Negatiiviset arvot väliltä -1,79E +308 –2,23E -308
Nolla
Positiiviset arvot väliltä 2,23E -308– 1,79E + 308
Merkitsevien numeroiden määrä on kuitenkin rajoitettu 15 desimaaliin.
TOSI/EPÄTOSI totuusarvo Joko Tosi- tai Epätosi-arvo.
Teksti String Unicode-merkkien tietomerkkijono. Voi olla merkkijonoja, numeroita tai päivämääriä, jotka esitetään tekstimuodossa.
Merkkijonon enimmäispituus on 268 435 456 Unicode-merkkiä (256 megamerkkiä) tai 536 870 912 tavua.
Päivämäärä Päivämäärä/kellonaika Hyväksytyn päivämäärä- ja kellonaikaesityksen päivämäärät ja kellonajat.
Kelvolliset päivämäärät ovat kaikki päivämäärät 1.1.1900 jälkeen.
Valuutta Valuutta Valuutta-tietotyyppi sallii arvot välillä -922 337 203 685 477,5808–922 337 203 685 477,5807 ja neljä kiinteän tarkkuuden desimaalilukua.
Tyhjä Tyhjä on DAX-tietotyyppi, joka edustaa ja korvaa SQL-tyhjäarvoja. Voit luoda tyhjän tyhjän tyhjän funktion avulla ja testata tyhjiä kohtia käyttämällä loogista FUNKTIOTA ISBLANK.

1 DAX-kaavat eivät tue taulukossa lueteltuja tietotyyppejä pienempiä tietotyyppejä.

2 Jos yrität tuoda tietoja, joissa on erittäin suuria numeerisia arvoja, tuonti voi epäonnistua seuraavasti:

Muistitietokannan virhe:< Taulukon nimi -taulukon sarakkeen< nimi>> -sarake sisältää arvon 1,7976931348623157e+308, jota ei tueta. Toiminto on peruutettu.

Tämä virhe ilmenee, koska Power Pivot käyttää tätä arvoa null-arvojen esittämiseen. Seuraavan luettelon arvot ovat tyhjäarvon synonyymejä:

Arvo
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2.2250738585072014e-308

Poista arvo tiedoista ja yritä tuoda se uudelleen.

Taulukon tietotyyppi

DAX käyttää taulukon tietotyyppiä monissa funktioissa, kuten koosteissa ja aikatietojen laskutoimituksissa. Jotkin funktiot edellyttävät viittausta taulukkoon. muut funktiot palauttavat taulukon, jota voidaan sitten käyttää syötteenä muihin funktioihin. Joissakin funktioissa, jotka edellyttävät taulukkoa syötteenä, voit määrittää lausekkeen, joka arvioidaan taulukoksi. Joissakin funktioissa tarvitaan viittaus perustaulukkoon. Lisätietoja tiettyjen funktioiden vaatimuksista on artikkelissa DAX-funktioviittaus.

Implisiittinen ja eksplisiittinen tietotyypin muuntaminen DAX-kaavoissa

Kullakin DAX-funktiolla on tiettyjä vaatimuksia syötteinä ja tuloina käytettävien tietotyyppien osalta. Jotkin funktiot vaativat esimerkiksi kokonaislukuja joillekin argumenteille ja päivämäärille. muut funktiot edellyttävät tekstiä tai taulukoita.

Jos argumentiksi määrittämäsi sarakkeen tiedot eivät ole yhteensopivia funktion vaatiman tietotyypin kanssa, DAX palauttaa usein virheen. Dax yrittää kuitenkin muuntaa tiedot pakolliseksi tietotyypiksi aina, kun se on mahdollista. Esimerkki:

  • Voit kirjoittaa päivämäärän merkkijonona, jolloin DAX jäsentää merkkijonon ja yrittää antaa sen Windowsin päivämäärä- ja aikamuotoiluna.
  • Voit lisätä arvon TOSI + 1 ja saada tuloksen 2, koska TOSI muunnetaan implisiittisesti luvuksi 1 ja toiminto 1+1 suoritetaan.
  • Jos lisäät arvoja kahteen sarakkeeseen ja toinen arvo näkyy tekstinä ("12") ja toinen lukuna (12), DAX muuntaa merkkijonon implisiittisesti luvuksi ja lisää sitten numeerisen tuloksen. Seuraava lauseke palauttaa arvon 44: = "22" + 22
  • Jos yrität yhdistää kaksi numeroa, Excel esittää ne merkkijonoina ja ketjuttaa ne. Seuraava lauseke palauttaa arvon "1234": = 12 & 34

Seuraavassa taulukossa on yhteenveto kaavoissa suoritettavista implisiittisistä tietotyyppimuunnoksista. Excel suorittaa implisiittiset muunnokset aina kun se on mahdollista määritetyn toiminnon edellyttämällä tavalla.

Implisiittisten tietojen muunnostaulukko

Suoritettavan muunnoksen tyypin määrittää operaattori, joka määrittää vaatimansa arvot ennen pyydetyn toiminnon suorittamista. Näissä taulukoissa luetellaan operaattorit ja ilmoitetaan muunnos, joka suoritetaan sarakkeen jokaiselle tietotyypille, kun se yhdistetään leikkaavan rivin tietotyyppiin.

Huomautus

Tekstitietotyyppejä ei sisällytetä näihin taulukoihin. Kun luku esitetään tekstimuodossa, joissakin tapauksissa Power Pivot yrittää määrittää lukutyypin ja esittää sen lukuna.

Lisäys (+)

Operaattori (+) INTEGER VALUUTTA REAL Päivämäärä/kellonaika
INTEGER INTEGER VALUUTTA REAL Päivämäärä/kellonaika
VALUUTTA VALUUTTA VALUUTTA REAL Päivämäärä/kellonaika
REAALI REAALI REAALI REAALI Päivämäärä/kellonaika
Päivämäärä/kellonaika Päivämäärä/kellonaika Päivämäärä/kellonaika Päivämäärä/kellonaika Päivämäärä/kellonaika

Jos esimerkiksi reaalilukua käytetään lisätoiminnossa yhdessä valuuttatietojen kanssa, molemmat arvot muunnetaan REAL-arvoiksi ja tulos reaaliarvoksi.

Vähennyslasku (-)

Seuraavassa taulukossa rivin otsikko on minuend (vasen puoli) ja sarakeotsikko on vähennysotsikko (oikea puoli).

Operaattori (-) INTEGER VALUUTTA REAL Päivämäärä/kellonaika
INTEGER INTEGER VALUUTTA REAALI REAALI
VALUUTTA VALUUTTA VALUUTTA REAALI REAALI
REAALI REAALI REAALI REAALI REAALI
Päivämäärä/kellonaika Päivämäärä/kellonaika Päivämäärä/kellonaika Päivämäärä/kellonaika Päivämäärä/kellonaika

Jos esimerkiksi päivämäärää käytetään vähennyslaskutoiminnossa jonkin muun tietotyypin kanssa, molemmat arvot muunnetaan päivämääriksi ja palautusarvo on myös päivämäärä.

Huomautus

Tietomallit tukevat myös epämuodostumatonta operaattoria ( negatiivinen), mutta tämä operaattori ei muuta operandin tietotyyppiä.

Kertolasku (*)

Operaattori (*) INTEGER VALUUTTA REAL Päivämäärä/kellonaika
INTEGER INTEGER VALUUTTA REAL INTEGER
VALUUTTA VALUUTTA REAL VALUUTTA VALUUTTA
REAALI REAALI VALUUTTA REAALI REAALI

Jos esimerkiksi kokonaisluku yhdistetään kertolaskutoiminnon reaalilukuun, molemmat luvut muunnetaan reaaliluvuiksi ja palautusarvo on myös REAL.

Jako (/)

Seuraavassa taulukossa rivin otsikko on osoittaja ja sarakeotsikko nimittäjä.

Operaattori (/)
(Rivi/sarake)
INTEGER VALUUTTA REAL Päivämäärä/kellonaika
INTEGER REAL VALUUTTA REAALI REAALI
VALUUTTA VALUUTTA REAL VALUUTTA REAALI
REAALI REAALI REAALI REAALI REAALI
Päivämäärä/kellonaika REAALI REAALI REAALI REAALI

Jos esimerkiksi kokonaisluku yhdistetään jakotoiminnon valuutta-arvoon, molemmat arvot muunnetaan reaaliluvuiksi ja tulos on myös reaaliluku.

Vertailuoperaattorit

Vertailulausekkeissa totuusarvoja pidetään suurempina kuin merkkijonoarvoja ja merkkijonoarvoja pidetään suurempina kuin numeerisia arvoja tai päivämäärä-/aika-arvoja. lukuja ja päivämäärä-/kellonaika-arvoja pidetään samassa sijainnissa. Totuusarvoille tai merkkijonoarvoille ei tehdä implisiittisiä muunnoksia. TYHJÄ tai tyhjä arvo muunnetaan arvoksi 0/"/epätosi toisen verratun arvon tietotyypin mukaan.

Seuraavat DAX-lausekkeet kuvaavat tätä toimintaa:

=JOS(EPÄTOSI()>"tosi","Lauseke on tosi", "Lauseke on epätosi"), palauttaa "Lauseke on tosi"

=JOS("12">12,"Lauseke on tosi", "Lauseke on epätosi"), palauttaa "Lauseke on tosi".

=JOS("12"=12,"Lauseke on tosi", "Lauseke on epätosi"), palauttaa "Lauseke on epätosi"

Muunnokset suoritetaan implisiittisesti numeerisille tai päivämäärä-/kellonaikatyypeille seuraavassa taulukossa kuvatulla tavalla:

Vertailuoperaattori INTEGER VALUUTTA REAL Päivämäärä/kellonaika
INTEGER INTEGER VALUUTTA REAALI REAALI
VALUUTTA VALUUTTA VALUUTTA REAALI REAALI
REAALI REAALI REAALI REAALI REAALI
Päivämäärä/kellonaika REAALI REAALI REAALI Päivämäärä/kellonaika

Sivun alkuun

Tyhjien, tyhjien merkkijonojen ja nolla-arvojen käsitteleminen

DAX:ssä tyhjäarvo, tyhjä arvo, tyhjä solu tai puuttuva arvo esitetään samalla uudella arvotyypillä, TYHJÄ-arvolla. Voit myös luoda tyhjiä tyhjät arvot TYHJÄ-funktiolla tai testata tyhjiä kohtia ISBLANK-funktion avulla.

Se, miten tyhjiä kohtia käsitellään toiminnoissa, kuten yhteen- tai ketjuttamistoiminnoissa, määräytyy yksittäisen funktion mukaan. Seuraavassa taulukossa on yhteenveto DAX- ja Microsoft Excel -kaavojen välisistä eroista siinä, miten tyhjiä kaavoja käsitellään.

Expression DAX Excel
TYHJÄ + TYHJÄ TYHJÄ 0 (nolla)
BLANK +5 5 5
TYHJÄ * 5 TYHJÄ 0 (nolla)
5/TYHJÄ Ääretön Virhe
0/BLANK Nan Virhe
TYHJÄ/TYHJÄ TYHJÄ Virhe
EPÄTOSI TAI TYHJÄ EPÄTOSI EPÄTOSI
EPÄTOSI JA TYHJÄ EPÄTOSI EPÄTOSI
TOSI TAI TYHJÄ TOSI TOSI
TOSI JA TYHJÄ EPÄTOSI TOSI
TYHJÄ TAI TYHJÄ TYHJÄ Virhe
TYHJÄ JA TYHJÄ TYHJÄ Virhe

Lisätietoja siitä, miten tietty funktio tai operaattori käsittelee tyhjiä kohtia, on kunkin DAX-funktion yksittäisissä ohjeaiheissa dax-funktioviittaus-osassa.

Sivun alkuun