Gegevenstypen in gegevensmodellen

In een gegevensmodel heeft elke kolom een bijbehorend gegevenstype dat aangeeft welk type gegevens de kolom kan bevatten: gehele getallen, decimale getallen, tekst, valutagegevens, 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 invoegtoepassing Power Pivot 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

Tabelgegevenstype

Impliciete en expliciete conversie van gegevenstypen in DAX-formules

Tabel van impliciete gegevensconversies

Optellen (+)

Aftrekken (-)

Vermenigvuldigen (*)

Delen (/)

Vergelijkingsoperatoren

Lege waarden, lege tekenreeksen en nulwaarden verwerken

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:

Geheugendatabasefout: de kolom '<kolomnaam>' van de tabel '<tabelnaam>' bevat de waarde '1,7976931348623157e+308', die niet wordt ondersteund. De bewerking is geannuleerd.

Deze fout treedt op, omdat deze waarde door Power Pivot wordt gebruikt om null-waarden aan te duiden. 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 gebruikt in veel functies een tabelgegevenstype, bijvoorbeeld bij aggregaties en berekeningen met tijd. Voor sommige functies is een verwijzing naar een tabel vereist; andere functies retourneren een tabel die vervolgens kan worden gebruikt als invoer in andere functies. Bij sommige functies waarvoor een tabel als invoer is vereist, kunt u een expressie opgeven die in een tabel evalueert. Voor sommige andere functies is een verwijzing naar een basistabel vereist. Zie Naslag voor DAX-functies voor de vereisten voor 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 een van de waarden wordt als tekst weergegeven ("12") en de andere als een getal (12), wordt de tekenreeks impliciet geconverteerd naar een getal, waarna de optelling wordt uitgevoerd. Het resultaat is numeriek. De volgende expressie resulteert in 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 als tekst wordt weergegeven, probeert Power Pivot in sommige gevallen het getaltype vast te stellen en het getal als getal weer te geven.

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

REËEL

REËEL

VALUTA

CURRENCY

CURRENCY

REËEL

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

VALUTA

CURRENCY

REËEL

REËEL

CURRENCY

REËEL

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

REËEL

REËEL

VALUTA

CURRENCY

REAL

CURRENCY

REËEL

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:

IF(FALSE()>"true","Expression is true", "Expression is false"), geeft als resultaat "Expression is true"

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

=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

REËEL

REËEL

VALUTA

CURRENCY

CURRENCY

REËEL

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

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×