Datatyper i datamodeller

Gäller för
Excel för Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

I en datamodell har varje kolumn en associerad datatyp som anger vilken typ av data som kolumnen kan innehålla: heltal, decimaltal, text, monetära data, datum och tider och så vidare. Datatypen avgör också vilka typer av åtgärder som du kan utföra med kolumnen, och hur mycket minne som behövs för att lagra värdena i kolumnen.

Om du använder Power Pivot-tillägget kan du ändra datatypen för en kolumn. Du kan behöva göra det om en datumkolumn importerades som en sträng, men ska vara något annat. Mer information finns i Ange datatypen för en kolumn i Power Pivot.

Artikelinnehåll

Sammanfattning av datatyper

Följande tabell innehåller de datatyper som stöds i en datamodell. När du importerar data eller använder ett värde i en formel konverteras data till någon av följande datatyper, även om den ursprungliga datakällan innehåller en annan datatyp. Värdena som formler resulterar i använder också dessa datatyper.

Datatyp i Excel Datatyp i DAX Beskrivning
Heltal Ett 64-bitars (åtta-bytes) heltalsvärde 1, 2 Tal som inte har några decimaler. Heltal kan vara positiva eller negativa tal, men måste vara hela tal mellan -9 223 372 036 854 775 808 (-2^63) och 9 223 372 036 854 775 807 (2^63-1).
Decimaltal Ett 64-bitars (åtta-bytes) realtal 1, 2 Realtal är tal som kan ha decimaler. Realtal innefattar en rad värden:
Negativa värden från -1,79E +308 till -2,23E -308
Noll
Positiva värden från 2,23E -308 till 1,79E +308
Antalet signifikanta siffror är dock begränsat till 15 decimalsiffror.
SANT/FALSKT Boolesk Antingen ett sant- eller falskt-värde.
Text Sträng En Unicode-teckendatasträng. Kan vara strängar, tal eller datum som anges i ett textformat.
Den högsta tillåtna stränglängden är 268 435 456 Unicode-tecken (256 mega tecken) eller 536 870 912 byte.
Datum Datum/tid Datum och tider i ett godkänt datum-/tidformat.
Giltiga datum är alla datum efter 1 januari 1900.
Valuta Valuta I datatypen valuta tillåts värden mellan -922 337 203 685 477,5808 och 922 337 203 685 477,5807 med fyra decimalsiffror med fast precision.
Tom Ett blankvärde är en datatyp i DAX som representerar och ersätter nullvärden i SQL. Du skapar ett blankvärde med funktionen BLANK och söker efter blankvärden genom att använda den logiska funktionen ISBLANK.

1 DAX-formler har inte stöd för datatyper som är mindre än de som anges i tabellen.

2 Om du försöker importera data som har mycket höga numeriska värden kan importen misslyckas på grund av följande fel:

Fel i minnesdatabasen: Kolumnen "<kolumnnamn>" i tabellen "<tabellnamn>" innehåller värdet "1,7976931348623157e+308", som inte stöds. Åtgärden har avbrutits.

Det här felet inträffar eftersom Power Pivot använder det värdet för att representera null-värden. Värdena i följande lista är synonymer till nullvärdet:

Värde
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2,2250738585072014e-308

Ta bort värdet från dina data och försök importera igen.

Tabelldatatyp

DAX använder en tabelldatatyp i många funktioner, till exempel aggregeringar och tidsinformationsberäkningar. Vissa funktioner kräver en referens till en tabell. andra funktioner returnerar en tabell som sedan kan användas som indata till andra funktioner. I vissa funktioner som kräver en tabell som indata kan du ange ett uttryck som utvärderas till en tabell. för vissa funktioner krävs en referens till en bastabell. Mer information om kraven för specifika funktioner finns i Funktionsreferens för DAX.

Implicit och explicit datatypskonvertering i DAX-formler

Varje DAX-funktion har specifika krav på vilka typer av data som används som indata och utdata. Vissa funktioner kräver till exempel heltal för vissa argument och datum för andra. andra funktioner kräver text eller tabeller.

Om data i kolumnen som du anger som argument är inkompatibla med datatypen som krävs av funktionen, returneras i många fall ett fel. Där så är möjligt görs automatiska försök att implicit konvertera data till den datatyp som krävs. Exempel:

  • Du kan skriva ett datum som en sträng. Då parsas strängen och ett försök görs att typkonvertera den som något av datum- och tidsformaten i Windows.
  • Du kan lägga till TRUE + 1 och få resultatet 2, eftersom TRUE konverteras implicit till talet 1 och åtgärden 1+1 utförs.
  • Om du lägger till värden i två kolumner, och ett värde råkar visas som text ("12") och det andra som ett tal (12), konverteras strängen implicit till ett tal och sedan görs en addition av det numeriska resultatet. Följande uttryck returnerar 44: = "22" + 22.
  • Om du försöker sammanfoga två tal, presenteras de som strängar i Excel och sammanfogas sedan. Följande uttryck returnerar "1234": = 12 & 34

I tabellen nedan sammanfattas de implicita datatypskonverteringarna som utförs i formler. Excel utför implicita konverteringar när det är möjligt och om det krävs av den angivna åtgärden.

Tabell med implicita datakonverteringar

Vilken typ av konvertering som utförs bestäms av operatorn, som typkonverterar värdena som behövs innan önskad åtgärd utförs. I tabellerna nedan anges operatorerna, och vilken konvertering som utförs för respektive datatyp i kolumnen när den paras ihop med datatypen i korsande rad.

Obs

Textdatatyper beskrivs inte i dessa tabeller. När ett tal representeras som i ett textformat försöker Power Pivot i vissa fall fastställa taltypen och representera det som ett tal.

Addition (+)

Operator (+) HELTAL VALUTA REELLT Datum/tid
HELTAL HELTAL VALUTA REELLT Datum/tid
VALUTA VALUTA VALUTA REELLT Datum/tid
REELLT REAL REAL REELLT Datum/tid
Datum/tid Datum/tid Datum/tid Datum/tid Datum/tid

Om till exempel ett realtal används vid addition i kombination med valutadata konverteras båda värdena till REAL, och resultatet returneras som REAL.

Subtraktion (-)

I tabellen nedan är radrubriken minuenden (vänster sida) och kolumnrubriken är subtrahenden (höger sida).

Operator (-) HELTAL VALUTA REELLT Datum/tid
HELTAL HELTAL VALUTA REELLT REELLT
VALUTA VALUTA VALUTA REELLT REAL
REAL REAL REAL REAL REELLT
Datum/tid Datum/tid Datum/tid Datum/tid Datum/tid

Om till exempel ett datum används vid subtraktion med någon annan datatyp, konverteras båda värdena till datum, och returvärdet blir också ett datum.

Obs

Datamodeller har också stöd för den unära operatorn, - (negativ), men den här operatorn ändrar inte datatypen på operanden.

Multiplikation (*)

Operator (*) HELTAL VALUTA REELLT Datum/tid
HELTAL HELTAL VALUTA REELLT HELTAL
VALUTA VALUTA REELLT VALUTA VALUTA
REELLT REELLT VALUTA REELLT REELLT

Om till exempel ett heltal kombineras med ett realtal vid multiplikation konverteras båda talen till realtal, och returvärdet blir också REAL.

Division (/)

I tabellen nedan är radrubriken täljaren och kolumnrubriken är nämnaren.

Operator (/)
(Rad/kolumn)
HELTAL VALUTA REELLT Datum/tid
HELTAL REELLT VALUTA REELLT REELLT
VALUTA VALUTA REELLT VALUTA REELLT
REAL REAL REAL REAL REELLT
Datum/tid REELLT REAL REAL REELLT

Om till exempel ett heltal kombineras med ett valutavärde vid division konverteras båda värdena till realtal, och resultatet blir också ett realtal.

Jämförelseoperatorer

I jämförelseuttryck anses booleska värden vara större än strängvärden och strängvärden anses vara större än numeriska värden eller datum-/tidsvärden. tal och datum-/tidsvärden anses ha samma rangordning. Inga implicita konverteringar utförs för booleska värden eller strängvärden. BLANK eller ett tomt värde konverteras till 0/""/false beroende på datatypen för det andra jämförda värdet.

I DAX-uttrycken nedan illustreras det här beteendet:

=OM(FALSKT()>"sant";"Uttrycket är sant", "Uttrycket är falskt") returnerar "Uttrycket är sant"

=OM("12">12,"Uttrycket är sant", "Uttrycket är falskt" returnerar "Uttrycket är sant".

=OM("12"=12,"Uttrycket är sant", "Uttrycket är falskt") ger resultatet "Uttrycket är falskt"

Konvertering utförs implicit för numeriska typer eller datum-/tidstyper enligt tabellen nedan:

Jämförelseoperator HELTAL VALUTA REELLT Datum/tid
HELTAL HELTAL VALUTA REELLT REELLT
VALUTA VALUTA VALUTA REELLT REAL
REAL REAL REAL REAL REELLT
Datum/tid REELLT REAL REELLT Datum/tid

Överst på sidan

Hantera blankvärden, tomma strängar och nollvärden

I DAX representeras ett null-värde, ett blankvärde, en tom cell eller ett värde som saknas av samma nya värdetyp, BLANK. Du kan också skapa blankvärden genom att använda funktionen BLANK, eller söka efter blankvärden med funktionen ISBLANK.

Hur blankvärden hanteras i åtgärder som addition och sammanfogning beror på den enskilda funktionen. I tabellen nedan sammanfattas skillnaderna mellan hur blankvärden hanteras i DAX-formler och i Microsoft Excel-formler.

Uttryck DAX Excel
BLANK + BLANK BLANK 0 (noll)
BLANK +5 5 5
BLANK * 5 BLANK 0 (noll)
5/BLANK Oändligt Fel
0/BLANK NaN Fel
BLANK/BLANK BLANK Fel
FALSE ELLER BLANK FALSKT FALSKT
FALSE OCH BLANK FALSKT FALSKT
TRUE ELLER BLANK SANT SANT
TRUE OCH BLANK FALSKT SANT
BLANK ELLER BLANK BLANK Fel
BLANK OCH BLANK BLANK Fel

Mer information om hur en viss funktion eller operator hanterar blankvärden finns i avsnitten om respektive DAX-funktion i Funktionsreferens för DAX.

Överst på sidan