Del via


Typer og typekonvertering

Power Query M bruker typer til å klassifisere verdier for å ha et mer strukturert datasett. Denne artikkelen beskriver de mest brukte M-typene og hvordan du konverterer én type til en annen type.

Vanlige typer

Datatyper refererer til alle typer som brukes til å klargjøre strukturen til bestemte data. De mest brukte datatypene er primitive typer. Disse typene omfatter:

  • type any, som klassifiserer en verdi.
  • type null, som klassifiserer nullverdien.
  • type logical, som klassifiserer verdiene sann og usann.
  • type number, som klassifiserer tallverdier.
  • type time, som klassifiserer tidsverdier.
  • type date, som klassifiserer datoverdier.
  • type datetime, som klassifiserer datetime-verdier.
  • type datetimezone, som klassifiserer datetimezone-verdier.
  • type duration, som klassifiserer varighetsverdier.
  • type text, som klassifiserer tekstverdier.
  • type binary, som klassifiserer binære verdier.
  • type type, som klassifiserer typeverdier.
  • type list, som klassifiserer listeverdier.
  • type record, som klassifiserer postverdier.
  • type table, som klassifiserer tabellverdier.
  • type function, som klassifiserer funksjonsverdier.
  • type anynonnull, som klassifiserer alle verdier unntatt null.
  • type none, som ikke klassifiserer noen verdier.

Hvis du vil ha mer informasjon om disse typene, kan du gå til Typer.

I tillegg til disse vanlige datatypene finnes det også et sett med datatyper som bruker formatet *.Type. De mest brukte datatypene i dette formatet er:

  • Byte.Type, som klassifiserer en 8-biters tallverdi.
  • Int8.Type, som klassifiserer en 8-biters tallverdi.
  • Int16.Type, som klassifiserer en 16-biters tallverdi.
  • Int32.Type, som klassifiserer en 32-biters tallverdi.
  • Int64.Type, som klassifiserer en 64-biters tallverdi.
  • Single.Type, som klassifiserer en 9-sifret flytende tallverdi.
  • Double.Type, som klassifiserer en 17-sifret flytende tallverdi.
  • Decimal.Type, som klassifiserer en 15-sifret flytende tallverdi.
  • Currency.Type, som klassifiserer en 19-sifret tallverdi med fire sifre til høyre for «». skilletegnet.
  • Percentage.Type, som klassifiserer en 15-sifret tallverdi med en maske for å formatere verdien som en prosentdel.
  • Guid.Type, som klassifiserer en GUID-tekstverdi.

Primitive typer kan også skrives i *.Type format. Derfor kan du skrive number som Number.Type, record som Record.Typeog så videre.

Når du bruker noen av disse typene, må du være oppmerksom på at disse typene skiller mellom store og små bokstaver i disse typene.

Tabellen nedenfor inneholder mer informasjon om hver av disse typene.

