Del via


Datatyper i Power BI Desktop

Denne artikel beskriver datatyper, som Power BI Desktop og Data Analysis Expressions (DAX) understøtter.

Når Power BI indlæser data, forsøger det at konvertere datatyperne fra kildekolonnerne til datatyper, der understøtter mere effektiv lagring, beregninger og datavisualisering. For eksempel, hvis en kolonne med værdier, du importerer fra Excel, ikke har brøkværdier, konverterer Power BI Desktop datakolonnen til en heltalsdatatype , som er bedre egnet til at gemme heltal.

Dette koncept er vigtigt, fordi nogle DAX-funktioner har særlige krav til datatyper. I mange tilfælde konverterer DAX implicit datatyper, men i nogle tilfælde gør det ikke. For eksempel, hvis en DAX-funktion kræver en dato-datatype , men datatypen for din kolonne er tekst, vil DAX-funktionen ikke fungere korrekt. Så det er vigtigt og nyttigt at bruge de korrekte datatyper til kolonner.

Bestem og specificér en kolonnes datatype

I Power BI Desktop kan du bestemme og specificere en kolonnes datatype i Power Query Editor, i tabelvisning eller i rapportvisning:

  • I Power Query Editor vælger du kolonnen og vælger derefter Datatype i Transform-gruppen på båndet.

    Skærmbillede af Power Query-editoren, der viser valget af datatype dropdown.

  • I tabelvisning eller rapportvisning vælger du kolonnen, og derefter vælger du dropdown-pilen ved siden af Datatypefanen Kolonneværktøjer på båndet.

    Skærmbillede af Table View, der viser valget af datatype dropdown.

Du kan også sætte datatyper i Power Query M-koden ved at bruge Advanced Editor. For mere information om M datatyper og Table.TransformColumnTypes funktionen, se Datatyper i Power Query og Typer og typekonvertering.

Valget af datatype i Power Query Editor har to datatyper, som ikke findes i Tabelvisning eller Rapportvisning: Dato/Tid/Tidszone og Varighed. Når du indlæser en kolonne med disse datatyper i Power BI-modellen, konverteres en Dato/Tid/Tids-kolonne til en Dato/Tid-datatype , og en Varighedskolonne konverteres til en decimaltal-datatype .

Den binære datatype understøttes ikke uden for Power Query Editor. I Power Query Editor kan du bruge den binære datatype, når du indlæser binære filer, hvis du konverterer dem til andre datatyper, før de indlæses i Power BI-modellen. Udvalget Binær findes i menuerne Table View og Report af legacy-årsager, men hvis du prøver at indlæse binære kolonner i Power BI-modellen, kan du støde på fejl.

Taltyper

Power BI Desktop understøtter tre taltyper: decimaltal, fast decimaltal og heltal.

Du kan bruge Tabular Object Model (TOM) Column-egenskaben DataType til at specificere DataType Enums for taltyper. For mere information om programmæssig ændring af objekter i Power BI, se Program Power BI semantic models with the Tabular Object Model.

Decimaltal

Decimaltal er den mest almindelige taltype og kan håndtere tal med brøkværdier og hele tal. Decimaltal repræsenterer 64-bit (otte-byte) flydende kommataltal med negative værdier fra -1,79E +308 til -2,23E -308, positive værdier fra 2,23E -308 til 1,79E +308 og 0. Tal som 34, 34.01 og 34.000367063 er gyldige decimaltal.

Den højeste præcision, som decimaltalstypen kan repræsentere, er 15 cifre. Decimalseparatoren kan forekomme et vilkårligt sted i tallet. Denne type svarer til, hvordan Excel gemmer sine tal, og TOM specificerer denne type som DataType.Double Enum.

Fast decimaltal

Datatypen for fast decimaltal har en fast placering for decimalseparatoren. Decimalseparatoren har altid fire cifre til højre og tillader 19 cifre af betydning. Den største værdi, som det faste decimaltal kan repræsentere, er positiv eller negativ 922.337.203.685.477.5807.

Typen fast decimaltal er nyttig i tilfælde, hvor afrunding kan introducere fejl. Tal med små brøkværdier kan nogle gange ophobe sig og tvinge et tal til at være en smule unøjagtigt. Typen fast decimaltal kan hjælpe dig med at undgå denne slags fejl ved at afkorte værdierne forbi de fire cifre til højre for decimalseparatoren.

Denne datatype svarer til SQL Servers Decimal (19,4) eller Valuta-datatypen i Analysis Services og Power Pivot i Excel. TOM specificerer denne type som DataType.Decimal Enum.

Heltal

Heltal repræsenterer en 64-bit (otte byte) heltalsværdi. Fordi det er et heltal, har hele tal ingen cifre til højre for decimalpladsen. Denne type tillader 19 cifre med positive eller negative heltal mellem -9.223.372.036.854.775.807 (-2^63+1) og 9.223.372.036.854.775.806 (2^63-2), og kan derfor repræsentere de største mulige tal af de numeriske datatyper.

Ligesom med fast decimaltype kan heltalstypen være nyttig, når du skal kontrollere afrunding. TOM repræsenterer heltalsdatatypen som DataType.Int64 Enum.

Note

Power BI Desktop-datamodellen understøtter 64-bit heltalsværdier, men på grund af JavaScript-begrænsninger er det største antal, som Power BI-visualiseringer sikkert kan udtrykke, 9.007.199.254.740.991 (2^53-1). Hvis din datamodel har større tal, kan du reducere deres størrelse gennem beregninger, før du tilføjer dem til visuelle fremstillinger.

Nøjagtighed af taltypeberegninger

Kolonneværdier for decimaltalsdatatyper gemmes som omtrentlige datatyper ifølge IEEE 754-standarden for flydende kommatal. Omtrentlige datatyper har iboende præcisionsbegrænsninger, fordi de i stedet for at gemme præcise talværdier kan gemme ekstremt tætte eller afrundede tilnærmelser.

Præcisionstab, eller upræcision, kan opstå, hvis flydende kommatal-værdien ikke pålideligt kan kvantificere antallet af flydende kommatal-cifre. Upræcision kan potentielt opstå som uventede eller unøjagtige beregningsresultater i nogle rapporteringsscenarier.

Lighedsrelaterede sammenligningsberegninger mellem værdier af decimaltalsdatatypen kan potentielt give uventede resultater. Lighedssammenligninger inkluderer lig =, større end >, mindre end <, større end eller lig med >=, og mindre end eller lig med <=.

Dette problem er mest tydeligt, når du bruger RANKX-funktionen i et DAX-udtryk, som beregner resultatet to gange og resulterer i lidt forskellige tal. Rapportbrugere bemærker måske ikke forskellen mellem de to tal, men rangeringsresultatet kan være mærkbart unøjagtigt. For at undgå uventede resultater kan du ændre kolonnedatatypen fra decimaltal til enten fast decimaltal eller heltal, eller lave en tvungen afrunding ved hjælp af ROUND. Datatypen for fast decimaltal har større præcision, fordi decimalseparatoren altid har fire cifre til højre for sig.

Sjældent kan beregninger, der summerer værdierne af en kolonne med decimaltaldatatype , returnere uventede resultater. Dette resultat er mest sandsynligt med kolonner, der har store mængder af både positive og negative tal. Summeresultatet påvirkes af fordelingen af værdier på tværs af rækkerne i kolonnen.

Hvis en krævet beregning summerer de fleste af de positive tal, før de fleste af de negative tal summeres, kan den store positive partialsum i begyndelsen potentielt skævvride resultaterne. Hvis beregningen tilfældigvis tilføjer balancerede positive og negative tal, bevarer forespørgslen mere præcision og returnerer derfor mere præcise resultater. For at undgå uventede resultater kan du ændre kolonnedatatypen fra decimaltal til fast decimaltal eller heltal.

Dato-/tidspunkttyper

Power BI Desktop understøtter fem dato/tids-datatyper i Power Query Editor. Både dato/tid/tidszone og varighed konverteres under belastning til datamodellen som følger:

Dato/Tid repræsenterer både en dato- og en tidsværdi. Den underliggende dato/tid-værdi gemmes som et decimaltal, så du faktisk kan konvertere mellem de to. Tidsdelen gemmes som en brøkdel til hele multipla af 1/300 sekund (3,33 ms). Datatypen understøtter datoer mellem årene 1900 og 9999.

Dato repræsenterer blot en dato uden tidsdel. En dato konverteres til modellen som en dato/tid-værdi med nul som brøkværdi.

Tid repræsenterer blot en del med tid uden dato. A Time konverteres til modellen som en Dato/Tid-værdi uden cifre til venstre for decimalpunktet.

Dato/Tid/Tidszone repræsenterer en UTC-dato/tid med tidszoneforskydning og konverteres til dato/tid , når den indlæses i modellen. Power BI-modellen justerer ikke tidszonen baseret på brugerens placering eller lokalitet. En værdi på 09:00, der indlæses i modellen i USA, vises som 09:00, uanset hvor rapporten åbnes eller vises.

Varighed repræsenterer en tidslængde og konverteres til et decimaltal , når det indlæses i modellen. Derfor kan du tilføje eller trække værdierne fra dato/tidspunkt-værdier med korrekte resultater og nemt bruge det i visualiseringer, der viser størrelse.

Note

Du kan desuden formatere en konverteret dato/tid-værdi i modellen som dato eller tidspunkt ved hjælp af datatype-brugerfladen i rapport-, tabel- og modelvisningen. Husk, at formatering ikke ændrer, hvordan data gemmes i modellen, og at alle beregninger eller relationer stadig vurderes med dato /tidspunkt-information lagret, uafhængigt af formatering.

Teksttype

Tekstdatatypen er en Unicode-tegn-datastreng, som kan bestå af bogstaver, tal eller datoer repræsenteret i et tekstformat. Den praktiske maksimale grænse for strenglængde er cirka 32.000 Unicode-tegn, baseret på Power BIs underliggende Power Query-motor og dens grænser for tekstdatatypelængder. Tekstdatatyper ud over den praktiske maksimale grænse vil sandsynligvis resultere i fejl.

Måden Power BI gemmer tekstdata på, kan få dataene til at vises anderledes i visse situationer. De næste afsnit beskriver almindelige situationer, der kan få tekstdata til at ændre udseende en smule mellem forespørgsler i Power Query Editor og indlæsning af data i Power BI.

Forskel på store og små bogstaver

Motoren, der gemmer og forespørger data i Power BI, er ikke følsom for store bogstaver og behandler forskellige bogstaver med samme værdi. "A" svarer til "a". Power Query er dog bogstavsfølsom, hvor "A" ikke er det samme som "a". Forskellen i småbogstavsfølsomhed kan føre til situationer, hvor tekstdata ændrer stort indhold tilsyneladende uforklarligt efter indlæsning i Power BI.

Følgende eksempel viser ordredata: En OrderNo-kolonne , der er unik for hver ordre, og en Addressee-kolonne , der viser adressenavnet indtastet manuelt ved ordretidspunktet. Power Query Editor viser flere ordrer med de samme adressenavne indtastet i systemet med varierende store bogstaver.

Skærmbillede af tekstdata med forskellige store bogstaver i Power Query

Efter Power BI har indlæst dataene, ændres bogstaverne i de dubletnavne i Data-fanen fra den oprindelige post til en af varianterne af store bogstaver.

Skærmbillede, der viser tekstdata med ændret store bogstaver efter indlæsning i Power BI.

Denne ændring sker, fordi Power Query Editor er kasusfølsom, så den viser dataene præcis, som de er gemt i kildesystemet. Motoren, der gemmer data i Power BI, er ikke følsom for små bogstaver, så den behandler små og store bogstaver af et tegn som identiske. Power Query-data, der indlæses i Power BI-motoren, kan ændres derefter.

Power BI-motoren evaluerer hver række individuelt, når den indlæser data, startende fra toppen. For hver tekstkolonne, såsom Addressee, gemmer motoren en ordbog med unikke værdier for at forbedre ydeevnen gennem datakomprimering. Motoren ser de første tre værdier i kolonnen Adressat som unikke og gemmer dem i ordbogen. Derefter, fordi motoren er ufølsom for store og små bogstaver, evaluerer den navnene som identiske.

Motoren ser navnet "Taina Hasu" som identisk med "TAINA HASU" og "Taina HASU", så den gemmer ikke disse variationer, men henviser til den første variation, den gemte. Navnet "MURALI DAS" optræder med store bogstaver, fordi det var sådan, navnet dukkede op første gang, motoren vurderede det, da dataene blev indlæst fra top til bund.

Dette billede illustrerer evalueringsprocessen:

Diagram, der viser dataload-processen og mapping af tekstværdier til en ordbog over unikke værdier.

I det foregående eksempel indlæser Power BI-motoren den første række data, opretter Addressee-ordbogen og tilføjer Taina Hasu til den. Motoren tilføjer også en reference til denne værdi i kolonnen Addressee på den tabel, den indlæser. Motoren gør det samme for anden og tredje række, fordi disse navne ikke svarer til de andre, når man ser bort fra kasus.

For fjerde række sammenligner motoren værdien med navnene i ordbogen og finder navnet. Da motoren er ufølsom for store bogstaver, er "TAINA HASU" og "Taina Hasu" det samme. Motoren tilføjer ikke et nyt navn til ordbogen, men henviser til det eksisterende navn. Den samme proces sker for de resterende rækker.

Important

Da det program, der gemmer og forespørger data i Power BI, skelner ikke mellem store og små bogstaver, skal du være særlig forsigtig, når du arbejder i DirectQuery-tilstand med en kilde, hvor der skelnes mellem store og små bogstaver. Power BI antager, at kilden har elimineret dublerede rækker. Da der ikke skelnes mellem store og små bogstaver i Power BI, behandles to værdier, der kun adskiller sig fra store og små bogstaver, som dubletter, hvorimod kilden muligvis ikke behandler dem som sådan. I sådanne tilfælde er det endelige resultat udefineret.

Hvis du vil undgå denne situation, skal du normalisere store og små bogstaver i kildeforespørgslen eller i Power Query-editor, hvis du bruger DirectQuery-tilstand med en datakilde, hvor der skelnes mellem store og små bogstaver.

For- og bagerste rum

Power BI-motoren trimmer automatisk eventuelle bagudgående mellemrum, der følger efter tekstdata, men fjerner ikke ledende mellemrum før dataene. For at undgå forvirring, når du arbejder med data, der indeholder for- eller bagudgående mellemrum, bør du bruge Funktionen Text.Trim til at fjerne mellemrum i begyndelsen eller slutningen af teksten. Hvis du ikke fjerner ledende mellemrum, kan en relation fejle i oprettelsen på grund af duplikerede værdier, eller visuelle effekter kan give uventede resultater.

Følgende eksempel viser data om kunder: en Navn-kolonne , der indeholder kundens navn, og en Indeks-kolonne , der er unik for hver post. Navnene står i anførselstegn for klarhedens skyld. Kundenavnet gentages fire gange, men hver gang med forskellige kombinationer af forreste og bagende mellemrum. Disse variationer kan forekomme ved manuel dataindtastning over tid.

Row Foranliggende rum Bageste rum Name Index Tekstlængde
1 No No "Dylan Williams" 1 14
2 No Yes "Dylan Williams" 10 15
3 Yes No " Dylan Williams" 20 15
4 Yes Yes " Dylan Williams " 40 16

