Begivenhed
31. mar., 23 - 2. apr., 23
Den ultimative Microsoft Fabric-, Power BI-, SQL- og AI-communityledede begivenhed. 31. marts til 2. april 2025.
Tilmeld dig i dagDenne browser understøttes ikke længere.
Opgrader til Microsoft Edge for at drage fordel af de nyeste funktioner, sikkerhedsopdateringer og teknisk support.
Sproget Data Analysis Expression (DAX) bruger operatorer til at oprette udtryk, der sammenligner values, udføre aritmetiske beregninger or arbejde med strenge.
Der er fire forskellige typer beregningsoperatorer: aritmetik, sammenligning, tekstsammenkædning and logisk.
Hvis du vil udføre grundlæggende matematiske handlinger, f.eks. addition, subtraktion, or multiplikation; kombiner tal; and giver numeriske resultater, skal du bruge følgende aritmetiske operatorer.
Aritmetisk operator | Betydning | Eksempel |
---|---|---|
+ (plus sign) |
Tilføjelse | 3+3 |
- (minus sign) |
Subtraktion orsign | 3-1-1 |
* (stjerne) |
Multiplikation | 3*3 |
/ (skråstreg) |
Division | 3/3 |
^ (indsætning) |
Eksponentiation | 16^4 |
Bemærk
Plus-sign kan både fungere som en binær operatorand som en monadisk operator. En binær operator kræver tal på begge sider af operatoren, and udfører addition. Når du bruger values i en DAX formel på begge sider af den binære operator, forsøger DAX at konvertere values til numeriske datatyper, if de not allerede er tal. I modsætning hertil kan den monadiske operator anvendes på alle typer argumenter. Plussymbolet påvirker not typen orvalueand ignoreres ganske enkelt, mens minusoperatoren opretter en negativ value, if anvendt på et numerisk value.
Du kan sammenligne to values med følgende operatorer. Når to values sammenlignes ved hjælp af disse operatorer, er resultatet en logisk value, enten TRUE
orFALSE
.
Sammenligningsoperator | Betydning | Eksempel |
---|---|---|
= |
Lig med | [Region] = "USA" |
== |
Streng lig med | [Region] == "USA" |
> |
Større end | [Sales Date] > "Jan 2009" |
< |
Mindre end | [Sales Date] < "Jan 1 2009" |
>= |
Større end or lig med | [Beløb] >= 20000 |
<= |
Mindre end or lig med | [Beløb] <= 100 |
<> |
Not lig med | [Område] <> "USA" |
All sammenligningsoperatorer except == behandler BLANK som lig med tallet 0, tom streng "", DATE(1899, 12, 30), orFALSE
. [Column] = 0 bliver derfor true, når value af [Column] enten er 0 orBLANK. I modsætning hertil er [Column] == 0 kun true, når value af [Column] er 0.
Brug tegnet (&
) til at joinforbinde, orconcatenate, to or flere tekststrenge til at oprette et enkelt stykke tekst.
Tekstoperator | Betydning | Eksempel |
---|---|---|
& (og-tegn) |
Opretter forbindelse, or sammenkæder, to values for at oprette én fortløbende tekst value | [Region] & ", " & [City] |
Brug logiske operatorer (&&
) and (||
) til at kombinere udtryk for at oprette et enkelt resultat.
Tekstoperator | Betydning | Eksempler |
---|---|---|
&& (dobbelt-og-tegn) |
Opretter en AND betingelse mellem to udtryk, der hver især har et boolesk resultat.
If begge udtryk returnerer TRUE , returnerer kombinationen af udtryk også TRUE . Ellers returnerer kombinationen FALSE . |
([Region] = "France") && ([BikeBuyer] = "yes")) |
|| (dobbelt rørsymbol) |
Opretter en OR betingelse mellem to logiske udtryk.
If et af udtrykkene returnerer TRUE , er resultatet TRUE . kun, når begge udtryk FALSE er resultatet FALSE . |
(([Region] = "France") || ([BikeBuyer] = "yes")) |
IN |
Opretter en logisk OR betingelse mellem hver række, der sammenlignes med en tabel. Bemærk! Tabelkonstruktørsyntaksen bruger krøllede klammeparenteser. | 'Product'[Color] IN { "Red", "Blue", "Black" } |
I nogle tilfælde kan den rækkefølge, beregningen udføres i, påvirke returnerings-value; Derfor er det vigtigt at forstå, hvordan rækkefølgen bestemmes and hvordan du kan ændre rækkefølgen for at opnå de ønskede resultater.
Et udtryk evaluerer operatorerne andvalues i en bestemt rækkefølge. All udtryk starter altid med en lige sign (=). Den lige sign angiver, at de efterfølgende tegn udgør et udtryk.
Efter den samme sign er de elementer, der skal beregnes (operanderne), som er adskilt af beregningsoperatorer. Udtryk læses altid fra left til right, men den rækkefølge, som elementerne grupperes i, kan styres i en vis grad ved hjælp af parenteser.
If du kombinerer flere operatorer i en enkelt formel, sorteres handlingerne i henhold til følgende tabel. If operatorerne har samme prioritet value, sorteres de fra left til right. if f.eks. et udtryk contains både en multiplikation and divisionsoperator, evalueres de i den rækkefølge, de vises i udtrykket, fra left til right.
Operatør | Beskrivelse |
---|---|
^ |
Eksponentiation |
– |
Sign (f.eks. –1) |
* and / |
Multiplikation and division |
+ and – |
Addition and subtraktion |
& |
Forbinder to tekststrenge (sammenkædning) |
=,==,<,>,<=,>=,<>,IN |
Sammenligning |
NOT |
NOT (monadisk operator) |
Hvis du vil ændre evalueringsrækkefølgen, skal du omslutte den del af formlen med parenteser, der skal beregnes first. Følgende formel producerer f.eks. 11, fordi multiplikation beregnes før addition. Formlen multiplicerer 2 med 3, and føjer derefter 5 til resultatet.
=5+2*3
I modsætning hertil ændres rækkefølgen, if du bruger parenteser til at ændre syntaksen, så 5 and 2 lægges sammen, and resultatet ganget med 3 for at producere 21.
=(5+2)*3
I følgende eksempel tvinger parenteserne omkring den first del af formlen beregningen til at evaluate udtrykket (3 + 0.25)
firstand derefter divide resultatet af udtrykket (3 - 0.25)
.
=(3 + 0.25)/(3 - 0.25)
I følgende eksempel anvendes eksponentieringsoperatoren firsti henhold til reglerne for prioritet for operatorer, and derefter anvendes operatoren sign. Resultatet for dette udtryk er -4.
=-2^2
Hvis du vil sikre dig, at operatoren sign anvendes på den numeriske valuefirst, kan du bruge parenteser til at styre operatorer, som vist i følgende eksempel. Resultatet for dette udtryk er 4.
= (-2)^2
DAX håndterer nemt and sammenligner forskellige datatyper på samme måde som Microsoft Excel. Det underliggende beregningsprogram er dog baseret på SQL Server Analysis Servicesand indeholder yderligere avancerede funktioner i et relationsdatalager, herunder bedre understøttelse af dateandtime typer. I nogle tilfælde kan resultaterne af beregninger or funktionsmåden for funktioner derfor not være den samme som i Excel. Desuden understøtter DAX flere datatyper end Excel. I dette afsnit beskrives de vigtigste forskelle.
Generelt skal de to operander på de leftandright sider af en hvilken som helst operator være af samme datatype. Men if datatyperne er forskellige, vil DAXconvert dem til en fælles datatype for at anvende operatoren i nogle tilfælde:
Lad os f.eks. antage, at du har to tal, som du vil kombinere. Et tal stammer fra en formel, f.eks. =[Price] * .20
, and resultatet kan indeholde mange decimaler. Det andet tal er et heltal, der er angivet som en streng value.
I dette tilfælde convertDAX begge tal til reelle tal i en numerisk formatved hjælp af den største numeriske format, der kan gemme begge typer tal. Derefter anvender DAX multiplikationen.
Afhængigt af kombinationen af datatypen kan typetvingning not anvendes til sammenligningshandlinger. Du kan se en komplet liste over de datatyper, der understøttes af DAX, under Datatyper, der understøttes i tabelmodellerandDatatyper i Power BI Desktop.
Integer, Real Number, Currency, Date/timeandBlank betragtes som numerisk til sammenligningsformål. Blank evalueres til nul, når der udføres en sammenligning. Følgende kombinationer af datatyper understøttes for sammenligningshandlinger.
datatype Left side | datatype Right side |
---|---|
Numerisk | Numerisk |
Boolesk | Boolesk |
Streng | Streng |
Andre sammenligninger af blandede datatyper returnerer en error. En formel som f.eks. ="1" > 0 returnerer f.eks. en error, der angiver, at DAX sammenligningshandlinger not understøtter sammenligning af values af typen Tekst med values af typen Heltal.
Datatyper, der bruges i DAX | Datatyper, der bruges i Excel |
---|---|
Tal (I8, R8) | Tal (R8) |
Streng | Streng |
Boolesk | Boolesk |
DateTime | Variant |
Currency | Currency |
Rækkefølgen af handlinger i DAX formler er stort set den samme som den, der bruges af Microsoft Excel, men nogle Excel-operatorer understøttes not, f.eks. procent. Områder understøttes også not.
Når du kopierer and indsætte formler fra Excel, skal du derfor sørge for at gennemse formlen omhyggeligt, da nogle operatorer or elementer i formlerne not være gyldige. Når der er tvivl om den rækkefølge, handlingerne udføres i, anbefales det, at du bruger parenteser til at styre rækkefølgen af handlinger and fjerne enhver tvetydighed i resultatet.
DAX
navngivning af parametre
Begivenhed
31. mar., 23 - 2. apr., 23
Den ultimative Microsoft Fabric-, Power BI-, SQL- og AI-communityledede begivenhed. 31. marts til 2. april 2025.
Tilmeld dig i dagTræning
Modul
Skriv DAX-formler til Power BI Desktop-modeller - Training
I dette modul får du oplysninger om, hvordan du skriver DAX-formler for at oprette beregnede tabeller, beregnede kolonner og målinger, der er forskellige typer af modelberegninger. Derudover lærer du at skrive og formatere DAX-formler, der består af udtryk, som bruger funktioner, operatorer, referencer til modelobjekter, konstanter og variabler.
Certificering
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demonstrate methods and best practices that align with business and technical requirements for modeling, visualizing, and analyzing data with Microsoft Power BI.