Datatype Bekrivelse
any Datatypen any er statusen som angis når en verdi ikke har en eksplisitt datatypedefinisjon. Den any typen er datatypen som klassifiserer alle verdier.
binary Datatypen binary kan brukes til å representere andre data med et binært format.
type En verdi som klassifiserer andre verdier. Hvis du vil ha mer informasjon, kan du gå til Typer.
null Representerer fraværet av en verdi, eller en verdi med ubestemt eller ukjent tilstand.
anynonnull Representerer alle typer som ikke kan brukes.
date Representerer bare en dato (ingen tidsdel).
time Representerer bare klokkeslett (ingen datodel).
datetime Representerer både en dato- og klokkeslettverdi. Klokkeslettdelen av en dato lagres som en brøk til hele multipler på 1/300 sekunder (3,33 ms). Datoer mellom årene 1900 og 9999 støttes.
datetimezone Representerer en UTC-dato og -klokkeslett med en tidssoneforskyvning.
duration Representerer en tidsperiode. Denne typen kan legges til eller trekkes fra et datetime felt med riktige resultater. Hvis du vil ha mer informasjon, kan du gå til Varighet.
text En Unicode-tegndatastreng. Kan være strenger, tall eller datoer representert i et tekstformat. Maksimal strenglengde er 268 435 456 Unicode-tegn (der hvert Unicode-tegn er to byte) eller 536 870 912 byte.
logical En boolsk verdi av enten true eller false.
list En verdi som produserer en sekvens med verdier når den nummereres. Hvis du vil ha mer informasjon, kan du gå til listetyper og Listeverdier.
record En ordnet sekvens av felt. Hvert felt inneholder et feltnavn og en feltverdi. Hvis du vil ha mer informasjon, kan du gå til Oppføringstyper og Postverdier.
table En ordnet sekvens med rader delt inn i kolonner. Hvis du vil ha mer informasjon, kan du gå til tabelltyper og tabellverdier.
function En verdi som tilordner et sett med argumenter til én enkelt verdi. Hvis du vil ha mer informasjon, kan du gå til Funksjoner og Funksjonstyper.
number Representerer et hvilket som helst tall som brukes for numeriske og aritmetiske operasjoner. Hvis du vil ha mer informasjon, kan du gå til Number.
Decimal.Type Representerer et 64-biters (åtte byte) flyttall. Det er den vanligste talltypen, og tilsvarer tall som du vanligvis tenker på dem. Selv om den er utformet for å håndtere tall med brøkverdier, håndterer den også heltall. Den Decimal.Type kan håndtere negative verdier fra –1,79E +308 til –2,23E –308, 0 og positive verdier fra 2,23E –308 til 1,79E + 308. Tall som 34, 34,01 og 34,000367063 er for eksempel gyldige desimaltall. Den største presisjonen som kan representeres i en Decimal.Type, er 15 sifre. Desimalskilletegnet kan forekomme hvor som helst i tallet. Den Decimal.Type tilsvarer hvordan Excel lagrer tallene. Vær oppmerksom på at et binært flyttall ikke kan representere alle tall innenfor det støttede området med 100% nøyaktighet. Dermed kan det oppstå mindre forskjeller i presisjon når det representerer bestemte desimaltall.
Currency.Type Denne datatypen har en fast plassering for desimalskilletegnet. Desimalskilletegnet har alltid fire sifre til høyre og gir 19 sifre av gjeldende betydning. Den største verdien den kan representere, er 922 337 203 685 477 5807 (positiv eller negativ). I motsetning til Decimal.Typeer Currency.Type alltid nøyaktig og er derfor nyttig i tilfeller der imprecision av flytende punkt notasjon kan introdusere feil.
Percentage.Type Fundamentalt det samme som en Decimal.Type, men den har en maske for å formatere verdiene som en prosentverdi.
Int8.Type Representerer en 8-biters (én byte) signert heltallsverdi. Fordi det er et heltall, har det ingen sifre til høyre for desimaltegnet. Den gir 3 sifre. et positivt eller negativt heltall mellom –128 og 127. Som med Currency.Typekan Int8.Type være nyttig i tilfeller der du må kontrollere avrunding.
Int16.Type Representerer en 16-biters (to byte) signert heltallsverdi. Fordi det er et heltall, har det ingen sifre til høyre for desimaltegnet. Det gir mulighet for seks sifre. et positivt eller negativt heltall mellom –32 768 (–2^15) og 32 767 (2^15-1). Som med Currency.Typekan Int16.Type være nyttig i tilfeller der du må kontrollere avrunding.
Int32.Type Representerer en 32-biters (fire byte) signert heltallsverdi. Fordi det er et heltall, har det ingen sifre til høyre for desimaltegnet. Den gir 10 sifre. et positivt eller negativt heltall mellom –2 147 483 648 (–2^31) og 2 147 483 647 (2^31–1). Som med Currency.Typekan Int32.Type være nyttig i tilfeller der du må kontrollere avrunding.
Int64.Type Representerer en 64-biters (åtte byte) signert heltallsverdi. Fordi det er et heltall, har det ingen sifre til høyre for desimaltegnet. Den gir 19 sifre. et positivt eller negativt heltall mellom –9 223 372 036 854 775 808 (–2^63) og 9 223 372 036 854 775 807 (2^63–1). Den kan representere størst mulig presisjon av de ulike numeriske datatypene. Som med Currency.Typekan Int64.Type være nyttig i tilfeller der du må kontrollere avrunding.
Byte.Type Representerer en 8-biters (én byte) usignert heltallsverdi. Fordi det er et heltall som ikke er signert, har det ingen sifre til høyre for desimaltegnet og kan bare inneholde positive verdier. Den gir 3 sifre. et positivt tall mellom 0 og 255.
Single.Type Representerer et flyttall med én presisjon. Den har et omtrentlig område på –3,99 X 1038 til 3,99 X 1038 og støtter omtrent 9 sifre med presisjon. Det kan også representere positiv og negativ uendelighet, og NaN (ikke et tall).
Double.Type Representerer et flyttall med dobbel presisjon. Den har et omtrentlig område på –1,7976931348623158 X 10307 til 1,7976931348623158 X 10307 og støtter omtrent 17 sifre med presisjon. Det kan også representere positiv og negativ uendelighet, og NaN (ikke et tall).
Guid.Type Representerer en 128-biters tekstverdi som består av 32 heksadesimale verdier ved hjelp av formfaktoren for <8 heksadesimale verdier>-<4 heksadesimale verdier>-<4 heksadesimale verdier>-<4 heksadesimale verdier>-<12 heksadesimale verdier>, som utgjør GUID-verdien.
none Datatypen som ikke klassifiserer noen verdier.

