Dela via


Använda anpassade formatsträngar i Power BI Desktop

GÄLLER FÖR: Power BI Desktop-Power BI-tjänst

Med anpassade formatsträngar i Power BI Desktop kan du anpassa hur fält visas i visuella objekt och se till att dina rapporter ser ut precis som du vill.

Skärmbild av Power BI Desktop i modelleringsvyn med anpassad markering i listrutan Format.

Formatsträngar finns på tre nivåer:

  • Modell. Du kan ange en formatsträng för fält i modellen eller använda en sträng i dynamiskt format för att formatera måttet. Var du än använder det fältet tillämpas formatsträngen, såvida den inte åsidosätts av en formatsträng på visuell eller elementnivå.
  • Visuellt objekt. Du kan ange formatsträngar på valfri kolumn, mått eller visuell beräkning som finns i ditt visuella objekt, även om de redan har en formatsträng. I så fall åsidosätts formatsträngen på modellnivå och den visuella nivåformatsträngen används. Om du ändrar aggregeringen i ett fält, som ogiltigförklarar en tidigare angiven formatsträng på visuell nivå, tas formatsträngen bort. Formatsträngar på visuell nivå för fält sparas för fält, men inte för visuella beräkningar. Om du anger en formatsträng på visuell nivå i ett fält och sedan tar bort och läser fältet till samma visuella objekt återställs formatsträngen på visuell nivå. För en visuell beräkning återställs däremot inte formatsträngen.
  • Element. Du kan ange en formatsträng för dataetiketter och för specifika element i det nya kortet och de nya visuella utsnittsobjekten. Den här nivån utökas till att omfatta fler i framtiden. Alla formatsträngar som du anger här åsidosätter formatsträngen som angetts på visualiserings- och modellnivå.

Dessa nivåer är hierarkiska, där modellnivån är den lägsta nivån och elementnivån den högsta. En formatsträng som definierats för en kolumn, ett mått eller en visuell beräkning på en högre nivå åsidosätter det som definierades på en lägre nivå.

Eftersom visuella beräkningar inte finns i modellen kan de inte ha en formatsträng inställd på modellnivå men kan på det visuella objektet eller elementnivån. Mått och kolumner kan ha formatsträngar på alla tre nivåerna:

Nivå Effekter Tillgänglig för
Element Markerat element i det markerade visuella objektet Mått, kolumner, visuella beräkningar
Visuella element Markerat visuellt objekt Mått, kolumner, visuella beräkningar
Modell Alla visuella objekt, alla sidor, alla rapporter i samma modell Mått, kolumner

Diagram som visar de tre nivåerna av tillgängliga formatsträngar (modell, visuellt objekt, element). Den visar att visuella beräkningar bara kan ha formatsträngar på visuell och elementnivå, medan mått och kolumner kan ha formatsträngar på alla nivåer.

Formatsträngen på elementnivå är bara tillgänglig för specifika visuella objekt och dataetiketter just nu.

Så här använder du anpassade formatsträngar

Om du vill använda anpassade formatsträngar måste du först bestämma vilken nivå du ska arbeta med: Modell, Visuellt objekt eller Element.

Tips/Råd

Om du ser oväntade suffix som K eller M kommer de från det visuella objektets inställning För visningsenheter (automatiskt) i stället för själva strängen för anpassat format– ställ in Visningsenheter på Ingen för att visa det fullständiga talet.

Lägga till en formatsträng på modellnivå

Om du vill skapa anpassade formatsträngar i modellen väljer du fältet i vyn Modellering och väljer sedan listrutepilen under Format i fönstret Egenskaper .

Skärmbild av fönstret Egenskaper som markerar menyn Format.

När du har valt Anpassad i listrutan Format väljer du från en lista över vanliga formatsträngar.

Skärmbild av formateringsmenyn med anpassad markering.

Lägga till en formatsträng på visuell nivå

