I en datamodell har hver kolonne en tilknyttet datatype som angir datatypen kolonnen kan inneholde: heltall, desimaltall, tekst, pengedata, datoer og klokkeslett og så videre. Datatype bestemmer også hvilke typer operasjoner du kan gjøre i kolonnen, og hvor mye minne det tar å lagre verdiene i kolonnen.

Hvis du bruker tillegget Power Pivot, kan du endre datatypen for en kolonne. Du må kanskje gjøre dette hvis en datokolonne ble importert som en streng, men du trenger den for å 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 av datatyper

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

Datatype i Excel

Datatype i DAX

Beskrivelse

Heltall

En 64-biters (åttebyte) heltallsverdi 1, 2

Tall som ikke har desimaler. Heltall kan være positive eller negative tall, men 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 (åttebyte) reelt tall 1, 2

Reelle tall er tall som kan ha desimaler. Reelle tall dekker et bredt verdiområde:

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

Null

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

Antall signifikante sifre er imidlertid begrenset til 15 desimaler.

SANN/USANN

Boolsk

Enten en Sann- eller Usann-verdi.

Tekst

Streng

En Unicode-tegndatastreng. 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 godkjent dato/klokkeslett-fremstilling.

Gyldige datoer er alle datoer etter 1. januar 1900.

Valuta

Valuta

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

I/T

Tom

En tom er en datatype i DAX som representerer og erstatter SQL nuller. Du kan opprette et tomt felt ved hjelp av TOM-funksjonen og teste for tomme celler ved hjelp av den logiske funksjonen ERTOM.

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

2 Hvis du prøver å importere data som har svært store numeriske verdier, kan importen mislykkes med følgende feil:

Databasefeil i minnet: Kolonnen <kolonnenavn> i 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 nullverdier. Verdiene i følgende liste er synonymer for nullverdien:

Value

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

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

Tabelldatatype

DAX bruker en tabelldatatype i mange funksjoner, for eksempel aggregasjoner og beregninger av tidsintelligens. Noen funksjoner krever en referanse til en tabell. Andre funksjoner returnerer en tabell som deretter 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 enkelte funksjoner er det nødvendig med en referanse til en basistabell. Hvis du vil ha informasjon om kravene til bestemte 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 noen argumenter og datoer for andre. andre funksjoner krever tekst eller tabeller.

Hvis dataene i kolonnen du angir som et argument, ikke er kompatible med datatypen som kreves av funksjonen, returnerer DAX i mange tilfeller en feil. Når det er mulig, vil DAX imidlertid prøve å implisitt konvertere dataene til den nødvendige datatypen. Eksempler:

  • Du kan skrive inn en dato som en streng, og DAX analyserer strengen og prøver å bruke den som et av Windows dato- og klokkeslettformatene.

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

  • Hvis du legger til verdier i to kolonner, og én verdi representeres som tekst ("12") og den andre som et tall (12), konverterer DAX implisitt strengen til et tall og gjør deretter tillegget for et numerisk resultat. Følgende uttrykk returnerer 44: = "22" + 22

  • Hvis du prøver å kjede sammen to tall, vil Excel vise dem som strenger og deretter kjede sammen. Følgende uttrykk returnerer "1234": = 12 & 34

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

Tabell over implisitte datakonverteringer

Typen konvertering som utføres, bestemmes av operatoren, som oppfører verdiene den krever før du utfører den forespurte operasjonen. Disse tabellene viser operatorene, og angir konverteringen som utføres på hver datatype i kolonnen når den er paret med datatypen i den kryssende raden.

Obs!: Tekstdatatyper er ikke inkludert i disse tabellene. Når et tall representeres som i et tekstformat, vil Power Pivot prøve å bestemme talltypen og representere den som et tall.

Addisjon (+)

Operator (+)

INTEGER

CURRENCY

REAL

Dato/klokkeslett

INTEGER

INTEGER

CURRENCY

REAL

Dato/klokkeslett

CURRENCY

CURRENCY

CURRENCY

REAL

Dato/klokkeslett

REAL

REAL

REAL

REAL

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

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

Subtraksjon (-)

I tabellen nedenfor er radoverskriften minuend (venstre side) og kolonneoverskriften er subtrahend (høyre side).

Operator (-)

INTEGER

CURRENCY

REAL

Dato/klokkeslett

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

Dato/klokkeslett

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

Obs!: Datamodeller støtter også den unære operatoren – (negativ), men denne operatoren endrer ikke datatypen for operanden.

Multiplikasjon (*)

Operator (*)

INTEGER

CURRENCY

REAL

Dato/klokkeslett

INTEGER

INTEGER

CURRENCY

REAL

INTEGER

CURRENCY

CURRENCY

REAL

CURRENCY

CURRENCY

REAL

REAL

CURRENCY

REAL

REAL

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

Divisjon (/)

I tabellen nedenfor er radoverskriften telleren, og kolonneoverskriften er nevneren.

Operator (/)

(Rad/kolonne)

INTEGER

CURRENCY

REAL

Dato/klokkeslett

INTEGER

REAL

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

REAL

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

Dato/klokkeslett

REAL

REAL

REAL

REAL

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

Sammenligningsoperatorer

I sammenligningsuttrykk regnes boolske verdier som større enn strengverdier, og strengverdier regnes som større enn numeriske verdier eller dato/klokkeslett-verdier. Tall- og dato-/klokkeslettverdier regnes for å ha samme rangering. Ingen implisitte konverteringer utføres for boolske verdier eller strengverdier. TOM eller en tom verdi konverteres til 0/""/usann, avhengig av datatypen til den andre sammenlignede verdien.

Følgende DAX-uttrykk illustrerer denne virkemåten:

=HVIS(USANN()>"sann","Uttrykk er sant", "Uttrykk er usant"), returnerer "Uttrykk er sant"

=HVIS("12">12,"Uttrykk er sant", "Uttrykk er usant"), returnerer "Uttrykk er sant".

=HVIS("12"=12,"Uttrykk er sant", "Uttrykk er usant"), returnerer "Uttrykk er usant"

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

Sammenligningsoperator

INTEGER

CURRENCY

REAL

Dato/klokkeslett

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Dato/klokkeslett

REAL

REAL

REAL

Dato/klokkeslett

Til toppen av siden

Håndtere tomme verdier, tomme strenger og nullverdier

I DAX representeres en nullverdi, tom verdi, tom celle eller en manglende verdi av samme nye verditype, en TOM. Du kan også generere tomme celler ved hjelp av TOM-funksjonen, eller teste for tomme celler ved hjelp av ERTOM-funksjonen.

Hvordan tomme celler håndteres i operasjoner, for eksempel addisjon eller sammenslåing, avhenger av den individuelle funksjonen. Tabellen nedenfor oppsummerer forskjellene mellom DAX og Microsoft Excel formler, i måten tomme celler håndteres på.

Uttrykk

DAX

Excel

TOM + TOM

BLANK

0 (null)

BLANK +5

5

5

TOM * 5

BLANK

0 (null)

5/BLANK

Uendelig

Feil

0/BLANK

NaN

Feil

TOM/TOM

BLANK

Feil

USANN ELLER TOM

USANN

USANN

USANN OG TOM

USANN

USANN

SANN ELLER TOM

TRUE

TRUE

SANN OG TOM

USANN

SANN

TOM ELLER TOM

BLANK

Feil

TOM OG TOM

BLANK

Feil

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

Til toppen av siden

Trenger du mer hjelp?

Utvid ferdighetene dine

Utforsk opplæring >

Vær først ute med de nye funksjonene

BLI MED I MICROSOFT INSIDERS >

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×