Dela via


FORMAT

Gäller för: Beräknad kolumn Beräknad tabell Mått Visuell beräkning

Konverterar ett värde till text enligt det angivna formatet.

Syntax

FORMAT(<value>, <format_string>[, <locale_name>])

Parametrar

Period Definition
värde Ett värde eller uttryck som utvärderas till ett enda värde.
format_string En sträng med formateringsmallen.
locale_name (Valfritt) Namnet på det språk som ska användas av funktionen. Möjliga värden är strängar som accepteras av Windows API-funktionen LocaleNameToLCID().

Returvärde

En sträng som innehåller ett värde som har formaterats enligt definitionen i format_string.

Kommentar

Om värdet är BLANK returnerar funktionen en tom sträng.

Om format_string är BLANK formateras värdet med formatet "Allmänt nummer" eller "Allmänt datum" (enligt värdedatatypen ).

Kommentarer

  • Fördefinierade formatsträngar använder egenskapen modellkultur när resultatet formateras. Som standard anges modellkulturegenskapen enligt datorns användarspråk. För nya Power BI Desktop-modeller kan modellkulturegenskapen ändras på språk för alternativ > för regionala inställningar > . För Analysis Services anges modellkulturen enligt den språkegenskap som ursprungligen definierades av instansen.

  • De formatsträngar som stöds som ett argument för funktionen DAX FORMAT baseras på de formatsträngar som används av Visual Basic (OLE Automation), inte på de formatsträngar som används av .NET Framework. Därför kan du få oväntade resultat eller ett fel om argumentet inte matchar några definierade formatsträngar. Till exempel stöds inte "p" som en förkortning för "Procent". Strängar som du anger som ett argument för funktionen FORMAT som inte ingår i listan över fördefinierade formatsträngar hanteras som en del av en anpassad formatsträng eller som en strängliteral.

  • Mer information om hur du anger ett språk med FORMAT finns i den här videon.

  • Om du använder FORMAT ändras ett måttresultat till en textdatatyp. Om måttresultatet ursprungligen är av numerisk datatyp kan måttet inte användas i visuella objekt där avsnittet värden kräver en numerisk datatyp, till exempel med diagram. I Power BI kan du också använda strängar i dynamiskt format för mått som anger en sträng med villkorsstyrd formatering som underhåller måttets numeriska datatyp.

  • Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).

Exempel

Formatsträngar

= FORMAT( 12345.67, "General Number")  
= FORMAT( 12345.67, "Currency")  
= FORMAT( 12345.67, "Fixed")  
= FORMAT( 12345.67, "Standard")  
= FORMAT( 12345.67, "Percent")  
= FORMAT( 12345.67, "Scientific")

Returnerar:

12345.67 "Allmänt nummer" visar talet utan formatering.

$12,345.67 "Valuta" visar talet med din valuta nationella formatering. Exemplet här visar standardvalutaformatering i USA.

12345.67 "Fast" visar minst en siffra till vänster om decimaltecknet och två siffror till höger om decimaltecknet.

12 345,67 "Standard" visar minst en siffra till vänster om decimaltecknet och två siffror till höger om decimaltecknet och innehåller tusentalsavgränsare. Exemplet här visar standardformatering av tal i USA.

1 234 567,00 % "Procent" visar talet som en procentandel (multiplicerat med 100) med formatering och procenttecknet till höger om talet avgränsat med ett enda blanksteg.

1.23E+04 "Vetenskaplig" visar talet i vetenskaplig notation med två decimaltal.

Datetime med valfri locale_name

= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-US" ) 
= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-GB" ) 
= FORMAT( dt"2020-12-15T12:30:59", "mm/dd/yyyy", "en-GB" )

Returnerar:

12/15/2020 12:30:59 PM Där månaden föregår dag och tid är 12-timmarsformat.

15/12/2020 12:30:59 Där dagen föregår månad och tid är 24-timmarsformat.

12/15/2020 12:30:59 Där månaden föregår dag och tid är 24-timmarsformat. Eftersom en icke-språkberoende formatsträng har angetts tillämpas inte nationella inställningar och formatet för icke-nationella inställningar returneras.

Fördefinierade numeriska format

Följande fördefinierade numeriska format kan anges i argumentet format_string :

Format beskrivning
"General Number" Visar tal utan tusentalsavgränsare.
"Currency" Visar tal med tusentalsavgränsare, om det är lämpligt; visar två siffror till höger om decimaltecknet. Utdata baseras på inställningar för systemspråk.
"Fixed" Visar minst en siffra till vänster och två siffror till höger om decimaltecknet.
"Standard" Visar tal med tusentalsavgränsare, minst en siffra till vänster och två siffror till höger om decimaltecknet.
"Percent" Visar tal multiplicerat med 100 med ett procenttecken (%) som läggs till direkt till höger. visar alltid två siffror till höger om decimaltecknet.
"Scientific" Använder vanlig vetenskaplig notation, vilket ger två signifikanta siffror.
"Yes/No" Visar Nej om talet är 0. annars visas Ja.
"True/False" Visar False om talet är 0; annars visas Sant.
"On/Off" Visar Av om talet är 0; annars visas På.

Anpassade numeriska format

Ett anpassat formatuttryck för tal kan ha mellan ett och tre avsnitt avgränsade med semikolon. Om argumentet formatsträng innehåller ett av de namngivna numeriska formaten tillåts endast ett avsnitt.

Om du använder Resultatet är
Endast ett avsnitt Formatuttrycket gäller för alla värden.
Två avsnitt Det första avsnittet gäller positiva värden och nollor, det andra för negativa värden.
Tre avsnitt Det första avsnittet gäller positiva värden, det andra för negativa värden och det tredje för nollor.
"$#,##0;($#,##0)"

Om du inkluderar semikolon utan något mellan dem definieras det saknade avsnittet med formatet för det positiva värdet. Följande format visar till exempel positiva och negativa värden med formatet i det första avsnittet och visar "Noll" om värdet är noll.

"$#,##0"

Om du inkluderar semikolon utan något mellan dem visas det saknade avsnittet med formatet för det positiva värdet.

Anpassade numeriska formattecken

Följande anpassade numeriska formattecken kan anges i argumentet format_string :

Tecken Description
None Visa talet utan formatering.
(0) Platshållare för siffror. Visa en siffra eller en nolla. Om uttrycket har en siffra i den position där 0 visas i formatsträngen visar du den. annars visar du en nolla i den positionen. Om talet har färre siffror än det finns nollor (på båda sidor av decimaltecknet) i formatuttrycket visar du inledande eller avslutande nollor. Om talet har fler siffror till höger om decimaltecknet än det finns nollor till höger om decimaltecknet i formatuttrycket avrundar du talet till så många decimaler som det finns nollor. Om talet har fler siffror till vänster om decimaltecknet än det finns nollor till vänster om decimaltecknet i formatuttrycket visar du de extra siffrorna utan ändringar.
(#) Platshållare för siffror. Visa en siffra eller ingenting. Om uttrycket har en siffra i den position där # visas i formatsträngen visar du den. annars visas ingenting i den positionen. Den här symbolen fungerar som platshållaren med 0 siffror, förutom att inledande och avslutande nollor inte visas om talet har samma eller färre siffror än det finns # tecken på vardera sidan av decimaltecknet i formatuttrycket.
(.) Decimalplatshållare. I vissa nationella inställningar används ett kommatecken som decimalavgränsare. Decimalplatshållaren avgör hur många siffror som visas till vänster och höger om decimaltecknet. Om formatuttrycket endast innehåller taltecken till vänster om den här symbolen börjar tal som är mindre än 1 med en decimalavgränsare. Om du vill visa en inledande nolla som visas med bråktal använder du 0 som platshållare för första siffran till vänster om decimaltecknet. Det faktiska tecknet som används som decimalplatshållare i de formaterade utdata beror på det talformat som systemet känner igen.
(%) Platshållare i procent. Uttrycket multipliceras med 100. Procenttecknet (%) infogas i den position där det visas i formatsträngen.
(,) Tusenavgränsare. På vissa språk används en period som tusenavgränsare. Tusentalsavgränsaren separerar tusentals från hundratals inom ett tal som har fyra eller fler platser till vänster om decimalavgränsaren. Standardanvändning av tusentalsavgränsaren anges om formatet innehåller en tusentalsavgränsare omgiven av sifferplatshållare (0 eller #). Två angränsande tusentalsavgränsare eller en tusentalsavgränsare omedelbart till vänster om decimaltecknet (oavsett om en decimal anges eller inte) innebär "skala talet genom att dividera det med 1 000, avrundning efter behov". Du kan till exempel använda formatsträngen ##0 för att representera 100 miljoner som 100. Tal som är mindre än 1 miljon visas som 0. Två angränsande tusentalsavgränsare i någon annan position än omedelbart till vänster om decimaltecknet behandlas helt enkelt som att ange användningen av en tusentalsavgränsare. Det faktiska tecknet som används som tusentalsavgränsare i de formaterade utdata beror på det talformat som systemet känner igen.
(:) Tidsavgränsare. I vissa nationella inställningar kan andra tecken användas för att representera tidsavgränsaren. Tidsavgränsaren separerar timmar, minuter och sekunder när tidsvärdena formateras. Det faktiska tecknet som används som tidsavgränsare i formaterade utdata bestäms av systeminställningarna.
(/) Datumavgränsare. I vissa nationella inställningar kan andra tecken användas för att representera datumavgränsaren. Datumavgränsaren separerar den dag, månad och år då datumvärdena formateras. Det faktiska tecknet som används som datumavgränsare i formaterade utdata bestäms av systeminställningarna.
(E- E+ e- e+) Vetenskapligt format. Om formatuttrycket innehåller minst en sifferplatshållare (0 eller #) till höger om E-, E+, e- eller e+, visas talet i vetenskapligt format och E eller e infogas mellan talet och dess exponent. Antalet platshållare till höger avgör antalet siffror i exponenten. Använd E- eller e- för att placera ett minustecken bredvid negativa exponenter. Använd E+ eller e+ för att placera ett minustecken bredvid negativa exponenter och ett plustecken bredvid positiva exponenter.
- + $ ( ) Visa ett literaltecken. Om du vill visa ett annat tecken än ett av de som anges föregår du det med ett omvänt snedstreck (\) eller omger det inom dubbla citattecken (" ").
(\) Visa nästa tecken i formatsträngen. Om du vill visa ett tecken som har en särskild betydelse som ett literaltecken, föregår du det med ett omvänt snedstreck (\). Själva omvänt snedstreck visas inte. Att använda ett omvänt snedstreck är detsamma som att omsluta nästa tecken inom dubbla citattecken. Om du vill visa ett omvänt snedstreck använder du två omvänt snedstreck (\\). Exempel på tecken som inte kan visas som literaltecken är datumformaterings- och tidsformateringstecken (a, c, d, h, m, n, p, q, s, t, w, y, /och :), de numeriska formateringstecken (#, 0, %, E, e, komma och punkt) och strängformateringstecken (@, &, <, >och !).
("ABC") Visa strängen inom de dubbla citattecknen (" ").

Fördefinierade datum/tidsformat

Följande fördefinierade datum/tid-format kan anges i argumentet format_string . När du använder andra format än dessa tolkas de som ett anpassat datum/tid-format:

Format beskrivning
"General Date" Visar ett datum och/eller en tid. Till exempel 2008-03-12 11:07:31. Datumvisning bestäms av programmets aktuella kulturvärde.
"Long Date" eller "Medium Date" Visar ett datum enligt den aktuella kulturens långa datumformat. Till exempel onsdag 12 mars 2008.
"Short Date" Visar ett datum med den aktuella kulturens korta datumformat. Till exempel 2008-03-12.
"Long Time" eller Visar en tid med den aktuella kulturens långa tidsformat. omfattar vanligtvis timmar, minuter, sekunder. Till exempel 11:07:31 AM.
"Medium Time" Visar en tid i 12-timmarsformat. Till exempel 11:07.
"Short Time" Visar en tid i 24-timmarsformat. Till exempel 11:07.

Anpassade datum- och tidsformat

Följande formattecken kan anges i format_string för att skapa anpassade datum-/tidsformat:

Tecken beskrivning
(:) Tidsavgränsare. I vissa nationella inställningar kan andra tecken användas för att representera tidsavgränsaren. Tidsavgränsaren separerar timmar, minuter och sekunder när tidsvärdena formateras. Det faktiska tecknet som används som tidsavgränsare i formaterade utdata bestäms av systeminställningarna.
(/) Datumavgränsare. I vissa nationella inställningar kan andra tecken användas för att representera datumavgränsaren. Datumavgränsaren separerar den dag, månad och år då datumvärdena formateras. Det faktiska tecknet som används som datumavgränsare i formaterade utdata bestäms av systeminställningarna.
(\) Omvänt snedstreck. Visar nästa tecken som ett literaltecken. Därför tolkas det inte som ett formateringstecken.
(") Dubbelt citattecken. Text inom dubbla citattecken visas. Därför tolkas det inte som formateringstecken.
c Visa datumet som ddddd och visa tiden som ttttt, i den ordningen. Visa endast datuminformation om det inte finns någon del av datumserienumret. visa endast tidsinformation om det inte finns någon heltalsdel.
d Visa dagen som ett tal utan inledande nolla (1–31).
dd Visa dagen som ett tal med inledande nolla (01–31).
ddd Visa dagen som en förkortning (sön-lör). Lokaliserad.
dddd Visa dagen som ett fullständigt namn (söndag-lördag). Lokaliserad.
ddddd Visa datumet som ett fullständigt datum (inklusive dag, månad och år), formaterat enligt systemets inställning för kort datumformat. Standardformatet för kort datum är mm/dd/yyyy.
ddddddd Visa ett datumserienummer som ett fullständigt datum (inklusive dag, månad och år) formaterat enligt den långa datuminställning som systemet känner igen. Standardformatet för långt datum är dddd, mmmm d, yyyy.
a Visa veckodagen som ett tal (1 för söndag till och med 7 för lördag).
ww Visa veckan på året som ett tal (1–54).
m Visa månaden som ett tal utan inledande nolla (1–12). Om m omedelbart följer h eller hhvisas minut i stället för månaden.
mm Visa månaden som ett tal med inledande nolla (01–12). Om mm omedelbart följer h eller hhvisas minut i stället för månaden.
mmm Visa månaden som en förkortning (jan-dec). Lokaliserad.
mmmm Visa månaden som ett fullständigt månadsnamn (januari-december). Lokaliserad.
q Visa årets kvartal som ett tal (1–4).
y Visa dagen på året som ett tal (1–366).
åå Visa året som ett 2-siffrigt tal (00–99).
yyyy Visa året som ett fyrsiffrigt tal (100-9999).
h Visa timmen som ett tal utan inledande nolla (0–23).
hh Visa timmen som ett tal med inledande nolla (00–23).
n Visa minuten som ett tal utan inledande nolla (0–59).
nn Visa minuten som ett tal med inledande nolla (00–59).
s Visa det andra som ett tal utan inledande nolla (0–59).
ss Visa det andra som ett tal med inledande nolla (00–59).
ttttt Visa en tid som en fullständig tid (inklusive timme, minut och sekund), formaterad med hjälp av tidsavgränsaren som definieras av tidsformatet som identifieras av systemet. En inledande nolla visas om det inledande nollalternativet har valts och tiden är före 10:00 eller P.M. Standardtidsformatet är h:mm:ss.
AM/PM Använd 12-timmarsklockan och visa en versal AM med valfri timme före 12:00; visar ett versalt PM med valfri timme mellan 12:00 och 23:59.
am/pm Använd 12-timmarsklockan och visa en gemen AM med valfri timme före 12:00; visa en gemen PM med valfri timme mellan 12:00 och 23:59.
A/P Använd 12-timmarsklockan och visa ett versalt A med valfri timme före 12:00; visa ett versalt P med valfri timme mellan 12:00 och 23:59.
a/p Använd 12-timmarsklockan och visa ett gemen A med valfri timme före 12:00; visa ett gemener P med valfri timme mellan 12:00 och 23:59.
AMPM Använd 12-timmarsklockan och visa AM-strängliteralen enligt definitionen i systemet med valfri timme före 12:00; visa PM-strängliteralen enligt systemets definition med valfri timme mellan 12:00 och 23:59 AMPM kan vara antingen versaler eller gemener, men fallet med strängen som visas matchar strängen enligt systeminställningarna. Standardformatet är AM/PM. Om systemet är inställt på 24-timmarsklocka är strängen vanligtvis inställd på en tom sträng.

Datum/tid-formatering använder det aktuella användarspråket för att formatera strängen. Tänk till exempel på datumet den 25 juni 2020. När den formateras med formatsträngen "m/d/åååå" blir den:

  • Användarspråk är USA (en-US): "2020-06-25"
  • Användarspråk är Tyskland (de-DE): "6.25.2020"

Exempel på anpassat datum/tid-format

I följande exempel används datum/tid torsdag 25 juni 2020 kl. 13:23:45. Tyskland (de-DE) använder ett 24-timmars system. Det finns ingen motsvarighet till AM/PM.

Format Resultat (en-US) Resultat (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Tors Gör följande
"dddd" Torsdag Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" Torsdag 25 juni 2020 Donnerstag, 25 år. Juni 2020
"w" 5 5
"ww" 26 26
"m" 6 6
"mm" 06 06
"mmm" Jun Jun
"mmmm" Juni Juni
"q" 2 2
"y" 177 177
"yy" 20 20
"yyyy" 2020 2020
"""Year"" yyyy" År 2020 År 2020
"yyyy \Qq" 2020 Q2 2020 Q2
"dd/mm/yyyy" 2020-06-25 25.06.2020
"mm/dd/yyyy" 06/25/2020 06.25.2020
"h:nn:ss" 13:23:45 13:23:45
"h:nn:ss AMPM" 13:23:45 1:23:45
"hh:nn:ss" 13:23:45 13:23:45
"hh:nn:ss AMPM" 01:23:45 01:23:45
"ttttt" 13:23:45 13:23:45
"ttttt AMPM" 13:23:45 13:23:45
"mm/dd/yyyy hh:nn:ss AMPM" 2020-06-25 01:23:45 6.25.2020 01:23:45