De eneste andre ofte brukte *.Type verdiene er opplistinger. Hvis du vil ha mer informasjon, kan du gå til Opplistinger.

Typekonvertering

Power Query M-formelspråket har formler som skal konverteres mellom typer. Følgende er et sammendrag av konverteringsformler i M.

Antall

Typekonvertering Bekrivelse
Number.FromText(tekst som tekst) som tall Returnerer en tallverdi fra en tekstverdi.
Number.ToText(tall som tall) som tekst Returnerer en tekstverdi fra en tallverdi.
Number.From(verdi som en hvilken som helst) som tall Returnerer en tallverdi fra en verdi.
Byte.From(verdi som en hvilken som helst) som tall Returnerer en 8-biters heltallsverdi fra den angitte verdien.
Int8.From(verdi som en hvilken som helst) som tall Returnerer en 8-biters heltallsverdi fra den angitte verdien.
Int16.From(verdi som en hvilken som helst) som tall Returnerer en 16-biters heltallsverdi fra den angitte verdien.
Int32.From(verdi som en hvilken som helst) som tall Returnerer en 32-biters heltallsverdi fra den angitte verdien.
Int64.From(verdi som en hvilken som helst) som tall Returnerer en 64-biters heltallsverdi fra den angitte verdien.
Single.From(verdi som en hvilken som helst) som tall Returnerer en enkelt tallverdi fra den angitte verdien.
Double.From(verdi som en hvilken som helst) som tall Returnerer en dobbel tallverdi fra den angitte verdien.
Decimal.From(verdi som en hvilken som helst) som tall Returnerer en desimaltallverdi fra den angitte verdien.
Currency.From(verdi som en hvilken som helst) som tall Returnerer en valutatallverdi fra den angitte verdien.
Percentage.From(verdi som en hvilken som helst) som tall Returnerer en prosentverdi fra den angitte verdien.

Tekstmelding

Typekonvertering Bekrivelse
Text.From(verdi som en hvilken som helst) som tekst Returnerer tekstpresentasjonen av en tall-, dato-, klokkeslett-, datetime-, datetimezone-, logisk-, varighets- eller binærverdi.
Guid.From(verdi som tekst) som tekst Returnerer GUID-representasjonen av den angitte teksten.

Logisk

Typekonvertering Bekrivelse
Logical.FromText(tekst som tekst) som logisk Returnerer en logisk verdi av sann eller usann fra en tekstverdi.
Logical.ToText(logisk som logisk) som tekst Returnerer en tekstverdi fra en logisk verdi.
Logical.From(verdi som noen) som logisk Returnerer en logisk verdi fra en verdi.

Dato, klokkeslett, DateTime og DateTimeZone

Typekonvertering Bekrivelse
. FromText(tekst som tekst) som dato, klokkeslett, datetime eller datetimezone Returnerer en dato-, klokkeslett-, datetime- eller datetimezone-verdi fra et sett med datoformater og kulturverdi.
. ToText(dato, klokkeslett, dateTime eller dateTimeZone som dato, klokkeslett, datetime eller datetimezone) som tekst Returnerer en tekstverdi fra en dato-, klokkeslett-, datetime- eller datetimezone-verdi.
. From(value as any) Returnerer en dato-, klokkeslett-, datetime- eller datetimezone-verdi fra en verdi.
. ToRecord(dato, klokkeslett, dateTime eller dateTimeZone som dato, klokkeslett, datetime eller datetimezone) Returnerer en post som inneholder deler av en dato-, klokkeslett-, datetime- eller datetimezone-verdi.