Datatyper i datamodeller

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

I en datamodel har hver kolonne en tilknyttet datatype, der angiver, hvilken type data kolonnen kan indeholde: hele tal, decimaltal, tekst, monetære data, datoer og klokkeslæt osv. Datatypen bestemmer også, hvilke typer handlinger, du kan foretage i kolonnen, og hvor megen hukommelse der kræves for at lagre værdier i kolonnen.

Hvis du bruger tilføjelsesprogrammet Power Pivot kan du ændre en kolonnes datatype. Det kan være nødvendigt at gøre dette, hvis en datokolonne er importeret som en streng, men du har brug for, at den skal være noget andet. Du finder flere oplysninger i Angive datatypen for en kolonne i Power Pivot.

Denne artikel indeholder

Oversigt over datatyper

Tabeldatatype

Implicit og eksplicit konvertering af datatype i DAX-formler

Tabel over implicitte datakonverteringer

Addition (+)

Subtraktion (-)

Multiplikation (*)

Division (/)

Sammenligningsoperatorer

Håndtering af tomme celler, tomme strenge og nulværdier

Oversigt over datatyper

I den følgende tabel vises de datatyper, der understøttes i en datamodel. Når du importerer data eller bruger en værdi i en formel, konverteres dataene til en af disse datatyper, selvom den oprindelige datakilde indeholder en anden datatype. Værdier, der er et resultat af formler, bruger også disse datatyper.

Datatype i Excel

Datatype i DAX

Beskrivelse

Heltal

En 64-bit (otte byte) heltalsværdi 1, 2

Tal uden decimaler. Heltal kan være positive eller negative tal, men det skal være hele tal mellem -9.223.372.036.854.775.808 (-2^63) og 9.223.372.036.854.775.807 (2^63-1).

Decimaltal

Et 64-bit (otte byte) reelt tal 1, 2

Reelle tal er tal, der kan have decimaler. Reelle tal omfatter et bredt interval af værdier:

Negative værdier fra -1,79E +308 til -2,23E -308

Nul

Positive værdier fra 2,23E -308 til 1,79E + 308

Antallet af betydende cifre er dog begrænset til 15 decimaler.

TRUE/FALSE

Boolesk værdi

Enten en True- eller False-værdi.

Tekst

Streng

En datastreng med Unicode-tegn. Kan være strenge, tal eller datoer, der er repræsenteret i et tekstformat.

Den maksimale strenglængde er 268.435.456 Unicode-tegn (256 megategn) eller 536.870.912 byte.

Dato

Dato/klokkeslæt

Datoer og klokkeslæt i en accepteret dato/klokkeslætsrepræsentation.

Gyldige datoer er alle datoer efter 1. januar 1900.

Valuta

Valuta

Valutadatatyper tillader værdier mellem -922.337.203.685.477,5808 og 922.337.203.685.477,5807 med fire decimaler med fast nøjagtighed.

Ikke tilgængelig

Tom

En tom er en datatype i DAX, der repræsenterer og erstatter SQL-null-værdier. Du kan oprette en tom ved hjælp af funktionen BLANK og teste, om der er tomme, ved hjælp af den logiske funktion ISBLANK.

1 DAX-formler understøtter ikke datatyper, der er mindre end dem, som er angivet i tabellen.

2 Hvis du forsøger at importere data med meget store numeriske værdier, kan importen mislykkes med følgende fejl:

Databasefejl i hukommelsen: Kolonnen '<kolonnenavn>' i tabellen '<tabelnavn>' indeholder værdien '1,7976931348623157e+308', som ikke understøttes. Handlingen er annulleret.

Denne fejl opstår, fordi Power Pivot benytter denne værdi til at repræsentere null-værdier. Værdierne på listen nedenfor er synonymer for null-værdierne:

Værdi

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Fjern værdien fra dine data og prøve at importere igen.

Tabeldatatype