Om du vill skapa en formatsträng på visuell nivå lägger du först till fält- eller visuell beräkning i ditt visuella objekt. När det visuella objektet är markerat öppnar du formatfönstret och går till avsnittet Allmänt i formatfönstret. Leta reda på inställningarna för Formatdata och konfigurera formatsträngen där:

Skärmbild av fönstret Format för ett visuellt objekt som visar inställningarna för dataformat i avsnittet Allmänt.

Kommentar

För tillfället måste du ange en .NET-formatsträng i stället för en VBA-formatsträng. Det här är ett tillfälligt problem som kommer att lösas i en framtida version.

Lägga till en formatsträng på elementnivå

Om du vill skapa en formatsträng på elementnivå öppnar du formatfönstret och letar reda på formatsträngsavsnitten för det element som du vill ange formatet på. Tänk på att inte alla element stöder formatsträngar. Dessutom kan visningsenheter på elementnivå fortfarande tillämpa automatisk K/M/B-skalning om du inte anger dem till Ingen. Om du vill ange en formatsträng på en dataetikett öppnar du avsnittet Visuellt objekt i formatfönstret, anger Visningsenheter för dataetiketter>till>anpassade och anger formatkoden:

Skärmbild av fönstret Format för ett visuellt objekt som visar inställningarna för värdeformat för dataetiketter i avsnittet Visuellt objekt.

Syntax för anpassat format som stöds

Anpassade formatsträngar följer syntaxen för VBA-format, som är gemensam för Excel och andra Microsoft-produkter, men de stöder inte all syntax som används i andra produkter.

Kommentar

Formatsträngar på visuell nivå använder för närvarande .NET datum/tid och numeriska formattoken (en tillfällig begränsning). Det innebär att höljet är viktigt (M = månad, m = minut). Anpassade formatsträngar på modell- och elementnivå använder de VBA-formattoken som dokumenteras i följande tabeller. Den här begränsningen tas bort i en framtida version så att alla nivåer använder en enhetlig syntax.

Felsöka oväntade månads- eller minutvärden

Om ett anpassat format visar minuter där du förväntade dig en månad:

  1. Kontrollera om du har använt formatet på den visuella nivån (för närvarande .NET-syntax).
  2. I så fall ändrar du m till M för månad eller flyttar den anpassade formatsträngen till modellnivån för att använda VBA-format m.
  3. Använd nn i minuter i VBA-kontexter för att undvika förvirring med månadssymboler.

Felsöka oönskad automatisk skalning (K, M, B-suffix)

Om ditt visuella objekt visar ett suffix som K (tusentals), M (miljoner) eller B (miljarder) trots att du anger ett anpassat nummerformat (till exempel #.### eller #,##0) kommer suffixet vanligtvis inte från den anpassade formatsträngen. Den tillämpas av inställningen Visningsenheter (automatisk skalning) för det visuella objektet eller elementet.

Vanliga orsaker:

  • Visningsenheter som är inställda på Auto (standard) för ett kort, KPI, mätare, nytt kort, utsnittsvärde eller dataetikett.
  • Formatering på elementnivå tillämpas, men elementets visningsenheter skalas fortfarande automatiskt.
  • En visuell beräkning eller aggregering som lästs efter ändring av format (Visningsenheter har återställts till Auto).

Ta bort K/M/B-suffixet:

  1. Välj det visuella objektet.
  2. Öppna fönstret Format .
  3. Leta upp de numeriska värdeinställningarna (till exempel Allmänt > dataformat, Visual > Data-etiketter, Utropets värde eller Värden för det nya kortet).
  4. Ange Visningsenheter (ibland märkta Enheter eller Värdeenheter) till Ingen (inte Automatiskt).
  5. Använd (eller bekräfta) den önskade anpassade formatsträngen igen (till exempel #,##0, 0, 0.0, #,##0.###).

Om det fortfarande finns:

  • Sök efter en åsidosättning på elementnivå (till exempel inställningar för dataetiketter) som också är inställd på Auto.
  • Bekräfta att du inte har bäddade in en literal "K" i det anpassade formatet (till exempel 0" K").
  • För mått på modellnivå kontrollerar du att ingen DAX-logik redan skalar värdet (till exempel att dividera med 1 000).

Exempeljämförelse:

Inställning Visningsenheter Anpassat format Result
Kortvisualisering (standard) Auto #,##0 12K (skalad)
Kortvisualisering (ändrad) None #,##0 11,732
Dataetikett (kolumn med klustrar) Auto 0 12K
Dataetikett (grupperad kolumn) None 0 11,732
Nytt kort (värdeformatering) Auto 0.0" °C" 23.4K °C (ej efterlystnad)
Nytt kort (värdeformatering) None 0.0" °C" 23.4 °C

Tips/Råd

Om du vill ha anpassade förkortningar men inte K/M/B-standardlogik behåller du Visningsenheter: Ingen och lägger till literaltext i formatsträngen (till exempel 0.0"k"). Detta bevarar rå numerisk precisionskontroll.

Kommentar

Dynamisk skalning baserat på värdestorlek (till exempel att växla mellan inget suffix, K och M) kräver ett mått som returnerar text (till exempel med hjälp av FORMAT() eller genom villkorsstyrd logik) eller ett dynamiskt formatsträngsmått. Enbart statiska anpassade formatsträngar tillhandahåller inte villkorsstyrd suffixlogik.

Följande tabeller definierar den syntax som stöds i Power BI.

Stödda datumsymboler (syntax i VBA-stil som används på modell- och elementnivå)

Följande symboler gäller för anpassade formatsträngar som använder syntaxen för VBA-format (Excel-liknande).

Viktigt!

Anpassade formatsträngar på visuell nivå kräver tillfälligt . NET-formattoken (se anmärkningen nedan). I .NET:s anpassade datum-/tidsformat representerar versaler M månad och gemener m minuter. I VBA-format (används på modell- och elementnivåer här) representerar gemener m månad. Den här skillnaden är en vanlig källa till förvirring.

Symbol Innebörd eller utdata
d Dag i månaden utan inledande nolla (1–31).
dd Dag i månaden med inledande nolla (01–31).
m Månadsnummer utan inledande nolla (1–12). Om omedelbart efter h eller hhtolkas det som minuter (se "Minutsymboler" som följer).
mm Månadsnummer med inledande nolla (01–12). Om den omedelbart följs av h eller hh, tolkas det som minuter med inledande nolla (00–59).
mmm Förkortat månadsnamn (jan–dec). (Hijri-månadsnamn har inga förkortningar.)
mmmm Fullständigt månadsnamn (januari–december).
åå Tvåsiffrigt år (00–99).
yyyy Fyrsiffrigt år (0001–9999).

Kommentar

Om du ser oväntade minutvärden där du förväntar dig månader kontrollerar du om du har angett formatet i en inställning på visuell nivå (för närvarande .NET-format) eller en inställning på modell-/elementnivå (VBA-format).

Tidssymboler som stöds (VBA-format)

Symbol Innebörd eller utdata
h Timme utan inledande nolla (0–23). I kombination med AM/PM representerar 1–12.
hh Timme med inledande nolla (00–23). I kombination med AM/PM representerar 01–12.
n Minut utan inledande nolla (0–59).
nn Minut med inledande nolla (00–59).
m / mm Också minuter (0–59 /00–59) endast när de omedelbart följer h eller hh. Annars behandlas de som månadssymboler (se datumsymboler).
s Tvåa utan inledande nolla (0–59).
ss Tvåa med inledande nolla (00–59).

Tips/Råd

Föredra n / nn för minuter för att undvika tvetydighet med m / mm månadssymboler.

Datum- och tidsexempel

Anta exempeltidsstämpeln: 2025-09-04 15:07:08 (4 september 2025, 15:07:08).

Formatera sträng Kontext (VBA-format jämfört med .NET) Förväntad utdata Noteringar
d/m/yy VBA-stil (modell) 9/4/25 Månad som nummer; dag utan inledande nolla.
mm/dd/ååååå VBA-stil (modell) 09/04/2025 Inledande nollor
mmm d, yyyyy VBA-stil (modell) 4 sep 2025 Förkortad månad.
mmmm d VBA-stil (modell) 4 september Fullständigt månadsnamn.
h:nn:ss VBA-stil (modell) 15:07:08 Används nn för att undvika månadsambiguitet.
h:m:s VBA-stil (modell) 15:7:8 m tolkas som minuter (följer h).
m VBA-stil (modell) 9 Fristående månadsnummer.
M Visuell .NET-nivå 9 I .NET betyder stort M månad.
m Visuell .NET-nivå 07 I .NET, gemener m = minuter.
mm/dd Blandat missbruk (visuell nivå för.NET) 07/04 Visar minuter/dag om användaren förväntade sig månad/dag – källa till förvirring.

Kommentar

Om du ser ett minutvärde (till exempel 07) där du förväntade dig en månad (till exempel 09), har du förmodligen angett ett .NET-format (visuell nivå) och trott att det var en VBA-stil. Justera höljet (M vs m) eller flytta formateringen till modellnivån.

Lägg till Unicode eller specialsymboler (grader, valuta, upphöjda tecken)

Anpassade formatsträngar stöder inte hex- eller escape-sekvenser (till exempel \u00B0, 0xB0eller °). Om du vill inkludera en symbol infogar du (klistrar in/skriver) det faktiska Unicode-tecknet i en citerad literal eller (för vissa numeriska format) ociterad om det är en avslutande literal.

Mål Formatsträng (modell/VBA-format) Utdataexempel Noteringar
Lägg till ett blanksteg före Celsius 0.0" °C" 23.4 °C Utrymmet finns inom citattecken så att det bevaras.
Lägg till procenttext (inte automatisk skalning) 0.00" pct" 12.34 pct Skiljer sig från %-platshållaren (som multiplicerar med 100).
Visa tusentals med KB-suffix 0" KB" 512 KB Literal "KB".
Valuta med explicit symbol #,##0.00" €" 1,234.00 € Föredra platsbaserad valuta på modellnivå om dynamisk symbol behövs.
Etikett för mikrosekunder 0" µs" 15 µs Klistra in μ (U+00B5).
Examen utan avslutande enhet 0"°" 90° Inget utrymme har lagts till.
Upphöjd fyrkant 0" m²" 25 m² Klistra in ² (U+00B2).

Tips/Råd

Infoga en symbol:

  • Windows: Tryck Win + . (emoji/symbolpanel) eller använd en ALT-kod (till exempel håll Alt, skriv 0176 på numerisk knappsats för °).
  • Kopiera/klistra in från en teckenkarta.
    När literalen är i formatsträngen behandlas den som oformaterad text.

Viktigt!

Bakstreck (\), \uXXXX eller 0xNN escape-sekvenser tolkas inte – Power BI översätter dem inte till Unicode i anpassade formatsträngar. Använd själva tecknet. För format på visuell nivå (.NET) är regeln densamma: inkludera det faktiska tecknet inuti citattecken (till exempel 0.0" °C"). Ett omvänt snedstreck undflyr bara nästa tecken. Den skapar inte Unicode-sekvenser.

Kommentar

För dynamisk symbollogik (till exempel om du byter °C/°F baserat på utsnittsmarkering) använder du ett DAX-mått som returnerar ett textvärde eller ett strängmått i dynamiskt format i stället för bara en statisk anpassad formatsträng.

Du kan se ett exempel på hur du formaterar anpassade värdesträngar.

Ett användardefinierat formatuttryck för tal kan ha ett till tre avsnitt avgränsade med semikolon. Om du inkluderar semikolon utan något mellan dem visas inte avsnittet som saknas, i stället visas "". Om du inte anger semikolonet används det positiva formatet.

Här är exempel på olika format för olika värdesträngar:

Värden Formatsträng Formatsträng Formatsträng Formatsträng
0.00;-0.0;" Noll" 0.00;; 0.00;-0.0; 0.00;
-1.234 -1.2 "" -1.2 ""
0 "Noll" "" "" 0,00
1.234 1,23 1,23 1,23 1,23

I följande tabell identifieras de fördefinierade namngivna datum- och tidsformaten:

Formatnamn Beskrivning
Allmänt datum Visa ett datum och en tid, till exempel 05:34-03-03. Om det inte finns någon del av bråket visar du bara ett datum, till exempel 4/3/93. Om det inte finns någon heltalsdel kan du endast visa tid, till exempel 17:34. Datumvisning bestäms av systeminställningarna.
Långt datum Visa ett datum enligt systemets långa datumformat.
Kort datum Visa ett datum med systemets korta datumformat.
Länge Visa en tid med systemets långa tidsformat. innehåller timmar, minuter, sekunder.
Kort tid Visa en tid med 24-timmarsformatet, till exempel 17:45.

Namngivna numeriska format

I följande tabell identifieras de fördefinierade namngivna numeriska formaten:

Formatnamn Beskrivning
Allmänt nummer Visa tal utan tusentalsavgränsare.
Valuta Visa tal med tusenavgränsare. Visa två siffror efter decimalavgränsaren. Utdata baseras på inställningar för systemspråk.
Fast Visa minst en siffra före och två siffror efter decimaltecknet.
Standard Visa tal med tusentalsavgränsare, minst en siffra före och två siffror efter decimaltecknet.
Procent Visningsnummer multiplicerat med 100 med ett procenttecken ( % ). Visa alltid två siffror efter decimaltecknet.
Vetenskaplig Använd vanlig vetenskaplig notation.

Andra formateringstecken för datum/tid

Följande tilläggstecken gäller (omfattas inte redan):

Karaktär Description
: Tidsseparator (lokalspecifik).
/ Datumavgränsare (lokalspecifik)
Tt AM/PM-beteckning (12-timmarsklocka, versaler).

Kommentar

Andra token för dag/månad/år/timme/minut/sekund som redan har definierats följer semantik i VBA-format på modell-/elementnivå och .NET-semantik (casing-sensitive) på visuell nivå.

Följande tabell identifierar tecken som du kan använda för att skapa användardefinierade nummerformat.

Karaktär 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 än det finns nollor efter decimaltecknet avrundar du talet till så många decimaler som det finns nollor. Om talet har fler siffror än det finns nollor före decimaltecknet 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 noll siffror. Inledande och avslutande nollor visas dock inte om talet har samma eller färre siffror än det finns #-tecken på vardera sidan av decimalavgränsaren 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 före och efter decimaltecknet. Om formatuttrycket endast innehåller taltecken till vänster om den här symbolen börjar tal som är mindre än en 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.
( , ) Tusentals avgränsare. I vissa länder används en period som tusentalsavgrä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å intilliggande tusenavgränsare eller en tusenavgränsare omedelbart till vänster om decimaltecknet (oavsett om en decimal anges eller inte) betyder "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 en 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. På vissa språk 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. På vissa språk 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 # ) efter E-, E+, e- eller e+, visas talet i vetenskapligt format och E eller e infogas mellan talet och dess exponent. Antalet platshållare för siffror 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 dessa literaltecken. Alla andra Unicode-tecken (°, €, μ, ² osv.) kan inkluderas genom att skriva eller klistra in det inom dubbla citattecken (till exempel 0.0" °C"). Använd bara ett omvänt snedstreck för att undkomma nästa tecken om det annars skulle tolkas (det introducerar inte hex eller \u escapes).
( \ ) Visa nästa tecken i formatsträngen. Om du vill visa ett tecken som har 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 (\\). Datumformatering och tidsformateringstecken (a, c, d, h, m, n, p, q, s, t, w, /och :) kan inte visas som literaltecken, numeriska formateringstecken (#, 0, %, E, e, komma och punkt) och strängformateringstecken (@, &, <, >, !).
("ABC") Visa strängen inom de dubbla citattecknen (" ").

Beaktanden och begränsningar

  • Du kan inte ange en anpassad formatsträng för fält av typen sträng eller boolesk.

Mer information finns i: