Tyypit ja tyypin muunto
Power Query M käyttää tyyppejä luokittelemaan arvot jäsennellymmän tietojoukon määrittämiseksi. Tässä artikkelissa kuvataan yleisimmin käytetyt M-tyypit ja yhden tyypin muuntaminen toiseksi tyypiksi.
Yleisesti käytetyt tyypit
Tietotyypit viittaavat mihin tahansa tyyppiin, jota käytetään tiettyjen tietojen rakenteen selventämiseen. Yleisimmin käytetyt tietotyypit ovat primitiivisiä tyyppejä. Näitä tyyppejä ovat esimerkiksi seuraavat:
-
type any
, joka luokittelee minkä tahansa arvon. -
type null
, joka luokittelee tyhjäarvon. -
type logical
, joka luokittelee arvot tosi ja epätosi. -
type number
, joka luokittelee lukuarvot. -
type time
, joka luokittelee aika-arvot. -
type date
, joka luokittelee päivämääräarvot. -
type datetime
, joka luokittelee päivämäärä- ja aika-arvot. -
type datetimezone
, joka luokittelee päivämäärä- ja aikavyöhykearvot. -
type duration
, joka luokittelee kestoarvot. -
type text
, joka luokittelee tekstiarvot. -
type binary
, joka luokittelee binaariarvot. -
type type
, joka luokittelee tyyppiarvot. -
type list
, joka luokittelee luetteloarvot. -
type record
, joka luokittelee tietuearvot. -
type table
, joka luokittelee taulukkoarvot. -
type function
, joka luokittelee funktioarvot. -
type anynonnull
, joka luokittelee kaikki arvot paitsi tyhjäarvoa. -
type none
, joka ei luokittele arvoja.
Jos haluat lisätietoja näistä tyypeistä, siirry kohtaan Tyypit.
Näiden yleisten tietotyyppien lisäksi on olemassa myös joukko tietotyyppejä, jotka käyttävät muotoa *.Type
. Tämän muodon yleisimmin käytetyt tietotyypit ovat seuraavat:
-
Byte.Type
, joka luokittelee 8-bittisen numeroarvon. -
Int8.Type
, joka luokittelee 8-bittisen numeroarvon. -
Int16.Type
, joka luokittelee 16-bittisen numeroarvon. -
Int32.Type
, joka luokittelee 32-bittisen numeroarvon. -
Int64.Type
, joka luokittelee 64-bittisen lukuarvon. -
Single.Type
, joka luokittelee 9-numeroisen liukuluvun arvon. -
Double.Type
, joka luokittelee 17-numeroisen liukuluvun arvon. -
Decimal.Type
, joka luokittelee 15-numeroisen liukuluvun arvon. -
Currency.Type
, joka luokittelee 19-numeroisen lukuarvon, jossa on neljä numeroa "."-erottimen oikealla puolella. -
Percentage.Type
, joka luokittelee 15-numeroisen lukuarvon rajoitteen kanssa, jotta arvo muotoillaan prosenttilukuna. -
Guid.Type
, joka luokittelee GUID-tekstiarvon.
Primitiivityypit voidaan kirjoittaa myös *.Type
muodossa. Siksi voit kirjoittaa number
muodossa Number.Type
, record
muodossa Record.Type
ja niin edelleen.
Kun käytät mitä tahansa näistä tyypeistä, ota huomioon, että kaikkien M-koodien tavoin näissä tyypeissä kirjainkoko on merkitsevä.
Seuraavassa taulukossa on lisätietoja kustakin näistä tyypeistä.
Tietotyyppi | Kuvaus |
---|---|
any |
any tietotyyppi on tila, joka annetaan, kun arvolla ei ole eksplisiittistä tietotyypin määritystä.
any tyyppi on tietotyyppi, joka luokittelee kaikki arvot. |
binary |
binary tietotyyppiä voidaan käyttää edustamaan muita binaarimuotoisia tietoja. |
type |
Arvo, joka luokittelee muut arvot. Jos haluat lisätietoja, siirry kohtaan Tyypit. |
null |
Ilmaisee arvon puuttumisen tai määrittämättömän tai tuntemattoman tilan arvon. |
anynonnull |
Edustaa mitä tahansa tyyppiä, joka ei ole numeerinen. |
date |
Edustaa vain päivämäärää (ei aikaosaa). |
time |
Edustaa vain aikaa (ei päivämääräosaa). |
datetime |
Edustaa sekä päivämäärä- että aika-arvoa. Päivämäärän aikaosa tallennetaan murtolukuna 1/300 sekunnin (3,33 ms) kokonaislukukertojen mukaan. Päivämääriä vuosien 1900–9 9999 välillä tuetaan. |
datetimezone |
Edustaa UTC-päivämäärää ja -aikaa ja aikavyöhykkeen siirtymää. |
duration |
Edustaa ajan pituutta. Tämä tyyppi voidaan lisätä tai vähentää datetime kentästä oikeilla tuloksilla. Jos haluat lisätietoja, siirry kohtaan Keston. |
text |
Unicode-merkkitietomerkkijono. Voi olla merkkijono, numero tai päivämäärä, joka on esitetty tekstimuodossa. Merkkijonon enimmäispituus on 268 435 456 Unicode-merkkiä (joissa jokainen Unicode-merkki on kaksi tavua) tai 536 870 912 tavua. |
logical |
Totuusarvo joko true tai false . |
list |
-arvo, joka tuottaa arvojen sarjan, kun ne numeroidaan. Jos haluat lisätietoja, siirry kohtaan Luettelotyypit ja Luetteloarvot. |
record |
Järjestetty kenttien järjestys. Kukin kenttä sisältää kentän nimen ja kentän arvon. Lisätietoja on kohdassa tietuetyyppien ja Tietueen arvot. |
table |
Järjestetty rivien järjestys jaettuna sarakkeisiin. Jos haluat lisätietoja, siirry kohtaan Taulukkotyypit ja Taulukkoarvot. |
function |
Arvo, joka yhdistää argumenttijoukon yksittäiseen arvoon. Katso lisätietoja artikkelista Functions and Function types. |
number |
Edustaa mitä tahansa lukua, jota käytetään numeerisissa ja aritmeettiisissa toiminnoissa. Jos haluat lisätietoja, siirry kohtaan Number. |
Decimal.Type |
Edustaa 64-bittistä (kahdeksantavuista) liukulukua. Se on yleisin lukutyyppi ja vastaa lukuja sellaisena kuin yleensä ajattelet niitä. Vaikka se on suunniteltu käsittelemään murtolukuja sisältäviä arvoja, se käsittelee myös kokonaislukuja.
Decimal.Type pystyy käsittelemään negatiivisia arvoja väliltä –1,79E +308 ja –2,23E –308, 0, ja positiivisia arvoja väliltä 2,23E–308 ja 1,79E + 308. Esimerkiksi luvut 34, 34,01 ja 34,000367063 ovat kelvollisia desimaalilukuja. Suurin tarkkuus, joka voidaan esittää Decimal.Type on 15 numeroa pitkä. Desimaalierotin voi ilmetä missä tahansa luvun kohdassa.
Decimal.Type vastaa sitä, miten Excel tallentaa sen luvut. Huomaa, että binaarinen liukuluku ei voi edustaa kaikkia lukuja tuetulla alueellaan 100% tarkkuudella. Näin ollen pieniä eroja tarkkuudella voi ilmetä, kun edustavat tiettyjä desimaalilukuja. |
Currency.Type |
Tällä tietotyypillä on kiinteä sijainti desimaalierottimelle. Desimaalierottimen oikealla puolella on aina neljä numeroa, ja siinä voi olla 19 merkitsevyyttä olevaa numeroa. Suurin arvo, jota se voi edustaa, on 922 337 203 685 477,5807 (positiivinen tai negatiivinen). Toisin kuin Decimal.Type , Currency.Type on aina tarkka, joten se on hyödyllinen tapauksissa, joissa liukulukujen merkintätallennuksen epäsuositus saattaa aiheuttaa virheitä. |
Percentage.Type |
Periaatteessa sama kuin Decimal.Type , mutta sillä on rajoite, joka muotoilee arvot prosenttiarvoksi. |
Int8.Type |
Edustaa 8-bittistä (yksitavuista) allekirjoitettua kokonaislukuarvoa. Koska kyseessä on kokonaisluku, sillä ei ole numeroita desimaalipilkun oikealla puolella. Siinä voi olla kolme numeroa; positiivinen tai negatiivinen kokonaisluku väliltä –128–127. Kuten Currency.Type kohdalla, Int8.Type voi olla hyötyä tilanteissa, joissa sinun täytyy hallita pyöristystä. |
Int16.Type |
Edustaa 16-bittistä (kaksitavuista) allekirjoitettua kokonaislukuarvoa. Koska kyseessä on kokonaisluku, sillä ei ole numeroita desimaalipilkun oikealla puolella. Siinä voi olla kuusi numeroa; positiivinen tai negatiivinen kokonaisluku välillä –32 768 (–2^15) ja 32 767 (2^15-1). Kuten Currency.Type kohdalla, Int16.Type voi olla hyötyä tilanteissa, joissa sinun täytyy hallita pyöristystä. |
Int32.Type |
Edustaa 32-bittistä (nelitavuista) allekirjoitettua kokonaislukuarvoa. Koska kyseessä on kokonaisluku, sillä ei ole numeroita desimaalipilkun oikealla puolella. Siinä voi olla 10 numeroa; positiivinen tai negatiivinen kokonaisluku välillä –2 147 483 648 (–2^31) ja 2 147 483 647 (2^31–1). Kuten Currency.Type kohdalla, Int32.Type voi olla hyötyä tilanteissa, joissa sinun täytyy hallita pyöristystä. |
Int64.Type |
Edustaa 64-bittistä (kahdeksantavuista) allekirjoitettua kokonaislukuarvoa. Koska kyseessä on kokonaisluku, sillä ei ole numeroita desimaalipilkun oikealla puolella. Siinä voi olla 19 numeroa. positiivinen tai negatiivinen kokonaisluku välillä –9 223 372 036 854 775 808 (–2^63) ja 9 223 372 036 854 775 807 (2^63–1). Se voi edustaa eri numeeristen tietotyyppien suurinta mahdollista tarkkuutta. Kuten Currency.Type kohdalla, Int64.Type voi olla hyötyä tilanteissa, joissa sinun täytyy hallita pyöristystä. |
Byte.Type |
Edustaa 8-bittistä (yksitavuista) etumerkkimätöntä kokonaislukuarvoa. Koska kyseessä on etumerkkitön kokonaisluku, sillä ei ole numeroita desimaalipaikan oikealla puolella ja se voi sisältää vain positiivisia arvoja. Siinä voi olla kolme numeroa; positiivinen luku välillä 0–255. |
Single.Type |
Edustaa yksitarkkuutta liukulukua. Sen arvioitu alue on –3,99 X 1038 – 3,99 x 1038 ja tukee noin 9 tarkkuusnumeroa. Se voi myös edustaa positiivista ja negatiivista ääretöntä, ja NaN (Ei luku). |
Double.Type |
Edustaa kaksoistarkkuutta liukulukua. Sen likimääräinen alue on –1,7976931348623158 X 10307 välillä 1,7976931348623158 X 10307 ja tukee noin 17 tarkkuusnumeroa. Se voi myös edustaa positiivista ja negatiivista ääretöntä, ja NaN (Ei luku). |
Guid.Type |
Edustaa 128-bittistä tekstiarvoa, joka koostuu 32 heksadesimaaliarvosta käyttäen <8 heksadesimaaliarvoa>–<4 heksadesimaali>arvoa –<4 heksadesimaaliarvoa>–<4 heksadesimaaliarvoa>–<12 heksadesimaaliarvoa>, jotka muodostavat GUID-arvon. |
none |
Tietotyyppi, joka ei luokittele arvoja. |
Ainoat muut yleisesti käytetyt *.Type
arvot ovat luetteloinnit. Jos haluat lisätietoja, siirry kohtaan Luetteloinnit.
Tyypin muuntaminen
Power Query M -kaavakielellä on kaavoja, joiden avulla voit muuntaa tyypistä riippuen. Seuraavassa on yhteenveto M-muuntokaavoista.
Määrä
Tyypin muuntaminen | Kuvaus |
---|---|
Number.FromText(teksti tekstinä) lukuna | Palauttaa lukuarvon tekstiarvosta. |
Number.ToText(luku lukuna) tekstinä | Palauttaa tekstiarvon lukuarvosta. |
Number.From(arvo minä tahansa) lukuna | Palauttaa lukuarvon arvosta. |
Byte.From(arvo minä tahansa) lukuna | Palauttaa 8-bittisen kokonaislukuarvon annetusta arvosta. |
Int8.From(arvo minä tahansa) lukuna | Palauttaa 8-bittisen kokonaislukuarvon annetusta arvosta. |
Int16.From(arvo minä tahansa) lukuna | Palauttaa 16-bittisen kokonaislukuarvon annetusta arvosta. |
Int32.From(arvo minä tahansa) lukuna | Palauttaa 32-bittisen kokonaislukuarvon annetusta arvosta. |
Int64.From(arvo minä tahansa) lukuna | Palauttaa 64-bittisen kokonaislukuarvon annetusta arvosta. |
Single.From(arvo minä tahansa) lukuna | Palauttaa yksittäisen luvun arvon annetusta arvosta. |
Double.From(arvo minä tahansa) lukuna | Palauttaa kaksoislukuarvon annetusta arvosta. |
Decimal.From(arvo minä tahansa) lukuna | Palauttaa desimaalilukuarvon annetusta arvosta. |
Currency.From(arvo minä tahansa) lukuna | Palauttaa valuuttalukuarvon annetusta arvosta. |
Percentage.From(arvo minä tahansa) lukuna | Palauttaa prosenttilukuarvon annetusta arvosta. |
Teksti
Tyypin muuntaminen | Kuvaus |
---|---|
Text.From(arvo minä tahansa) tekstinä | Palauttaa luku-, päivämäärä-, aika-, päivämäärä/aika-, päivämäärä/aikavyöhyke-, loogisen, kesto- tai binaariarvon tekstiesityksen. |
Guid.From(arvo tekstinä) tekstinä | Palauttaa määritetyn tekstin GUID-esityksen. |
Looginen
Tyypin muuntaminen | Kuvaus |
---|---|
Logical.FromText(teksti tekstinä) loogisena | Palauttaa tekstiarvon loogisen arvon tosi tai epätosi. |
Logical.ToText(looginen loogisena) tekstinä | Palauttaa tekstiarvon loogisesta arvosta. |
Logical.From(arvo minä tahansa) loogisena arvona. | Palauttaa loogisen arvon arvosta. |
Päivämäärä, aika, päivämäärä/aika ja päivämäärä/aikavyöhyke
Tyypin muuntaminen | Kuvaus |
---|---|
. FromText(teksti tekstinä) muodossa päivämäärä, aika, päivämäärä/aika tai päivämäärä/aikavyöhyke | Palauttaa päivämäärä-, aika-, päivämäärä/aika- tai päivämäärä/aikavyöhykearvon annetusta päivämäärämuotojen ja maa-asetusten arvosta. |
. ToText(päivämäärä, aika, päivämäärä/aika tai päivämäärä/aikavyöhyke muodossa päivämäärä, aika, päivämäärä/aika tai päivämäärä/aikavyöhyke) tekstinä | Palauttaa tekstiarvon arvosta, joka on peräisin päivämäärä-, aika-, päivämäärä/aika- tai päivämäärä/aikavyöhykearvosta. |
. From(arvo minä tahansa) | Palauttaa päivämäärä-, aika-, päivämäärä/aika- tai päivämäärä/aikavyöhykearvon annetusta arvosta. |
. ToRecord(päivämäärä, aika, päivämäärä/aika tai päivämäärä/aikavyöhyke muodossa päivämäärä, aika, päivämäärä/aika tai päivämäärä/aikavyöhyke) | Palauttaa tietueen, joka sisältää arvon osat päivämäärä, aika, päivämäärä/aika tai päivämäärä/aikavyöhyke. |
Aiheeseen liittyvä sisältö
- Tyyppien
- Power Query M -tyyppijärjestelmän