Datatyper i datamodeller

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

I en datamodell har hver kolonne en tilknyttet datatype som spesifiserer typen data kolonnen kan ta: heltall, desimaltall, tekst, valutadata, datoer og klokkeslett og så videre. Datatypen bestemmer også hvilke typer operasjoner du kan gjøre i kolonnen, og hvor mye minne som brukes til å lagre verdiene i kolonnen.

Hvis du bruker Power Pivot-tillegget, kan du endre datatypen for en kolonne. Du må kanskje gjøre dette hvis en datokolonne ble importert som en streng, men det er nødvendig at den skal være noe annet. Hvis du vil ha mer informasjon, kan du se Angi datatypen for en kolonne. i Power Pivot.

I denne artikkelen

Sammendrag over datatyper

Tabelldatatype

Implisitt og eksplisitt datatypekonvertering i DAX-formler

Tabeller over implisitte datakonverteringer

Addisjon (+)

Subtraksjon (-)

Multiplikasjon (*)

Divisjon (/)

Sammenligningsoperatorer

Behandle tomme verdier, tomme strenger og nullverdier

Sammendrag over datatyper

Tabellen nedenfor viser datatypene som støttes i en datamodell. Når du importerer data eller bruker en verdi i en formel, konverteres dataene til en av disse datatypene selv om originaldatakilden inneholder en annen datatype. Verdier som er et resultat av formler, bruker også disse datatypene.

Datatype i Excel

Datatype i DAX

Beskrivelse

Heltall

En 64-biters heltallsverdi (8 byte) 1, 2

Tall uten desimaler. Heltall kan være positive eller negative tall, men de må være heltall mellom -9 223 372 036 854 775 808 (-2^63) og 9 223 372 036 854 775 807 (2^63-1).

Desimaltall

Et 64-biters reelt tall (8 byte) 1, 2

Reelle tall er tall som kan ha desimaler. Reelle tall dekker mange ulike verdier:

Negative verdier fra -1,79E +308 til og med -2,23E -308

Null

Positive verdier fra 2,23E +308 til og med 1,79E +308

Antall signifikante sifre er imidlertid begrenset til 15 desimaler.

TRUE/FALSE

Boolsk

Enten verdien True eller verdien False.

Tekst

Streng

Et datastreng bestående av Unicode-tegn. Kan være strenger, tall eller datoer representert i et tekstformat.

Maksimal strenglengde er 268 435 456 Unicode-tegn (256 megategn) eller 536 870 912 byte.

Dato

Dato/klokkeslett

Datoer og klokkeslett i en gyldig representasjon av dato/klokkeslett.

Gyldige datoer er alle datoer etter 1. januar 1900.

Valuta

Valuta

Valutadatatypen tillater verdier mellom -922 337 203 685 477,5808 og 922 337 203 685 477,5807 med fire desimaler.

Ikke relevant

Tom verdi

En tom verdi er en datatype i DAX som representerer og erstatter SQL-nullverdier. Du kan opprette en tom verdi med BLANK-funksjonen og bruke den logiske funksjonen ISBLANK til å teste om det finnes tomme verdier.

1 DAX-formler støtter ikke datatyper som er mindre enn dem som er oppført i tabellen.

2 Hvis du prøver å importere data som inneholder svært store numeriske verdier, kan importen mislykkes, og du får denne feilmeldingen:

Databasefeil i minnet: Kolonnen <kolonnenavn> for tabellen <tabellnavn> inneholder en verdi 1.7976931348623157e+308, som ikke støttes. Operasjonen er avbrutt.

Denne feilen oppstår fordi Power Pivot bruker denne verdien til å representere null. Verdiene i listen nedenfor er synonyme med nullverdien:

Verdi

9223372036854775807 er

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Fjerne verdien fra dataene, og prøv å importere på nytt.

Tabelldatatype

DAX bruker en tabelldatatype i mange funksjoner, for eksempel aggregeringer og tidsintelligensberegninger. Noen funksjoner krever referanse til en tabell, mens andre funksjoner returnerer en tabell som kan brukes som inndata til andre funksjoner. I noen funksjoner som krever en tabell som inndata, kan du angi et uttrykk som evalueres til en tabell. For andre funksjoner kreves det en referanse til en basistabell. Hvis du vil ha informasjon om kravene til spesifikke funksjoner, kan du se DAX-funksjonsreferanse.

Implisitt og eksplisitt datatypekonvertering i DAX-formler

Hver DAX-funksjon har bestemte krav til datatypene som brukes som inndata og utdata. Noen funksjoner krever for eksempel heltall for enkelte argumenter og datoer for andre, mens andre funksjoner krever tekst eller tabeller.

Hvis dataene i en kolonne du angir som argument, ikke er kompatible med datatypen som kreves av funksjonen, returnerer DAX i mange tilfeller en feil. Når det er mulig, prøver DAX imidlertid å konvertere dataene implisitt til den påkrevde datatypen. Eksempel:

  • Hvis du skriver inn en dato som en streng, analyserer DAX strengen og prøver å endre den til en av dato- og klokkeslettformatene i Windows.

  • Du kan legge til TRUE + 1 og få resultatet 2 fordi TRUE konverteres implisitt til tallet 1, og operasjonen 1 + 1 utføres.

  • Hvis du legger til verdier i to kolonner og den ene verdien er representert som tekst ("12") og den andre som et tall (12), konverterer DAX implisitt strengen til et tall og utfører deretter en addisjon for å få et numerisk resultat. Følgende uttrykk returnerer 44: = "22" + 22

  • Hvis du prøver å kjede sammen to tall, vises de som strenger som deretter kjedes sammen i Excel. Følgende uttrykk returnerer "1234": = 12 & 34

Tabellen nedenfor oppsummerer de implisitte datatypekonverteringene som utføres i formler. Implisitte konverteringer utføres når det er mulig i Excel, i henhold til det som kreves av den angitte operasjonen.

Tabeller over implisitte datakonverteringer

Hvilken type konvertering som utføres, avhenger av operatoren, som endrer de nødvendige verdiene før den forespurte operasjonen utføres. Disse tabellene viser operatorene og angir hva slags konvertering som utføres for hver datatype i kolonnen når typen pares med datatypen i den kryssende raden.

Merknad: Tekstdatatyper er ikke inkludert i tabellene. Når et tall er representert som i et tekstformat, prøver Power Pivot i enkelte tilfeller å fastslå talltypen og representere den som et tall.

Addisjon (+)

Operator (+)

Heltall

Valuta

Reelt

Dato/klokkeslett

Heltall

Heltall

Valuta

Reelt

Dato/klokkeslett

Valuta

Valuta

Valuta

Reelt

Dato/klokkeslett

Reelt

Reelt

Reelt

Reelt

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Hvis et reelt tall for eksempel brukes i en addisjonsoperasjon sammen med valutadata, konverteres begge verdier til et reelt tall, og resultatet returneres som et reelt tall.

Subtraksjon (-)

I tabellen nedenfor er radoverskriften minuenden (venstre side) og kolonneoverskriften subtrahenden (høyre side).

Operator (-)

Heltall

Valuta

Reelt

Dato/klokkeslett

Heltall

Heltall

Valuta

Reelt

Reelt

Valuta

Valuta

Valuta

Reelt

Reelt

Reelt

Reelt

Reelt

Reelt

Reelt

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Hvis for eksempel en dato brukes i en subtraksjonsoperasjon sammen med en annen datatype, konverteres begge verdier til datoer, og returverdien er også en dato.

Merknad: Datamodeller støtter også monooperatoren, - (negativ), men denne operatoren endrer ikke datatypen til operanden.

Multiplikasjon (*)

Operator (*)

Heltall

Valuta

Reelt

Dato/klokkeslett

Heltall

Heltall

Valuta

Reelt

Heltall

Valuta

Valuta

Reelt

Valuta

Valuta

Reelt

Reelt

Valuta

Reelt

Reelt

Hvis et heltall for eksempel kombineres med et reelt tall i en multiplikasjonsoperasjon, konverteres begge tall til reelle tall, og returverdien er også et reelt tall.

Divisjon (/)

I tabellen nedenfor er radoverskriften telleren og kolonneoverskriften nevneren.

Operator (/)

(Rad/kolonne)

Heltall

Valuta

Reelt

Dato/klokkeslett

Heltall

Reelt

Valuta

Reelt

Reelt

Valuta

Valuta

Reelt

Valuta

Reelt

Reelt

Reelt

Reelt

Reelt

Reelt

Dato/klokkeslett

Reelt

Reelt

Reelt

Reelt

Hvis et heltall for eksempel kombineres med en valutaverdi i en divisjonsoperasjon, konverteres begge verdier til reelle tall, og resultatet er også et reelt tall.

Sammenligningsoperatorer

I sammenligningsuttrykk anses boolske verdier for å være større enn strengverdier, og strengverdier anses for å være større enn numeriske verdier eller dato-/klokkeslettverdier. Tall og dato-/klokkeslettverdier anses for å være rangert likt. Det blir ikke utført noen implisitte konverteringer for boolske verdier eller strengverdier. BLANK eller en tom verdi konverteres til 0/""/FALSE avhengig av datatypen til den andre verdien som sammenlignes.

De følgende DAX-uttrykkene illustrerer denne virkemåten:

=IF(FALSE() > "SANN", "Uttrykket er SANN", "Uttrykket er usant"), returnerer "Uttrykket er SANN"

= IF("12">12,"Expression is true", "Expression is false"), returnerer "Uttrykket er SANN".

= IF("12"=12,"Expression is true", "Expression is false"), returnerer "Uttrykket er usant"

Konverteringer utføres implisitt for numeriske typer eller dato-/klokkeslettyper som beskrevet i tabellen nedenfor:

Sammenligningsoperator

Heltall

Valuta

Reelt

Dato/klokkeslett

Heltall

Heltall

Valuta

Reelt

Reelt

Valuta

Valuta

Valuta

Reelt

Reelt

Reelt

Reelt

Reelt

Reelt

Reelt

Dato/klokkeslett

Reelt

Reelt

Reelt

Dato/klokkeslett

Til toppen av siden

Behandle tomme verdier, tomme strenger og nullverdier

I DAX blir en tom verdi, en tom celle eller en manglende verdi representert av den samme nye verditypen, BLANK (tom verdi). Du kan også generere tomme verdier ved hjelp av BLANK-funksjonen eller bruke ISBLANK-funksjonen til å teste om det finnes tomme verdier.

Hvordan tomme verdier behandles i operasjoner, for eksempel i addisjon eller sammenkjeding, avhenger av den enkelte funksjon. Tabellen nedenfor oppsummerer forskjellene mellom DAX- og Microsoft Excel-formler i behandlingen av tomme verdier.

Uttrykk

DAX

Excel

BLANK + BLANK

BLANK

0 (null)

BLANK +5

5

5

BLANK * 5

BLANK

0 (null)

5/BLANK

Uendelig

Feil

0/BLANK

NaN

Feil

BLANK/BLANK

BLANK

Feil

FALSE OR BLANK

FALSE

FALSE

FALSE AND BLANK

FALSE

FALSE

TRUE OR BLANK

TRUE

TRUE

TRUE AND BLANK

FALSE

TRUE

BLANK OR BLANK

BLANK

Feil

BLANK AND BLANK

BLANK

Feil

Hvis du vil ha informasjon om hvordan en bestemt funksjon eller operator håndterer tomme verdier, kan du se de enkelte emnene for hver DAX-funksjon i delen DAX-funksjonsreferanse.

Til toppen av siden

Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×