Tietomallissa kuhunkin sarakkeeseen liittyy tietotyyppi, joka määrittää, minkä tyyppisiä tietoja sarake voi sisältää: kokonaislukuja, desimaalilukuja, tekstiä, raha-tietoja, päivämääriä ja kellonaikoja. Tietotyyppi määrittää myös, millaisia toimintoja sarakkeeseen voi tehdä ja kuinka paljon muistia sarakkeeseen tallentuu.
Jos käytät apuohjelmaa Power Pivot, 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 kohdassa Sarakkeen tietotyypin TE102896613.
Tämän artikkelin sisältö
Tietotyyppien yhteenveto
Seuraavassa taulukossa luetellaan tietomallin tukemat tietotyypit. Kun tuot tietoja tai käytät kaavassa arvoa, vaikka alkuperäinen tietolähde sisältää eri tietotyypin, tiedot muunnetaan joksikin näistä tietotyypeistä. Myös kaavoista peräisinvat arvot käyttävät näitä tietotyyppejä.
Tietotyyppi Excel |
Tietotyyppi DAX-tiedostossa |
Kuvaus |
---|---|---|
Kokonaisluku |
64-bittinen (kahdeksan tavua) kokonaislukuarvo 1, 2 |
Luvut, joissa ei ole desimaaleja. Kokonaisluvut voivat olla positiivisia tai negatiivisia lukuja, mutta niiden on oltava kokonaislukuja väliltä -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 desimaaleja. 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 Merkitsevät numerot ovat kuitenkin rajoitettu 15 desimaaliin. |
TOSI/EPÄTOSI |
totuusarvo |
Joko Tosi- tai Epätosi-arvo. |
Teksti |
String |
Unicode-merkkitietomerkkijono. Voi olla merkkijonoja, numeroita tai päivämääriä, jotka esitetään tekstimuodossa. Merkkijonon enimmäispituus on 268 435 456 Unicode-merkkiä (256 megatavua) tai 536 870 912 tavua. |
Päivämäärä |
Päivämäärä/kellonaika |
Päivämäärät ja ajat hyväksytyssä päivämäärä- ja aikatallennajassa. Kelvolliset päivämäärät ovat kaikki 1.1.1900 jälkeen päivämäärät. |
Valuutta |
Valuutta |
Valuutta-tietotyyppi sallii arvot -922 337 203 685 477,5808–922 337 203 685 477,5807 neljän desimaalin tarkkuudella. |
– |
Tyhjä |
Tyhjä on DAX-tiedoston tietotyyppi, joka edustaa tyhjiä tyhjäarvoja ja SQL korvataan. Voit luoda tyhjän TYHJÄ-funktion avulla ja testata tyhjät tiedot totuusfunktion ISBLANK-funktiolla. |
1 DAX-kaavat eivät tue tietotyyppejä, jotka ovat pienempiä kuin taulukossa.
2 Jos yrität tuoda tietoja, joissa on erittäin suuria numeerisia arvoja, tuonti voi epäonnistua ja tapahtuu seuraava virhe:
Muistitietokantavirhe: <-taulukon <-taulukon <-sarakkeen>>-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 tyhjiä arvoja esittävänä arvona. Seuraavan luettelon arvot ovat tyhjän arvon synonyymejä:
Arvo |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2,2250738585072014e-308 |
Poista arvo tiedoista ja yritä tuoda tiedot uudelleen.
Taulukon tietotyyppi
DAX käyttää taulukkotietotyyppiä useissa funktioissa, kuten koosteet ja aikatietojen laskutoimitukset. Jotkin funktiot edellyttävät viittausta taulukkoon. muut funktiot palauttavat taulukon, jota voidaan sitten käyttää syötteenä muille funktioille. Joissakin funktioissa, jotka edellyttävät syötteenä taulukkoa, voit määrittää lausekkeen, jonka arvoksi tulee taulukko. joidenkin funktioiden perustaulukkoon on viitattu. Lisätietoja tiettyjen funktioiden vaatimuksista on kohdassa DAX-funktion viitetiedot.
Implisiittinen ja eksplisiittinen tietotyypin muuntaminen DAX-kaavoissa
Jokaisella DAX-funktiolla on erityiset vaatimukset tietotyypeille, joita käytetään syötteiden ja tulostteena. Esimerkiksi joidenkin funktioiden argumentit ja päivämäärät edellyttävät kokonaislukuja. muut funktiot edellyttävät tekstiä tai taulukoita.
Jos argumenttina määritettävän sarakkeen tiedot eivät ole yhteensopivia funktion edellyttämän tietotyypin kanssa, DAX palauttaa usein virheen. Kuitenkin aina kun mahdollista DAX yrittää muuntaa tiedot implisiittisesti pakolliseksi tietotyypiksi. Esimerkiksi:
-
Voit kirjoittaa päivämäärän merkkijonona, jolloin DAX jäsentää merkkijonon ja yrittää antaa sen yhtenä Windows ja kellonaikamuodoista.
-
Voit lisätä arvon TOSI + 1 ja saada tuloksen 2, koska TOSI muunnetaan implisiittisesti numeroksi 1 ja toiminto 1+1 suoritetaan.
-
Jos lisäät arvoja kahteen sarakkeeseen ja toinen arvo esitetään tekstinä ("12") ja toinen lukuna (12), DAX muuntaa implisiittisesti merkkijonon tulokseksi ja tekee sitten yhteenlaskun numeerista tulosta varten. Seuraava lauseke palauttaa arvon 44: = "22" + 22
-
Jos yrität ketjuttaa kaksi lukua, Excel ne merkkijonoina ja ketjuta. Seuraava lauseke palauttaa arvon "1234": = 12 & 34
Seuraavassa taulukossa on yhteenveto kaavoissa suoritetuista implisiittisistä tietotyyppimuunnoksista. Excel suorittaa implisiittiset muunnokset aina, kun määritetty toiminto sitä edellyttää.
Implisiittisten tietojen muunnosten taulukko
Operaattori määrittää suoritettavan muuntotyypin, joka luo vaadittuja arvoja ennen pyydetyn toiminnon suorittamista. Nämä taulukot luettelevat operaattorit ja ilmaisevat sarakkeen kullekin tietotyypille suoritettavan muuntamisen, kun ne on yhdistetty leikkaavan rivin tietotyyppiin.
Huomautus: Tekstitietotyypit eivät sisälly näihin taulukoihin. Kun luku esitetään tekstimuodossa, joissakin 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ätoimintona valuuttatietojen kanssa, molemmat arvot muunnetaan REAL-arvoksi ja tulos palautetaan REAALILUKU-arvona.
Vähennyslasku (-)
Seuraavassa taulukossa riviotsikko on minuend (vasen puoli) ja sarakeotsikko on vähennyslasku (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ähennyslaskussa minkä tahansa muun tietotyypin kanssa, molemmat arvot muunnetaan päivämääriksi ja palautusarvo on myös päivämäärä.
Huomautus: Tietomallit tukevat myös unary-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 reaalilukuun kertolaskussa, molemmat luvut muunnetaan reaaliluvuiksi ja palautusarvo on myös REAL.
Jakolasku (/)
Seuraavassa taulukossa riviotsikko 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 kokonaisluku yhdistetään esimerkiksi jakotoiminnon valuutta-arvoon, molemmat arvot muunnetaan reaaliluvuiksi ja tulos on myös reaaliluku.
Vertailuoperaattorit
Vertailulausekkeissa totuusarvot katsotaan suurempiksi kuin merkkijonoarvot ja merkkijonoarvoja pidetään suurempina kuin numeerisia arvoja tai päivämäärä-/aika-arvoja. luvuilla ja päivämäärä-/aika-arvoilla on sama sijoitus. Totuusarvo- tai merkkijonoarvoille ei suoriteta implisiittistä muunnosta. TYHJÄ tai tyhjä arvo muunnetaan arvoksi 0/"/epätosi toisen vertailuarvon tietotyypin mukaan.
Seuraavat DAX-lausekkeet kuvaavat tätä toimintaa:
=JOS(EPÄTOSI()>"tosi","Lauseke on tosi", "Lauseke on epätosi"), palauttaa arvon "Lauseke on tosi"
=JOS("12">12,"Lauseke on tosi", "Lauseke on epätosi"), palauttaa arvon "Lauseke on tosi".
=JOS("12"=12,"Lauseke on tosi", "Lauseke on epätosi"), palauttaa "Lauseke on epätosi"
Muunnokset suoritetaan implisiittisesti numeerisille tyypeille tai päivämäärä-/aikatyypeille 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 |
Tyhjien arvojen, tyhjien merkkijonojen ja nolla-arvojen käsitteleminen
DAX-alueella tyhjäarvo, tyhjä solu tai puuttuva arvo esitetään samalla uudella arvotyypillä BLANK. Voit luoda tyhjiä tietoja myös TYHJÄ-funktiolla tai tyhjien solujen testaaminen ONT TYHJÄT-funktiolla.
Se, miten tyhjiä tietoja käsitellään toiminnoissa, kuten lisäyksessä tai ketjuttuminen, riippuu yksittäisestä funktiosta. Seuraavassa taulukossa on yhteenveto DAX- ja Microsoft Excel-kaavojen välisistä eroista siten kuin tyhjiä kaavoja käsitellään.
Lauseke |
DAX |
Excel |
---|---|---|
TYHJÄ + TYHJÄ |
TYHJÄ |
0 (nolla) |
TYHJÄ +5 |
5 |
5 |
TYHJÄ * 5 |
TYHJÄ |
0 (nolla) |
5/TYHJÄ |
Ääretön |
Virhe |
0/TYHJÄ |
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ä tietoja, on dax-funktion DAX-funktion ohjeaiheissa.