I Power Query Editor vises de resulterende data som følger.

Skærmbillede af tekstdata med forskellige indledende og bagende mellemrum i Power Query Editor.

Når du går til fanen Table i Power BI efter du har indlæst dataene, ligner den samme tabel det følgende billede, med samme antal rækker som før.

Et screenshot af de samme tekstdata efter indlæsning i Power BI returnerer det samme antal rækker som før.

Dog returnerer et visuelt billede baseret på disse data kun to rækker.

Skærmbillede af en tabel-visual, baseret på de samme data, der returnerer kun to linjer data.

På det foregående billede har den første række en samlet værdi på 60 for Index-feltet , så den første række i visualiseringen repræsenterer de sidste to rækker af de indlæste data. Den anden række med den samlede indeksværdi11 repræsenterer de to første rækker. Forskellen i antallet af rækker mellem det visuelle og datatabellen skyldes, at motoren automatisk fjerner eller trimmer bagliggende mellemrum, men ikke foranliggende mellemrum. Så motoren vurderer første og anden række samt tredje og fjerde række som identiske, og det visuelle viser disse resultater.

Denne adfærd kan også forårsage fejlmeddelelser relateret til relationer, fordi dublerede værdier opdages. For eksempel, afhængigt af konfigurationen af dine relationer, kan du se en fejl, der ligner følgende billede:

Skærmbillede af en fejlmeddelelse om dublerede værdier.

I andre situationer kan du måske ikke oprette en mange-til-én eller én-til-én-relation, fordi dublerede værdier opdages.

Skærmbillede af relationsdialogen, der viser en fejl 'ugyldig kardinalitet for dette forhold' relateret til at identificere dublerede værdier.

Du kan spore disse fejl tilbage til ledende eller bagudgående mellemrum og løse dem ved at bruge Text.Trim eller Format>Trim under Transform for at fjerne mellemrum i Power Query Editor.

Sand/falsk-type

True/false datatypen er en boolesk værdi af enten True eller False (True/False). For de bedste og mest konsistente resultater, når du indlæser en kolonne, der indeholder boolesk sand/falsk-information i Power BI, skal du sætte kolonnetypen til Sand/Falsk.

Power BI konverterer og viser data forskelligt i visse situationer. Dette afsnit beskriver almindelige tilfælde af konvertering af booleske værdier, og hvordan man håndterer konverteringer, der skaber uventede resultater i Power BI.

I dette eksempel loader du data om, hvorvidt dine kunder har tilmeldt sig dit nyhedsbrev. En værdi af TRUE angiver, at kunden har tilmeldt sig nyhedsbrevet, og en værdi af FALSE indikerer, at kunden ikke har tilmeldt sig.

Men når du offentliggør rapporten til Power BI-tjenesten, viser nyhedsbrevets tilmeldingsstatuskolonne 0 og -1 i stedet for de forventede værdier af TRUE eller FALSE. Følgende trin beskriver, hvordan denne omdannelse sker, og hvordan man forhindrer den.

Den forenklede forespørgsel for denne tabel vises i følgende billede:

Skærmbillede, der viser kolonner sat til boolsk standard.

Datatypen i kolonnen Abonneret på nyhedsbrev sættes til Any, og som følge heraf indlæser Power BI dataene i modellen som tekst.

Skærmbillede, der viser dataene, der er indlæst i Power BI.

Når du tilføjer en simpel visualisering, der viser detaljeret information pr. kunde, vises dataene som forventet i visualiseringen, både i Power BI Desktop og når de er publiceret til Power BI-tjenesten.

Skærmbillede af et visuelt billede, der viser, at dataene vises som forventet.

Men når du opdaterer den semantiske model i Power BI-tjenesten, viser kolonnen Abonneret på nyhedsbrev i visuals værdier som -1 og 0, i stedet for at vise dem som SAND eller FALSK:

Skærmbillede af en visuel visning, der viser data dukke op i et uventet format efter opdatering.

