Gegevenstypen in gegevensmodellen

Van toepassing op
Excel voor Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

In een gegevensmodel heeft elke kolom een gekoppeld gegevenstype dat het type gegevens aangeeft dat de kolom kan bevatten: hele getallen, decimale getallen, tekst, monetaire gegevens, datums en tijden, enzovoort. Het gegevenstype bepaalt ook welke bewerkingen u op de kolom kunt uitvoeren en hoeveel geheugen nodig is om de waarden in de kolom op te slaan.

Als u de Power Pivot-invoegtoepassing gebruikt, kunt u het gegevenstype van een kolom wijzigen. Dit kan bijvoorbeeld nodig zijn als een datumkolom als tekenreeks is geïmporteerd, maar dit iets anders moet worden. Zie Het gegevenstype van een kolom instellen in Power Pivot voor meer informatie.

In dit artikel

Overzicht van gegevenstypen

In de volgende tabel ziet u de gegevenstypen die in een gegevensmodel worden ondersteund. Wanneer u gegevens importeert of een waarde in een formule gebruikt, worden de gegevens naar een van deze gegevenstypen omgezet, zelfs als de oorspronkelijke gegevensbron een ander gegevenstype bevat. Waarden die het resultaat zijn van formules, gebruiken deze gegevenstypen ook.

Gegevenstype in Excel Gegevenstype in DAX Beschrijving
Geheel getal Een geheel getal van 64 bits (acht bytes) 1, 2 Getallen zonder decimalen. Gehele getallen kunnen positieve of negatieve getallen zijn, maar moeten hele getallen zijn tussen -9.223.372.036.854.775.808 (-2^63) en 9.223.372.036.854.775.807 (2^63-1).
Decimaal getal Een reëel getal van 64 bits (acht bytes) 1, 2 Reële getallen zijn getallen die decimalen kunnen bevatten. Reële getallen bestrijken een groot bereik met waarden:
Negatieve waarden van -1,79E +308 tot en met -2,23E -308
Nul
Positieve waarden van 2,23E -308 tot en met 1,79E + 308
Het aantal significante cijfers is echter beperkt tot 15 decimale cijfers.
WAAR/ONWAAR Booleaanse waarde Dit is de waarde TRUE (Waar) of FALSE (Onwaar).
Tekst Tekenreeks Een Unicode-tekenreeks. Dit kunnen tekenreeksen, getallen of datums zijn die als tekst worden weergegeven.
De maximumlengte voor tekenreeksen is 268.435.456 Unicode-tekens (256 megatekens) of 536.870.912 bytes.
Datum Datum/tijd Datums en tijden in een geaccepteerde datum-/tijdweergave.
Geldige datums zijn alle datums na 1 januari 1900.
Valuta Valuta Voor het valutagegevenstype zijn waarden tussen -922.337.203.685.477,5808 en 922.337.203.685.477,5807 toegestaan met een vaste precisie van vier decimale cijfers.
N.v.t. Leeg Leeg is een gegevenstype in DAX dat de null-waarden van SQL vervangt. U kunt een lege waarde maken met de functie BLANK en testen op lege waarden met de logische functie ISBLANK.

1 In DAX-formules worden geen gegevenstypen ondersteund die kleiner zijn dan de in de tabel vermelde typen.

2 Als u probeert gegevens te importeren die zeer grote numerieke waarden bevatten, mislukt de import mogelijk met de volgende fout:

Fout in de database in het geheugen: de kolom '<kolomnaam>' van de tabel '<tabelnaam>' bevat een waarde, '1,7976931348623157e+308', die niet wordt ondersteund. De bewerking is geannuleerd.

Deze fout treedt op omdat Power Pivot deze waarde gebruikt om null-waarden weer te geven. De waarden in de volgende lijst zijn synoniem met de null-waarde:

Waarde
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2,2250738585072014e-308

Verwijder de waarde uit uw gegevens en probeer de gegevens opnieuw te importeren.

