Gegevenstypen in Power BI Desktop

In dit artikel worden gegevenstypen beschreven die door Power BI Desktop en DAX (Data Analysis Expressions) worden ondersteund.

Wanneer Power BI gegevens laadt, wordt geprobeerd de gegevenstypen van bronkolommen te converteren naar gegevenstypen die efficiëntere opslag, berekeningen en gegevensvisualisatie ondersteunen. Als een kolom met waarden die u importeert uit Excel bijvoorbeeld geen breukwaarden bevat, converteert Power BI Desktop de gegevenskolom naar een Wie le getalgegevenstype, dat beter geschikt is voor het opslaan van gehele getallen.

Dit concept is belangrijk omdat sommige DAX-functies speciale vereisten voor gegevenstypen hebben. In veel gevallen converteert DAX impliciet gegevenstypen, maar in sommige gevallen niet. Als voor een DAX-functie bijvoorbeeld een datumgegevenstype is vereist, maar het gegevenstype voor uw kolom Text is, werkt de DAX-functie niet correct. Het is dus belangrijk en handig om de juiste gegevenstypen voor kolommen te gebruiken.

Het gegevenstype van een kolom bepalen en opgeven

In Power BI Desktop kunt u het gegevenstype van een kolom bepalen en opgeven in de Power Query-editor, in de gegevensweergave of in de rapportweergave:

  • Selecteer in Power Query-editor de kolom en selecteer vervolgens Gegevenstype in de groep Transformeren van het lint.

    Screenshot of the Power Query Editor, showing the Data type dropdown selection.

  • Selecteer in de gegevensweergave of rapportweergave de kolom en selecteer vervolgens de vervolgkeuzepijl naast het gegevenstype op het tabblad Hulpmiddelen voor kolommen op het lint.

    Screenshot of Data View, showing the Data type dropdown selection.

De vervolgkeuzelijst Gegevenstype in Power Query-editor heeft twee gegevenstypen die niet aanwezig zijn in de gegevensweergave of rapportweergave: datum/tijd/tijdzone en duur. Wanneer u een kolom met deze gegevenstypen in het Power BI-model laadt, wordt een datum-/tijd-/tijdzonekolom omgezet in een datum/tijd-gegevenstype en wordt de kolom Duur omgezet in een gegevenstype Decimale getallen .

Het binaire gegevenstype wordt niet ondersteund buiten de Power Query-editor. In de Power Query-editor kunt u het binaire gegevenstype gebruiken wanneer u binaire bestanden laadt als u deze converteert naar andere gegevenstypen voordat u het in het Power BI-model laadt. De binaire selectie bestaat om verouderde redenen in de menu's Gegevensweergave en Rapportweergave, maar als u binaire kolommen probeert te laden in het Power BI-model, kunnen er fouten optreden.

Getaltypen

Power BI Desktop ondersteunt drie getaltypen: Decimaal getal, Vast decimaal getal en Wie le getal.

U kunt de kolomeigenschap Tabular Object Model (TOM) DataType gebruiken om de DataType opsommingen voor getaltypen op te geven. Zie Programmatische Power BI-modellen met het tabellaire objectmodel voor meer informatie over het programmatisch wijzigen van objecten in Power BI.

Decimaal getal

Decimaal getal is het meest voorkomende getaltype en kan getallen verwerken met breukwaarden en gehele getallen. Decimaal getal vertegenwoordigt 64-bits drijvendekommanummers (acht bytes) met negatieve waarden van -1,79E +308 tot en met -2.23E -308, positieve waarden van 2.23E -308 tot en met 1,79E +308 en 0. Getallen zoals 34, 34,01 en 34.000367063 zijn geldige decimale getallen.

De hoogste precisie die het type decimaal getal kan vertegenwoordigen, is 15 cijfers. Het decimaalteken kan overal in het getal voorkomen. Dit type komt overeen met de manier waarop excel de getallen opslaat en TOM geeft dit type op als DataType.Double Enum.

Vast decimaal getal