Til DAX bruges der en tabeldatatype i mange funktioner, f.eks. sammenlægninger og tidsintelligente beregninger. Nogle funktioner kræver en reference til en tabel. Andre funktioner returnerer en tabel, der derefter kan bruges som input for andre funktioner. I nogle funktioner, der kræver en tabel som input, kan du angive et udtryk, der evalueres til en tabel. For nogle funktioner kræves der en reference til en basistabel. Du kan finde oplysninger om kravene til bestemte funktioner under Funktionsreferencen DAX.

Implicit og eksplicit konvertering af datatype i DAX-formler

Alle DAX-funktioner har specifikke krav med hensyn til de typer af data, der bruges som input og output. Nogle funktioner kræver f.eks. heltal til nogle argumenter og datoer til andre. Andre funktioner kræver tekst eller tabeller.

Hvis dataene i den kolonne, du angiver som argument, ikke er kompatible med den datatype, som funktionen kræver, returnerer DAX i mange tilfælde en fejl. Men når det er muligt, forsøger DAX implicit at konvertere dataene til den krævede datatype. F.eks.:

  • Du kan skrive en dato som en streng. DAX fortolker så strengen og forsøger at konvertere den til et af dato- og klokkeslætsformaterne i Windows.

  • Du kan skrive TRUE + 1 og få resultatet 2, fordi TRUE implicit konverteres til tallet 1, hvorefter beregningen 1+1 udføres.

  • Hvis du adderer værdier i to kolonner, og den ene værdi er repræsenteret som tekst ("12"), mens den anden er et tal (12), konverterer DAX implicit strengen til et tal, hvorefter additionen udføres med et numerisk resultat. Følgende udtryk returnerer 44: = "22" + 22

  • Hvis du forsøger at sammenkæde to tal, vil Excel præsentere dem som strenge og derefter sammenkæde. Følgende udtryk returnerer "1234": = 12 & 34

I følgende tabel opsummeres de implicitte datatypekonverteringer, der udføres i formler. Excel udfører implicitte konverteringer, når det er muligt, hvis den angivne handling kræver det.

Tabel over implicitte datakonverteringer

Den type konvertering, der udføres, bestemmes af operatoren, som konverterer de værdier, den kræver, før den udfører den ønskede handling. Operatorerne vises i disse tabeller, og du kan se den konvertering, der udføres på de enkelte datatyper i kolonnen, når den parres med datatypen i den krydsende række.

Bemærk: Tekstdatatyper er ikke medtaget i tabellerne. Når et tal er repræsenteret i tekstformat, forsøger Power Pivot i visse tilfælde at bestemme taltypen og repræsentere den som et tal.

Addition (+)

Operator (+)

HELTAL

VALUTA

REELT TAL

Dato/klokkeslæt

HELTAL

HELTAL

VALUTA

REELT TAL

Dato/klokkeslæt

VALUTA

VALUTA

VALUTA

REELT TAL

Dato/klokkeslæt

REELT TAL

REELT TAL

REELT TAL

REELT TAL

Dato/klokkeslæt

Dato/klokkeslæt

Dato/klokkeslæt

Dato/klokkeslæt

Dato/klokkeslæt

Dato/klokkeslæt

Hvis et reelt tal f.eks. bruges i en addition sammen med valutadata, bliver begge værdier konverteret til et REELT TAL, og resultatet returneres som et REELT TAL.

Subtraktion (-)

I følgende tabel er rækkeoverskriften diminuend (venstre side), og kolonneoverskriften er subtrahend (højre side).

Operator (-)

HELTAL

VALUTA

REELT TAL

Dato/klokkeslæt

HELTAL

HELTAL

VALUTA

REELT TAL

REELT TAL

VALUTA

VALUTA

VALUTA

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

Dato/klokkeslæt

Dato/klokkeslæt

Dato/klokkeslæt

Dato/klokkeslæt

Dato/klokkeslæt

Hvis en dato f.eks. bruges i en subtraktion sammen med en anden datatype, bliver begge værdier konverteret til datoer, og returværdien er også en dato.

Bemærk: Datamodeller understøtter også den monadiske operator, - (negativ), men denne operator ændrer ikke datatypen for operanden.

Multiplikation (*)

Operator (*)

HELTAL

VALUTA

REELT TAL

Dato/klokkeslæt

HELTAL

HELTAL

VALUTA

REELT TAL

HELTAL

VALUTA

VALUTA

REELT TAL

VALUTA

VALUTA

REELT TAL

REELT TAL

VALUTA

REELT TAL

REELT TAL

Hvis et heltal f.eks. kombineres med et reelt tal i en multiplikation, bliver begge tal konverteret til reelle tal, og returværdien er også et REELT TAL.

Division (/)

I følgende tabel er rækkeoverskriften tælleren, og kolonneoverskriften er nævneren.

Operator (/)

(Række/kolonne)

HELTAL

VALUTA

REELT TAL

Dato/klokkeslæt

HELTAL

REELT TAL

VALUTA

REELT TAL

REELT TAL

VALUTA

VALUTA

REELT TAL

VALUTA

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

Dato/klokkeslæt

REELT TAL

REELT TAL

REELT TAL

REELT TAL

Hvis et heltal f.eks. kombineres med en valutaværdi i en division, bliver begge værdier konverteret til reelle tal, og resultatet er også et reelt tal.

Sammenligningsoperatorer

I sammenligningsudtryk anses booleske værdier som større end strengværdier, og strengværdier anses som større end numeriske værdier eller dato-/klokkeslætsværdier. Tal og dato-/klokkeslætsværdier anses for at have samme rangværdi. Der udføres ingen implicitte konverteringer for booleske strenge eller strengværdier. BLANK eller en tom værdi konverteres til 0/""/falsk, afhængigt af datatypen for den anden sammenlignede værdi.

Følgende DAX-udtryk kan bruges til at illustrere denne funktionsmåde:

=IF(FALSE() > "true", "Udtrykket er sandt", "Udtrykket er falsk"), returnerer "Udtrykket er sandt"

= IF("12">12,"Expression is true", "Expression is false"), returnerer "Udtrykket er sandt".

= IF("12"=12,"Expression is true", "Expression is false"), returnerer "Udtrykket er falsk"

Konverteringer udføres implicit for numeriske typer eller dato-/klokkeslætstyper som beskrevet i følgende tabel:

Sammenligningsoperator

HELTAL

VALUTA

REELT TAL

Dato/klokkeslæt

HELTAL

HELTAL

VALUTA

REELT TAL

REELT TAL

VALUTA

VALUTA

VALUTA

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

REELT TAL

Dato/klokkeslæt

REELT TAL

REELT TAL

REELT TAL

Dato/klokkeslæt

Toppen af siden

Håndtering af tomme celler, tomme strenge og nulværdier

I DAX er et null, en tom værdi, en tom celle eller en manglende værdi alle repræsenteret af den samme nye værditype, dvs. en BLANK. Du kan også oprette tomme ved hjælp af funktionen BLANK eller teste, om der er tomme, ved hjælp af funktionen ISBLANK.

Hvordan tomme håndteres i operationer som addition eller sammenkædning, afhænger af den individuelle funktion. I følgende tabel opsummeres forskellene mellem, hvordan tomme værdier håndteres i henholdsvis DAX- og Microsoft Excel-formler.

Udtryk

DAX

Excel

BLANK + BLANK

BLANK

0 (nul)

BLANK +5

5

5

BLANK * 5

BLANK

0 (nul)

5/BLANK

Uendeligt

Fejl

0/BLANK

NaN

Fejl

BLANK/BLANK

BLANK

Fejl

FALSE OR BLANK

FALSE

FALSE

FALSE AND BLANK

FALSE

FALSE

TRUE OR BLANK

TRUE

TRUE

TRUE AND BLANK

FALSE

TRUE

BLANK OR BLANK

BLANK

Fejl

BLANK AND BLANK

BLANK

Fejl

Du kan finde oplysninger om, hvordan en bestemt funktion eller operator håndterer tomme felter, under de enkelte emner for hver DAX-funktion i afsnittet Funktionsreferencen (DAX).

Toppen af siden

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×