Tabelgegevenstype

DAX maakt gebruik van een tabelgegevenstype in veel functies, zoals aggregaties en time intelligence-berekeningen. Voor sommige functies is een verwijzing naar een tabel vereist; andere functies retourneren een tabel die vervolgens kan worden gebruikt als invoer voor andere functies. In sommige functies waarvoor een tabel als invoer is vereist, kunt u een expressie opgeven die resulteert in een tabel; voor sommige functies is een verwijzing naar een basistabel vereist. Zie NAslaginformatie over DAX-functies voor meer informatie over de vereisten van specifieke functies.

Impliciete en expliciete conversie van gegevenstypen in DAX-formules

Voor elke DAX-functie bestaan specifieke vereisten wat de typen gegevens betreft die als in- en uitvoer kunnen worden gebruikt. Bij sommige functies zijn bijvoorbeeld voor bepaalde argumenten gehele getallen vereist en voor andere datums; weer andere functies vereisen tekst of tabellen.

Als de gegevens in de kolom die u als argument opgeeft niet compatibel zijn met het gegevenstype dat voor de functie is vereist, geeft DAX meestal een fout weer. Waar mogelijk zal DAX echter proberen de gegevens impliciet naar het vereiste gegevenstype te converteren. Bijvoorbeeld:

  • U kunt een datum als een tekenreeks typen, waarna DAX de tekenreeks parseert en deze naar een van de datum- en tijdnotaties van Windows omzet.
  • U kunt TRUE + 1 toevoegen en als resultaat 2 krijgen, omdat TRUE impliciet wordt geconverteerd naar het cijfer 1, waarna de bewerking 1+1 wordt uitgevoerd.
  • Als u waarden in twee kolommen optelt en één waarde wordt weergegeven als tekst ('12') en de andere als een getal (12), converteert DAX de tekenreeks impliciet naar een getal en wordt vervolgens de optelwaarde voor een numeriek resultaat uitgevoerd. De volgende expressie retourneert 44: = "22" + 22
  • Als u twee getallen probeert samen te voegen, worden deze in Excel gepresenteerd als tekenreeksen en daarna samengevoegd. De volgende expressie resulteert in '1234': = 12 & 34

De volgende tabel is een overzicht van de impliciete conversies van gegevenstypen die in formules worden uitgevoerd. In Excel worden waar mogelijk impliciete conversies uitgevoerd wanneer dat voor de desbetreffende bewerking vereist is.

Tabel van impliciete gegevensconversies

Welk type conversie wordt uitgevoerd, hangt af van de operator, die de vereiste waarden omzet alvorens de gevraagde bewerking uit te voeren. In deze tabellen worden de operators vermeld, met de conversie die op elk gegevenstype in de kolom wordt uitgevoerd wanneer het wordt gekoppeld aan het gegevenstype op het snijpunt met de rij.

Opmerking

Tekstuele gegevenstypen zijn niet in deze tabellen opgenomen. Wanneer een getal wordt weergegeven als in een tekstnotatie, probeert Power Pivot in sommige gevallen het getaltype te bepalen en het getal weer te geven als een getal.

Optellen (+)

Operator (+) INTEGER CURRENCY REAL Datum/tijd
INTEGER INTEGER CURRENCY REAL Datum/tijd
CURRENCY CURRENCY CURRENCY REAL Datum/tijd
REAL REAL REAL REAL Datum/tijd
Datum/tijd Datum/tijd Datum/tijd Datum/tijd Datum/tijd

Als een reëel getal bijvoorbeeld wordt gebruikt in een optelling in combinatie met valutagegevens, worden beide waarden geconverteerd naar REAL en wordt het resultaat als REAL geretourneerd.

Aftrekken (-)

In de volgende tabel is de rijkop het aftrektal (linkerkant) en is de kolomkop de aftrekker (rechterkant).

Operator (-) GEHEEL GETAL CURRENCY REAL Datum/tijd
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Datum/tijd Datum/tijd Datum/tijd Datum/tijd Datum/tijd