Hvis du genudgiver rapporten fra Power BI Desktop, viser kolonnen Abonneret på nyhedsbrev igen TRUE eller FALSE som forventet, men når en opdatering sker i Power BI-tjenesten, ændres værdierne igen til at vise -1 og 0.

Løsningen for at forhindre denne situation er at sætte eventuelle booleske kolonner til at skrive True/False i Power BI Desktop og genudgive din rapport.

Skærmbillede af ændring af datatypen i kolonnen til Sand/Falsk.

Når du foretager ændringen, viser visualiseringen værdierne i kolonnen Abonneret på nyhedsbrev en smule anderledes. I stedet for at teksten kun består af store bogstaver, som det er skrevet i tabellen, er det kun det første bogstav, der skrives med stort. Denne ændring er et resultat af ændringen af kolonnens datatype.

Skærmbillede af værdier, der ser anderledes ud, når du ændrer datatypen.

Når du ændrer datatypen, genudgiver til Power BI-tjenesten, og der sker en opdatering, viser rapporten værdierne som True eller False, som forventet.

Skærmbillede, der viser sande eller falske værdier, som bruger True/Falne-datatypen, vises som forventet efter opdatering.

For at opsummere, når du arbejder med boolesk data i Power BI, skal du sørge for, at dine kolonner er sat til True/Falne-datatypen i Power BI Desktop.

Blanktype

Blank er en DAX-datatype, der repræsenterer og erstatter SQL-nuller. Du kan oprette et blank ved at bruge BLANK-funktionen og teste for blanks ved at bruge ISBLANK-logiske funktion.

Binær type

Du kan bruge den binære datatype til at repræsentere enhver data med et binært format. I Power Query Editor kan du bruge denne datatype, når du indlæser binære filer, hvis du konverterer den til andre datatyper, før du indlæser den i Power BI-modellen.

Binærkolonner understøttes ikke i Power BI-datamodellen. Binærvalget findes i tabelvisningen og rapportvisningsmenuerne af legacy-årsager, men hvis du prøver at indlæse binære kolonner i Power BI-modellen, kan du støde på fejl.

Note

Hvis en binær kolonne er i outputtet af trinnene i en forespørgsel, kan forsøg på at opdatere dataene via en gateway forårsage fejl. Det anbefales, at du eksplicit fjerner alle binære kolonner som sidste trin i dine forespørgsler.

Tabeltype

DAX bruger en tabel-datatype i mange funktioner, såsom aggregeringer og tidsintelligensberegninger. Nogle funktioner kræver en reference til en tabel. Andre funktioner returnerer en tabel, som du så kan bruge som input til andre funktioner.

I nogle funktioner, der kræver en tabel som input, kan du specificere et udtryk, der evaluerer til en tabel. Nogle funktioner kræver en reference til en basistabel. For information om kravene til specifikke funktioner, se DAX-funktionsreferencen.

Implicit og eksplicit datatypekonvertering

Hver DAX-funktion har specifikke krav til de typer data, der skal bruges som input og output. For eksempel kræver nogle funktioner heltal for nogle argumenter og datoer for andre. Andre funktioner kræver tekst eller tabeller.

Hvis dataene i den kolonne, du angiver som argument, er inkompatible med den datatype, funktionen kræver, kan DAX give en fejl. Dog forsøger DAX, hvor det er muligt, implicit at konvertere dataene til den krævede datatype.

Eksempel:

  • Hvis du skriver en dato som en streng, parser DAX strengen og forsøger at omskrive den som et af Windows' dato- og tidsformater.
  • Du kan tilføje TRUE + 1 og få resultatet 2, fordi DAX implicit konverterer TRUE til tallet 1 og udfører operationen 1+1.
  • Hvis du tilføjer værdier i to kolonner, hvor den ene værdi repræsenteres som tekst ("12") og den anden som et tal (12), konverterer DAX implicit strengen til et tal og laver derefter additionen for et numerisk resultat. Udtrykket = "22" + 22 giver 44.
  • Hvis du prøver at sammenkæde to tal, præsenterer DAX dem som strenge og konkatenerer derefter. Udtrykket = 12 & 34 returnerer "1234".

Tabeller over implicitte datakonverteringer

Operatoren bestemmer typen af konvertering, DAX udfører, ved at kaste de værdier, den kræver, før den udfører den ønskede operation. Følgende tabeller viser operatorerne og konverterings-DAX udfører på hver datatype, når den parres med datatypen i den krydsende celle.

Note

Disse tabeller inkluderer ikke tekstdatatypen . Når et tal repræsenteres i et tekstformat, forsøger Power BI i nogle tilfælde at bestemme taltypen og repræsentere dataene som et tal.

Addition (+)

INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL Date/time
CURRENCY CURRENCY CURRENCY REAL Date/time
REAL REAL REAL REAL Date/time
Date/time Date/time Date/time Date/time Date/time

For eksempel, hvis en additionsoperation bruger et reelt tal i kombination med valutadata, konverterer DAX begge værdier til REAL og returnerer resultatet som REAL.

Subtraktion (-)

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

INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Date/time Date/time Date/time Date/time Date/time

For eksempel, hvis en subtraktionsoperation bruger en dato med en anden datatype, konverterer DAX begge værdier til datoer, og returværdien er også en dato.

Note

Datamodeller understøtter den unære operator, - (negativ), men denne operator ændrer ikke operandens datatype.

Multiplikation (*)

INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

For eksempel, hvis en multiplikationsoperation kombinerer et heltal med et reelt tal, konverterer DAX begge tal til reelle tal, og returværdien er også REAL.

Opdeling (/)

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

INTEGER CURRENCY REAL Date/time
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Date/time REAL REAL REAL REAL

For eksempel, hvis en divisionsoperation kombinerer et heltal med en valutaværdi, konverterer DAX begge værdier til reelle tal, og resultatet er også et reelt tal.

Sammenligningsoperatorer

I sammenligningsudtryk betragter DAX booleske værdier større end strengværdier og strengværdier større end numeriske eller dato/tid-værdier. Tal og dato-/tidspunktværdier har samme rang.

DAX laver ingen implicitte konverteringer for booleske eller strengværdier. BLANK eller en blank værdi konverteres til 0, "", eller False, afhængigt af datatypen for den anden sammenlignede værdi.

Følgende DAX-udtryk illustrerer denne adfærd:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") 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 "Udtryk er falsk".

DAX laver implicitte konverteringer for numeriske eller dato/tids-typer, som følgende tabel beskriver:

Comparison
Operator
INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Date/time REAL REAL REAL dato og klokkeslæt

Blanks, tomme strenge og nulværdier

DAX repræsenterer en null, blank værdi, tom celle eller manglende værdi ved samme nye værditype, en BLANK. Du kan også generere blanks ved at bruge BLANK-funktionen eller teste for blanks ved at bruge ISBLANK-funktionen.

Hvordan operationer som addition eller sammenkædning håndterer blanke emner afhænger af den enkelte funktion. Følgende tabel opsummerer forskellene mellem, hvordan DAX- og Microsoft Excel-formler håndterer blanke felter.

Expression DAX Excel
BLANK + BLANK BLANK 0 (nul)
BLANK + 5 5 5
BLANK * 5 BLANK 0 (nul)
5/BLANK Infinity Error
0/BLANK ikke et tal Error
BLANK/BLANK BLANK Error
FALSK ELLER BLANK FALSE FALSE
FALSK OG BLANK FALSE FALSE
SANDT ELLER TOMT TRUE TRUE
SANDT OG BLANKT FALSE TRUE
BLANK ELLER BLANK BLANK Error
BLANK OG BLANK BLANK Error

Du kan gøre alle mulige ting med Power BI Desktop og data. For mere information om Power BI-funktioner, se følgende ressourcer: