Jaa


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.Typeja 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.Typekohdalla, 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.Typekohdalla, 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.Typekohdalla, 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.Typekohdalla, 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.
  • Tyyppien
  • Power Query M -tyyppijärjestelmän