Als een datum bijvoorbeeld wordt gebruikt in een aftreksom met een ander gegevenstype, worden beide waarden geconverteerd naar datums en is het resultaat ook een datum.

Opmerking

Gegevensmodellen ondersteunen ook de negatieve operator - (negatieve getallen), maar deze operator wijzigt het gegevenstype van de operand niet.

Vermenigvuldigen (*)

Operator (*) INTEGER CURRENCY REAL Datum/tijd
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Als een geheel getal bijvoorbeeld wordt gecombineerd met een reëel getal in een vermenigvuldiging, worden beide getallen geconverteerd naar reële getallen en is de resultaatwaarde eveneens REAL.

Delen (/)

In de volgende tabel is de rijkop de teller en is de kolomkop de noemer.

Operator (/)
(Rij/kolom)
INTEGER CURRENCY REAL Datum/tijd
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Datum/tijd REAL REAL REAL REAL

Als een geheel getal bijvoorbeeld wordt gecombineerd met een valutawaarde in een deling, worden beide waarden geconverteerd naar reële getallen en is het resultaat ook een reëel getal.

Vergelijkingsoperators

In vergelijkingsexpressies worden booleaanse waarden als belangrijker dan tekenreekswaarden beschouwd en worden tekenreekswaarden als belangrijker dan numerieke waarden of datum-/tijdwaarden beschouwd; numerieke waarden en datum-/tijdwaarden worden als gelijkwaardig beschouwd. Er worden geen impliciete conversies uitgevoerd voor booleaanse waarden of tekenreekswaarden; BLANK of een lege waarde wordt geconverteerd naar 0/""/onwaar afhankelijk van het gegevenstype van de andere vergeleken waarde.

Dit gedrag wordt door de volgende DAX-expressies geïllustreerd:

=ALS(FALSE()>"true";"Expression is true", "Expression is false"), retourneert "Expression is true"

=ALS("12">12;"Expressie is waar", "Expressie is onwaar"), retourneert "Expressie is waar".

=IF("12"=12,"Expression is true", "Expression is false"), geeft als resultaat "Expression is false"

Conversies worden impliciet uitgevoerd voor numerieke typen of datum-/tijdtypen zoals in de volgende tabel wordt beschreven:

Vergelijkingsoperator INTEGER CURRENCY REAL Datum/tijd
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Datum/tijd REAL REAL REAL Datum/tijd

Naar boven

Lege waarden, lege tekenreeksen en 0-waarden verwerken

In DAX worden een null, een lege waarde, een lege cel of een ontbrekende waarde allemaal door hetzelfde nieuwe waardetype weergegeven, een BLANK. U kunt ook lege waarden genereren met de functie BLANK of testen op lege waarden met de functie ISBLANK.

Hoe lege waarden worden verwerkt in bewerkingen, zoals optellingen of samenvoegingen, hangt af van de gebruikte functie. In de volgende tabel ziet u een overzicht van de verschillen tussen de manier waarop DAX- en Microsoft Excel-formules met lege waarden omgaan.

Expressie DAX Excel
LEEG + LEEG LEEG 0 (nul)
LEEG +5 5 5
LEEG * 5 LEEG 0 (nul)
5/LEEG Oneindig Fout
0/LEEG Geen getal Fout
LEEG/LEEG LEEG Fout
ONWAAR OF LEEG ONWAAR ONWAAR
ONWAAR EN LEEG ONWAAR ONWAAR
WAAR OF LEEG WAAR WAAR
WAAR EN LEEG ONWAAR WAAR
LEEG OF LEEG LEEG Fout
LEEG EN LEEG LEEG Fout

Meer informatie over de manier waarop een specifieke functie of operator met lege waarden omgaat, vindt u in de desbetreffende onderwerpen voor elke DAX-functie in het gedeelte Naslag voor DAX-functies.

Naar boven