Het gegevenstype Vast decimaal getal heeft een vaste locatie voor het decimaalteken. Het decimaalteken heeft altijd vier cijfers rechts en maakt 19 cijfers van significantie mogelijk. De grootste waarde die het vaste decimaal getal kan vertegenwoordigen, is positief of negatief 922.337.203.685.477,5807.

Het type vast decimaal getal is handig in gevallen waarin afronding fouten kan veroorzaken. Getallen met kleine breukwaarden kunnen soms een getal opstapelen en afdwingen dat een getal iets onnauwkeurig is. Het type vast decimaal getal kan u helpen dit soort fouten te voorkomen door de waarden af te kapen boven de vier cijfers rechts van het decimaalteken.

Dit gegevenstype komt overeen met het decimaalteken van SQL Server (19,4) of het gegevenstype Valuta in Analysis Services en Power Pivot in Excel. TOM geeft dit type op als DataType.Decimal Enum.

Geheel getal

Wie le getal vertegenwoordigt een 64-bits (acht-byte) geheel getal. Omdat het een geheel getal is, heeft Wie le getal geen cijfers rechts van de decimale plaats. Dit type maakt 19 cijfers van positieve of negatieve gehele getallen mogelijk tussen -9.223.372.036.854.775.807 (-2^63+1) en 9.223.372.036.854.775.806 (2^63-2), zodat de grootst mogelijke getallen van de numerieke gegevenstypen kunnen worden vertegenwoordigd.

Net als bij het vaste decimaaltype kan het Wie le-getaltype handig zijn wanneer u afronding wilt beheren. TOM vertegenwoordigt het gegevenstype Wie le getal als DataType.Int64 Enum.

Notitie

Het Power BI Desktop-gegevensmodel ondersteunt 64-bits geheel getalwaarden, maar vanwege JavaScript-beperkingen kan het grootste aantal Power BI-visuals veilig worden express 9.007.199.254.740.991 (2^53-1). Als uw gegevensmodel grotere getallen heeft, kunt u de grootte ervan verkleinen via berekeningen voordat u ze toevoegt aan visuals.

Nauwkeurigheid van berekeningen van het getaltype

Kolomwaarden van het gegevenstype Decimale getallen worden opgeslagen als gegevenstypen bij benadering , volgens de IEEE 754 Standard voor drijvendekommagetallen. Gegevenstypen bij benadering hebben inherente precisiebeperkingen, omdat in plaats van exacte getalwaarden op te slaan, ze extreem dichte of afgeronde benaderingen kunnen opslaan.

Precisieverlies of onnauwkeurigheid kan optreden als de drijvendekommage-waarde het aantal drijvendekommacijferlen niet betrouwbaar kan kwantificeren. Onnauwkeurigheid kan mogelijk worden weergegeven als onverwachte of onnauwkeurige berekeningsresultaten in sommige rapportagescenario's.

Vergelijkingsberekeningen met betrekking tot gelijkheid tussen waarden van het gegevenstype Decimaal getal kunnen mogelijk onverwachte resultaten opleveren. Gelijkheidsvergelijkingen =zijn gelijk aan, groter dan >, kleiner dan <, groter dan of gelijk aan >=, en kleiner dan of gelijk aan <=.

Dit probleem is het duidelijkst wanneer u de functie RANKX gebruikt in een DAX-expressie, waarmee het resultaat tweemaal wordt berekend, wat resulteert in iets verschillende getallen. Rapportgebruikers merken mogelijk niet het verschil tussen de twee getallen, maar het rangschikkingsresultaat kan merkbaar onnauwkeurig zijn. Om onverwachte resultaten te voorkomen, kunt u het gegevenstype kolom wijzigen van Decimaal getal in Vast decimaal getal of Wie le getal, of een geforceerde afronding uitvoeren met BEHULP van AFRONDEN. Het gegevenstype Vaste decimale getallen heeft een grotere precisie, omdat het decimaalteken altijd vier cijfers rechts heeft.

Zelden kunnen berekeningen die de waarden van een kolom met gegevenstype Decimaal getal optellen onverwachte resultaten opleveren. Dit resultaat is waarschijnlijk met kolommen met grote hoeveelheden positieve getallen en negatieve getallen. Het resultaat van de som wordt beïnvloed door de verdeling van waarden tussen rijen in de kolom.

Als een vereiste berekening de meeste positieve getallen optelt voordat de meeste negatieve getallen worden opgeteld, kan de grote positieve gedeeltelijke som aan het begin mogelijk scheeftrekken van de resultaten. Als de berekening een evenwichtige positieve en negatieve getallen toevoegt, behoudt de query meer precisie en retourneert deze dus nauwkeurigere resultaten. Als u onverwachte resultaten wilt voorkomen, kunt u het gegevenstype kolom wijzigen van Decimaal getal in Vast decimaal getal of Wie le getal.

Datum-/tijdtypen

Power BI Desktop ondersteunt vijf datum-/tijdgegevenstypen in Power Query-editor. Zowel datum/tijd/tijdzone als duur worden tijdens het laden geconverteerd naar het Power BI Desktop-gegevensmodel. Het model ondersteunt datum/tijd of u kunt de waarden onafhankelijk van datum of tijd opmaken.

  • Datum/tijd vertegenwoordigt zowel een datum- als tijdwaarde. De onderliggende datum/tijd-waarde wordt opgeslagen als een decimaal getaltype , zodat u tussen de twee typen kunt converteren. Het tijdgedeelte wordt opgeslagen als een breuk tot gehele veelvouden van 1/300 seconden (3,33 ms). Het gegevenstype ondersteunt datums tussen jaren 1900 en 9999.

  • Datum vertegenwoordigt alleen een datum zonder tijdgedeelte. Een datum wordt omgezet in het model als een datum/tijd-waarde met nul voor de breukwaarde.

  • Tijd vertegenwoordigt slechts een tijd zonder datumgedeelte. Een tijd wordt omgezet in het model als een datum/tijd-waarde zonder cijfers links van het decimaalteken.

  • Datum/tijd/tijdzone vertegenwoordigt een UTC-datum/tijd met een tijdzone-offset en converteert naar datum/tijd wanneer deze in het model wordt geladen. Het Power BI-model past de tijdzone niet aan op basis van de locatie of landinstelling van een gebruiker. Een waarde van 09:00 uur die in het model in de VS is geladen, wordt weergegeven als 09:00 wanneer het rapport wordt geopend of bekeken.

  • De duur vertegenwoordigt een tijdsduur en wordt geconverteerd naar een type decimaal getal wanneer deze in het model wordt geladen. Als type decimaal getal kunt u de waarden optellen of aftrekken van datum-/tijdwaarden met de juiste resultaten en eenvoudig de waarden gebruiken in visualisaties die de grootte weergeven.

Teksttype

Het gegevenstype Tekst is een Unicode-tekenreeks, die kan bestaan uit letters, cijfers of datums die in een tekstindeling worden weergegeven. De praktische maximumlimiet voor tekenreekslengte is ongeveer 32.000 Unicode-tekens, op basis van de onderliggende Power Query-engine van Power BI en de limieten voor lengten van tekstgegevenstypen . Tekstgegevenstypen die buiten de praktische maximumlimiet vallen, leiden waarschijnlijk tot fouten.

De manier waarop tekstgegevens worden opgeslagen in Power BI, kan ertoe leiden dat de gegevens in bepaalde situaties anders worden weergegeven. In de volgende secties worden veelvoorkomende situaties beschreven waardoor tekstgegevens enigszins kunnen worden gewijzigd tussen het uitvoeren van query's op gegevens in Power Query-editor en het laden ervan in Power BI.

Hoofdlettergevoelig

De engine waarmee gegevens in Power BI worden opgeslagen en opgevraagd, is niet hoofdlettergevoelig en behandelt verschillende hoofdletters van letters als dezelfde waarde. "A" is gelijk aan "a". Power Query is echter hoofdlettergevoelig, waarbij 'A' niet hetzelfde is als 'a'. Het verschil in hoofdlettergevoeligheid kan leiden tot situaties waarin tekstgegevens schijnbaar onbegrijpelijk worden gewijzigd na het laden in Power BI.

In het volgende voorbeeld ziet u ordergegevens: een OrderNo-kolom die uniek is voor elke order en een adresadreskolom met de naam van de geadresseerde die handmatig is ingevoerd tijdens de order. Power Query-editor toont verschillende orders met hetzelfde Namen van geadresseerden die in het systeem zijn ingevoerd met verschillende hoofdletters.

Screenshot of textual data with various capitalizations in Power Query

Nadat de gegevens in Power BI zijn geladen, verandert het hoofdlettergebruik van de dubbele namen op het tabblad Gegevens van de oorspronkelijke vermelding in een van de hoofdlettervarianten.

Screenshot that shows the textual data with changed capitalization after loading into Power BI.

Deze wijziging treedt op omdat Power Query-editor hoofdlettergevoelig is, zodat de gegevens exact worden weergegeven zoals opgeslagen in het bronsysteem. De engine waarin gegevens in Power BI worden opgeslagen, is niet hoofdlettergevoelig, dus behandelt de kleine letters en hoofdletters van een teken als identiek. Power Query-gegevens die in de Power BI-engine zijn geladen, kunnen dienovereenkomstig worden gewijzigd.

De Power BI-engine evalueert elke rij afzonderlijk wanneer er gegevens worden geladen, beginnend vanaf de bovenkant. Voor elke tekstkolom, zoals Addressee, slaat de engine een woordenlijst met unieke waarden op om de prestaties te verbeteren via gegevenscompressie. De engine ziet de eerste drie waarden in de kolom Addressee als uniek en slaat deze op in de woordenlijst. Daarna worden de namen als identiek geëvalueerd, omdat de engine niet hoofdlettergevoelig is.

De engine ziet de naam 'Taina Hasu' als identiek aan 'TAINA HASU' en 'Taina HASU', dus deze slaat deze variaties niet op, maar verwijst naar de eerste variatie die is opgeslagen. De naam 'MURALI DAS' wordt in hoofdletters weergegeven, omdat de naam de eerste keer dat de engine deze heeft geëvalueerd bij het laden van de gegevens van boven naar beneden.

In deze afbeelding ziet u het evaluatieproces:

Diagram that shows the data load process and mapping text values to a dictionary of unique values.

In het voorgaande voorbeeld laadt de Power BI-engine de eerste rij met gegevens, maakt u de woordenlijst Addressee en voegt u Taina Hasu eraan toe. De engine voegt ook een verwijzing naar die waarde toe in de kolom Addressee in de tabel die wordt geladen. De engine doet hetzelfde voor de tweede en derde rij, omdat deze namen niet gelijk zijn aan de andere bij het negeren van hoofdletters.

Voor de vierde rij vergelijkt de engine de waarde met de namen in de woordenlijst en zoekt de naam. Omdat de engine niet hoofdlettergevoelig is, zijn "TAINA HASU" en "Taina Hasu" hetzelfde. De engine voegt geen nieuwe naam toe aan de woordenlijst, maar verwijst naar de bestaande naam. Hetzelfde proces gebeurt voor de resterende rijen.

Notitie

Omdat de engine die gegevens opslaat en opvraagt in Power BI niet hoofdlettergevoelig is, moet u er speciaal voor zorgen wanneer u in de DirectQuery-modus met een hoofdlettergevoelige bron werkt. In Power BI wordt ervan uitgegaan dat de bron dubbele rijen heeft geëlimineerd. Omdat Power BI niet hoofdlettergevoelig is, worden twee waarden behandeld die alleen per geval verschillen als duplicaat, terwijl de bron deze mogelijk niet als zodanig behandelt. In dergelijke gevallen is het uiteindelijke resultaat niet gedefinieerd.

Om deze situatie te voorkomen, kunt u, als u de DirectQuery-modus gebruikt met een hoofdlettergevoelige gegevensbron, hoofdlettergebruik normaliseren in de bronquery of in Power Query-editor.

Voorloop- en volgspaties

De Power BI-engine trimt automatisch eventuele volgspaties die tekstgegevens volgen, maar verwijdert geen voorloopspaties die voorafgaan aan de gegevens. Als u verwarring wilt voorkomen, moet u de functie Text.Trim gebruiken om spaties aan het begin of einde van de tekst te verwijderen wanneer u met gegevens met voorloop- of volgspaties werkt. Als u geen voorloopspaties verwijdert, kan een relatie niet worden gemaakt vanwege dubbele waarden of kunnen visuals onverwachte resultaten opleveren.

In het volgende voorbeeld ziet u gegevens over klanten: een naamkolom met de naam van de klant en een indexkolom die uniek is voor elke vermelding. De namen worden weergegeven tussen aanhalingstekens voor duidelijkheid. De naam van de klant herhaalt vier keer, maar elke keer met verschillende combinaties van voorloop- en volgspaties. Deze variaties kunnen optreden met handmatige gegevensinvoer in de loop van de tijd.

Row Voorloopruimte Volgruimte Naam Index Text length
1 Nr. Nr. "Dylan Williams" 1 14
2 Nr. Ja "Dylan Williams " 10 15
3 Ja Nr. "Dylan Williams" 20 15
4 Ja Ja " Dylan Williams " 40 16

In Power Query-editor worden de resulterende gegevens als volgt weergegeven.

Screenshot of textual data with various leading and trailing spaces in Power Query Editor.

Wanneer u naar het tabblad Gegevens in Power BI gaat nadat u de gegevens hebt geladen, ziet dezelfde tabel eruit als in de volgende afbeelding, met hetzelfde aantal rijen als voorheen.

Screenshot of the same textual data after loading into Power BI returns the same number of rows as before.

Een visual op basis van deze gegevens retourneert echter slechts twee rijen.

Screenshot of a table visual based on the same data returning just two lines of data.

In de voorgaande afbeelding heeft de eerste rij een totaalwaarde van 60 voor het veld Index , dus de eerste rij in de visual vertegenwoordigt de laatste twee rijen van de geladen gegevens. De tweede rij met de totale indexwaarde 11 vertegenwoordigt de eerste twee rijen. Het verschil in het aantal rijen tussen de visual en de gegevenstabel wordt veroorzaakt door het automatisch verwijderen of bijsnijden van volgspaties, maar geen voorloopspaties. De engine evalueert dus de eerste en tweede rijen, en de derde en vierde rijen, als identiek, en de visual retourneert deze resultaten.

Dit gedrag kan ook foutberichten veroorzaken met betrekking tot relaties, omdat dubbele waarden worden gedetecteerd. Afhankelijk van de configuratie van uw relaties ziet u bijvoorbeeld een fout die lijkt op de volgende afbeelding:

Screenshot of an error message about duplicate values.

In andere situaties kunt u mogelijk geen veel-op-een- of een-op-een-relatie maken omdat dubbele waarden worden gedetecteerd.

Screenshot of the relationship dialog showing a 'the cardinality you selected isn't valid for this relationship' error, which is related to duplicate values being detected.

U kunt deze fouten terugzetten naar voorloop- of volgspaties en deze oplossen met behulp van Text.Trim of Trim onder Transformeren om de spaties in Power Query-editor te verwijderen.

Waar/onwaar-type

Het gegevenstype Waar/onwaar is een Booleaanse waarde van Waar of Onwaar. Als u voor de beste en meest consistente resultaten een kolom met Booleaanse waar/onwaar-gegevens in Power BI laadt, stelt u het kolomtype in op Waar/Onwaar.

Power BI converteert en geeft gegevens in bepaalde situaties anders weer. In deze sectie worden veelvoorkomende gevallen beschreven van het converteren van Booleaanse waarden en het omzetten van adresconversies waarmee onverwachte resultaten in Power BI worden gemaakt.

In dit voorbeeld laadt u gegevens over of uw klanten zich hebben geregistreerd voor uw nieuwsbrief. Een waarde van TRUE geeft aan dat de klant zich heeft geregistreerd voor de nieuwsbrief en een waarde onwaar geeft aan dat de klant zich niet heeft geregistreerd.

Wanneer u het rapport echter publiceert naar de Power BI-service, wordt in de kolom registratiestatus van de nieuwsbrief 0 en -1 weergegeven in plaats van de verwachte waarden WAAR of ONWAAR. In de volgende stappen wordt beschreven hoe deze conversie plaatsvindt en hoe u deze kunt voorkomen.

De vereenvoudigde query voor deze tabel wordt weergegeven in de volgende afbeelding:

Screenshot that shows columns set to Boolean.

Het gegevenstype van de kolom Abonneren op nieuwsbrief is ingesteld op Any. Als gevolg hiervan worden de gegevens in het model geladen als Tekst.

Screenshot showing the data loaded into Power BI.

Wanneer u een eenvoudige visualisatie toevoegt waarin de gedetailleerde informatie per klant wordt weergegeven, worden de gegevens weergegeven in de visual zoals verwacht, zowel in Power BI Desktop als wanneer ze worden gepubliceerd naar de Power BI-service.

Screenshot of a visual that shows the data appearing as expected.

Wanneer u echter het semantische model in de Power BI-service vernieuwt, worden in de kolom Geabonneerd op nieuwsbrief in de visuals waarden weergegeven als -1 en 0 in plaats van ze weer te geven als WAAR of ONWAAR:

Screenshot of a visual that shows data appearing in an unexpected format after refresh.

Als u het rapport opnieuw publiceert vanuit Power BI Desktop, wordt in de kolom Geabonneerd op nieuwsbrief opnieuw WAAR of ONWAAR weergegeven zoals verwacht, maar wanneer er een vernieuwing plaatsvindt in de Power BI-service, worden de waarden opnieuw gewijzigd om -1 en 0 weer te geven.

De oplossing om deze situatie te voorkomen, is door booleaanse kolommen in te stellen op Waar/Onwaar in Power BI Desktop en uw rapport opnieuw te publiceren.

Screenshot of changing the data type of the column to True/False.

Wanneer u de wijziging aanbrengt, worden in de visualisatie de waarden in de kolom Geabonneerd op nieuwsbrief iets anders weergegeven. In plaats van dat de tekst alle hoofdletters is zoals ingevoerd in de tabel, wordt alleen de eerste letter met hoofdletters geschreven. Deze wijziging is een resultaat van het wijzigen van het gegevenstype van de kolom.

Screenshot of values appearing differently when you change the data type.

Nadat u het gegevenstype hebt gewijzigd, publiceert u opnieuw naar de Power BI-service en wordt er een vernieuwing uitgevoerd, worden in het rapport de waarden weergegeven als Waar of Onwaar, zoals verwacht.

Screenshot that shows true or false values that use the True/false data type appear as expected after refresh.

Als u een samenvatting wilt maken van het werken met Booleaanse gegevens in Power BI, moet u ervoor zorgen dat uw kolommen zijn ingesteld op het gegevenstype Waar/Onwaar in Power BI Desktop.

Leeg type

Leeg is een DAX-gegevenstype dat SQL null-waarden vertegenwoordigt en vervangt. U kunt een lege waarde maken met behulp van de functie BLANK en testen op lege waarden met behulp van de logische functie ISBLANK .

Binair type

U kunt het binaire gegevenstype gebruiken om alle gegevens weer te geven met een binaire indeling. In de Power Query-editor kunt u dit gegevenstype gebruiken bij het laden van binaire bestanden als u het converteert naar andere gegevenstypen voordat u het in het Power BI-model laadt.

Binaire kolommen worden niet ondersteund in het Power BI-gegevensmodel. De binaire selectie bestaat om verouderde redenen in de menu's Gegevensweergave en Rapportweergave, maar als u binaire kolommen probeert te laden in het Power BI-model, kunnen er fouten optreden.

Notitie

Als een binaire kolom in de uitvoer van de stappen van een query staat, kan het vernieuwen van de gegevens via een gateway fouten veroorzaken. Het is raadzaam om binaire kolommen expliciet te verwijderen als de laatste stap in uw query's.

Tabeltype

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 u vervolgens kunt gebruiken 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 de DAX-functieverwijzing voor meer informatie over de vereisten van specifieke functies.

Impliciete en expliciete conversie van gegevenstypen

Elke DAX-functie heeft specifieke vereisten voor de typen gegevens die moeten worden gebruikt als invoer en uitvoer. Sommige functies vereisen bijvoorbeeld gehele getallen voor sommige argumenten en datums voor andere. Voor andere functies is tekst of tabellen vereist.

Als de gegevens in de kolom die u opgeeft als argument niet compatibel zijn met het gegevenstype dat de functie nodig heeft, kan DAX een fout retourneren. Waar mogelijk probeert DAX de gegevens echter impliciet te converteren naar het vereiste gegevenstype.

Voorbeeld:

  • Als u een datum als tekenreeks typt, parseert DAX de tekenreeks en probeert deze als een van de Windows-datum- en tijdnotaties te casten.
  • U kunt TRUE + 1 toevoegen en het resultaat 2 ophalen, omdat DAX IMPLICIET TRUE converteert naar het getal 1 en de bewerking 1+1 doet.
  • Als u waarden toevoegt in twee kolommen met één waarde die wordt weergegeven als tekst (12) en de andere als een getal (12), converteert DAX de tekenreeks impliciet naar een getal en wordt de optelling voor een numeriek resultaat uitgevoerd. De expressie = "22" + 22 retourneert 44.
  • Als u twee getallen probeert samen te voegen, geeft DAX deze weer als tekenreeksen en voegt deze vervolgens samen. De expressie = 12 & 34 retourneert "1234".

Tabellen met impliciete gegevensconversies

De operator bepaalt welk type conversie DAX uitvoert door de waarden te casten die nodig zijn voordat de aangevraagde bewerking wordt uitgevoerd. De volgende tabellen bevatten de operators en de conversie-DAX doet voor elk gegevenstype wanneer deze wordt gekoppeld aan het gegevenstype in de kruisende cel.

Notitie

Deze tabellen bevatten geen gegevenstype Tekst . Wanneer een getal wordt weergegeven in een tekstindeling, probeert Power BI in sommige gevallen het getaltype te bepalen en de gegevens weer te geven als een getal.

Optellen (+)

GEHEEL GETAL VALUTA ECHTE Datum/tijd
GEHEEL GETAL GEHEEL GETAL VALUTA ECHTE Datum/tijd
VALUTA VALUTA VALUTA ECHTE Datum/tijd
ECHTE ECHTE ECHTE ECHTE Datum/tijd
Datum/tijd Datum/tijd Datum/tijd Datum/tijd Datum/tijd

Als een optelbewerking bijvoorbeeld een reëel getal gebruikt in combinatie met valutagegevens, converteert DAX beide waarden naar REAL en retourneert het resultaat als REAL.

Aftrekken (-)

In de volgende tabel is de rijkop de minuend (linkerkant) en is de kolomkop de aftrekken (rechterkant).

GEHEEL GETAL VALUTA ECHTE Datum/tijd
GEHEEL GETAL GEHEEL GETAL VALUTA ECHTE ECHTE
VALUTA VALUTA VALUTA ECHTE ECHTE
ECHTE ECHTE ECHTE ECHTE ECHTE
Datum/tijd Datum/tijd Datum/tijd Datum/tijd Datum/tijd

Als een aftrekkingsbewerking bijvoorbeeld een datum met een ander gegevenstype gebruikt, converteert DAX beide waarden naar datums en is de retourwaarde ook een datum.

Notitie

Gegevensmodellen ondersteunen de unaire operator, (negatief), maar deze operator wijzigt het gegevenstype van de operand niet.

Vermenigvuldiging (*)

GEHEEL GETAL VALUTA ECHTE Datum/tijd
GEHEEL GETAL GEHEEL GETAL VALUTA ECHTE GEHEEL GETAL
VALUTA VALUTA ECHTE VALUTA VALUTA
ECHTE ECHTE VALUTA ECHTE ECHTE

Als een vermenigvuldigingsbewerking bijvoorbeeld een geheel getal combineert met een reëel getal, converteert DAX beide getallen naar reële getallen en is de retourwaarde ook REAL.

Deling (/)

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

GEHEEL GETAL VALUTA ECHTE Datum/tijd
GEHEEL GETAL ECHTE VALUTA ECHTE ECHTE
VALUTA VALUTA ECHTE VALUTA ECHTE
ECHTE ECHTE ECHTE ECHTE ECHTE
Datum/tijd ECHTE ECHTE ECHTE ECHTE

Als een deelbewerking bijvoorbeeld een geheel getal combineert met een valutawaarde, converteert DAX beide waarden naar reële getallen en is het resultaat ook een reëel getal.

Vergelijkingsoperators

In vergelijkingsexpressies beschouwt DAX Booleaanse waarden groter dan tekenreekswaarden en tekenreekswaarden die groter zijn dan numerieke waarden of datum-/tijdwaarden. Getallen en datum-/tijdwaarden hebben dezelfde rangschikking.

DAX voert geen impliciete conversies uit voor Booleaanse waarden of tekenreekswaarden. BLANK of een lege waarde wordt geconverteerd naar 0, '' of False, afhankelijk van het gegevenstype van de andere vergeleken waarde.

De volgende DAX-expressies illustreren dit gedrag:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") retourneert 'Expressie is waar'.

  • =IF("12">12,"Expression is true", "Expression is false") retourneert 'Expressie is waar'.

  • =IF("12"=12,"Expression is true", "Expression is false") retourneert 'Expressie is onwaar'.

DAX voert impliciete conversies uit voor numerieke of datum-/tijdtypen, zoals in de volgende tabel wordt beschreven:

Vergelijking
Operator
GEHEEL GETAL VALUTA ECHTE Datum/tijd
GEHEEL GETAL GEHEEL GETAL VALUTA ECHTE ECHTE
VALUTA VALUTA VALUTA ECHTE ECHTE
ECHTE ECHTE ECHTE ECHTE ECHTE
Datum/tijd ECHTE ECHTE ECHTE Datum/tijd

Lege waarden, lege tekenreeksen en nulwaarden

DAX vertegenwoordigt een null-, lege waarde, lege cel of ontbrekende waarde met hetzelfde nieuwe waardetype, een LEGE waarde. U kunt ook lege waarden genereren met behulp van de functie BLANK of testen op lege waarden met behulp van de functie ISBLANK.

Hoe bewerkingen, zoals optellen of samenvoegen, lege waarden verwerken, is afhankelijk van de afzonderlijke functie. De volgende tabel bevat een overzicht van de verschillen tussen de manier waarop DAX- en Microsoft Excel-formules lege waarden verwerken.

Expressie DAX Excel
BLANK + BLANK LEEG 0 (nul)
BLANK + 5 5 5
BLANK * 5 LEEG 0 (nul)
5/BLANK Infinity Error
0/LEEG Geen getal Error
LEEG/LEEG LEEG Error
ONWAAR OF LEEG FALSE FALSE
ONWAAR EN LEEG FALSE FALSE
WAAR OF LEEG TRUE TRUE
WAAR EN LEEG FALSE TRUE
LEEG OF LEEG LEEG Error
LEEG EN LEEG LEEG Error

U kunt allerlei dingen doen met Power BI Desktop en gegevens. Zie de volgende bronnen voor meer informatie over De mogelijkheden van Power BI: