FORMAAT

Converteert een waarde naar tekst volgens de opgegeven indeling.

Syntaxis

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

Parameters

Term Definitie
waarde Een waarde of expressie die resulteert in één waarde.
format_string Een tekenreeks met de opmaaksjabloon.
locale_name (Optioneel) De naam van de landinstelling die door de functie moet worden gebruikt. Mogelijke waarden zijn tekenreeksen die worden geaccepteerd door de Windows API-functie LocaleNameToLCID().

Retourwaarde

Een tekenreeks met waarde die is opgemaakt door format_string.

Notitie

Als de waarde LEEG is, retourneert de functie een lege tekenreeks.

Als format_string BLANK is, wordt de waarde opgemaakt met de notatie 'Algemeen getal' of 'Algemene datum' (volgens het gegevenstype waarde ).

Opmerkingen

  • Vooraf gedefinieerde notatietekenreeksen maken gebruik van de eigenschap modelcultuur bij het opmaken van het resultaat. Standaard wordt de eigenschap van de modelcultuur ingesteld op basis van de landinstelling van de gebruiker van de computer. Voor nieuwe Power BI Desktop-modellen kan de eigenschap van de modelcultuur worden gewijzigd in de landtaal Opties > regionaal Instellingen > model. Voor Analysis Services wordt modelcultuur ingesteld op basis van de eigenschap Taal die in eerste instantie door het exemplaar is gedefinieerd.

  • De indelingstekenreeksen die worden ondersteund als argument voor de DAX FORMAT-functie, zijn gebaseerd op de notatietekenreeksen die worden gebruikt door Visual Basic (OLE Automation), niet op de indelingstekenreeksen die worden gebruikt door .NET Framework. Daarom krijgt u mogelijk onverwachte resultaten of een fout als het argument niet overeenkomt met gedefinieerde notatietekenreeksen. 'p' als afkorting voor 'Percentage' wordt bijvoorbeeld niet ondersteund. Tekenreeksen die u opgeeft als argument voor de functie FORMAT die niet zijn opgenomen in de lijst met vooraf gedefinieerde notatietekenreeksen, worden verwerkt als onderdeel van een aangepaste notatietekenreeks of als letterlijke tekenreeks.

  • Bekijk deze video voor meer informatie over het opgeven van een landinstelling met FORMAT.

  • Als u FORMAT gebruikt, wordt het resultaat van een meting gewijzigd in een tekstgegevenstype. Als het meetresultaat oorspronkelijk van het numerieke gegevenstype is, kan de meting met FORMAT niet worden gebruikt voor visuals waarbij voor de sectie waarden een numeriek gegevenstype is vereist, zoals bij grafieken. In Power BI kunt u ook tekenreeksen voor dynamische notatie gebruiken voor metingen die een tekenreeks voor voorwaardelijke opmaak opgeven die het numerieke gegevenstype van de meting onderhoudt.

  • Deze functie wordt niet ondersteund voor gebruik in de DirectQuery-modus wanneer deze wordt gebruikt in regels voor beveiliging op rijniveau (berekende kolommen of beveiliging op rijniveau).

Voorbeelden

Opmaak van tekenreeksen

= 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")

Retourneert:

12345,67 "Algemeen getal" geeft het getal zonder opmaak weer.

$12.345,67 "Valuta" geeft het getal weer met de landinstellingen van uw valuta. In het voorbeeld ziet u de standaardnotatie Verenigde Staten valuta.

12345,67 'Vast' geeft ten minste één cijfer links van het decimaalteken weer en twee cijfers rechts van het decimaalteken.

12.345,67 'Standaard' geeft ten minste één cijfer links van het decimaalteken weer en twee cijfers rechts van het decimaalteken en bevat scheidingstekens voor duizendtallen. In het voorbeeld ziet u de standaardopmaak Verenigde Staten getalnotatie.

1.234.567,00 % "Percentage" geeft het getal weer als een percentage (vermenigvuldigd met 100) met opmaak en het procentteken rechts van het getal gescheiden door één spatie.

1,23E+04 "Wetenschappelijk" geeft het getal in wetenschappelijke notatie weer met twee decimalen.

Datum/tijd met optionele 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" )

Retourneert:

12-15-2020 12:30:59 uur, waar de maand voorafgaat aan de dag en tijd 12-uursnotatie is.

15-12-2020 12:30:59 Waar de dag voorafgaat aan de maand en de tijd 24 uur is.

12-15-2020 12:30:59 Waar de maand voorafgaat aan de dag en tijd 24 uur. Omdat er een tekenreeks met afhankelijke landinstellingen is opgegeven, wordt de landinstelling niet toegepast en wordt de notatie niet-landinstelling geretourneerd.

Vooraf gedefinieerde numerieke notaties

De volgende vooraf gedefinieerde numerieke notaties kunnen worden opgegeven in het argument format_string :

Indeling Beschrijving
"General Number" Geeft een getal weer zonder scheidingstekens voor duizendtallen.
"Currency" Geeft het getal weer met scheidingstekens voor duizendtallen, indien van toepassing; geeft twee cijfers rechts van het decimaalteken weer. Uitvoer is gebaseerd op de landinstellingen van het systeem.
"Fixed" Geeft ten minste één cijfer links weer en twee cijfers rechts van het decimaalteken.
"Standard" Geeft een getal weer met scheidingstekens voor duizendtallen, ten minste één cijfer links en twee cijfers rechts van het decimaalteken.
"Percent" Geeft het getal weer vermenigvuldigd met 100 met een procentteken (%) dat direct aan de rechterkant is toegevoegd; geeft altijd twee cijfers rechts van het decimaalteken weer.
"Scientific" Maakt gebruik van standaard wetenschappelijke notatie, met twee significante cijfers.
"Yes/No" Geeft nee weer als getal 0 is; anders wordt Ja weergegeven.
"True/False" Geeft Onwaar weer als getal 0 is; anders wordt Waar weergegeven.
"On/Off" Wordt uitgeschakeld als getal 0 is; anders wordt Aan weergegeven.

Aangepaste numerieke notaties

Een aangepaste notatie-expressie voor getallen kan bestaan uit één tot drie secties, gescheiden door puntkomma's. Als het argument tekenreeksnotatie een van de benoemde numerieke notaties bevat, is slechts één sectie toegestaan.

Als u Het resultaat is
Slechts één sectie De notatie-expressie is van toepassing op alle waarden.
Twee secties De eerste sectie is van toepassing op positieve waarden en nullen, de tweede op negatieve waarden.
Drie secties De eerste sectie is van toepassing op positieve waarden, de tweede op negatieve waarden en de derde op nullen.
"$#,##0;($#,##0)"

Als u puntkomma's met niets ertussen opneemt, wordt de ontbrekende sectie gedefinieerd met behulp van de notatie van de positieve waarde. De volgende notatie geeft bijvoorbeeld positieve en negatieve waarden weer met behulp van de notatie in de eerste sectie en geeft 'Nul' weer als de waarde nul is.

"$#,##0"

Als u puntkomma's met niets ertussen opneemt, wordt de ontbrekende sectie weergegeven met behulp van de notatie van de positieve waarde.

Aangepaste numerieke notatietekens

De volgende aangepaste numerieke notatietekens kunnen worden opgegeven in het argument format_string :

Teken Beschrijving
Geen Het getal zonder opmaak weergeven.
(0) Tijdelijke aanduiding voor cijfers. Een cijfer of een nul weergeven. Als de expressie een cijfer heeft op de positie waar de 0 wordt weergegeven in de notatietekenreeks, geeft u deze weer; anders geeft u een nul op die positie weer. Als het getal minder cijfers heeft dan nullen (aan beide zijden van het decimaalteken) in de notatie-expressie, geeft u voorloopnullen of volgnullen weer. Als het getal meer cijfers rechts van het decimaalteken heeft dan nullen rechts van het decimaalteken in de notatie-expressie, rondt u het getal af op zoveel decimalen als er nullen zijn. Als het getal links van het decimaalteken meer cijfers bevat dan nullen links van het decimaalteken in de notatie-expressie, geeft u de extra cijfers weer zonder wijzigingen.
(#) Tijdelijke aanduiding voor cijfers. Een cijfer of niets weergeven. Als de expressie een cijfer heeft op de positie waar het #wordt weergegeven in de notatietekenreeks, geeft u deze weer; anders geeft u niets op die positie weer. Dit symbool werkt als de tijdelijke aanduiding voor 0 cijfers, behalve dat voorloop- en volgnullen niet worden weergegeven als het getal hetzelfde of minder cijfers heeft dan er # tekens aan beide zijden van het decimaalteken in de notatie-expressie staan.
(.) Tijdelijke aanduiding voor decimalen. In sommige landinstellingen wordt een komma gebruikt als het decimaalteken. De tijdelijke aanduiding voor decimalen bepaalt hoeveel cijfers links en rechts van het decimaalteken worden weergegeven. Als de notatie-expressie alleen cijfertekens links van dit symbool bevat, beginnen getallen kleiner dan 1 met een decimaalteken. Als u een voorloopnul wilt weergeven die wordt weergegeven met fractionele getallen, gebruikt u 0 als tijdelijke aanduiding voor het eerste cijfer links van het decimaalteken. Het werkelijke teken dat wordt gebruikt als een tijdelijke aanduiding voor decimalen in de opgemaakte uitvoer, is afhankelijk van de getalnotatie die door uw systeem wordt herkend.
(%) Tijdelijke aanduiding voor percentage. De expressie wordt vermenigvuldigd met 100. Het procentteken (%) wordt ingevoegd op de positie waar het wordt weergegeven in de notatietekenreeks.
(,) Scheidingsteken voor duizendtallen. In sommige landinstellingen wordt een periode gebruikt als scheidingsteken voor duizendtallen. Het scheidingsteken voor duizendtallen scheidt duizenden van honderden binnen een getal met vier of meer posities links van het decimaalteken. Standaardgebruik van het scheidingsteken voor duizendtallen wordt opgegeven als de notatie een scheidingsteken voor duizendtallen bevat dat wordt omgeven door tijdelijke aanduidingen voor cijfers (0 of #). Twee aangrenzende scheidingstekens voor duizendtallen of een scheidingsteken voor duizendtallen direct links van het decimaalteken (ongeacht of er een decimaalteken is opgegeven) betekent 'het getal schalen door het te delen door 1000, indien nodig af te ronden'. U kunt bijvoorbeeld de notatietekenreeks ##0 gebruiken om 100 miljoen als 100 miljoen weer te geven. Getallen kleiner dan 1 miljoen worden weergegeven als 0. Twee aangrenzende scheidingstekens voor duizendtallen in een andere positie dan direct links van het decimaalteken worden behandeld als het opgeven van het gebruik van een scheidingsteken voor duizendtallen. Het werkelijke teken dat wordt gebruikt als scheidingsteken voor duizendtallen in de opgemaakte uitvoer, is afhankelijk van de getalnotatie die door uw systeem wordt herkend.
(:) Tijdscheidingsteken. In sommige landinstellingen kunnen andere tekens worden gebruikt om het tijdscheidingsteken weer te geven. Het tijdscheidingsteken scheidt uren, minuten en seconden wanneer tijdwaarden zijn opgemaakt. Het werkelijke teken dat wordt gebruikt als tijdscheidingsteken in opgemaakte uitvoer, wordt bepaald door uw systeeminstellingen.
(/) Datumscheidingsteken. In sommige landinstellingen kunnen andere tekens worden gebruikt om het datumscheidingsteken weer te geven. Het datumscheidingsteken scheidt de datum, maand en het jaar waarop datumwaarden zijn opgemaakt. Het werkelijke teken dat wordt gebruikt als het datumscheidingsteken in opgemaakte uitvoer, wordt bepaald door de systeeminstellingen.
(E- E+ e- e+) Wetenschappelijke indeling. Als de notatie-expressie ten minste één tijdelijke aanduiding voor cijfers (0 of #) rechts van E-, E+, e-, of e+ bevat, wordt het getal weergegeven in wetenschappelijke notatie en wordt E of e ingevoegd tussen het getal en de exponent. Het aantal tijdelijke aanduidingen voor cijfers aan de rechterkant bepaalt het aantal cijfers in de exponent. Gebruik E- of e- om een minteken naast negatieve exponenten te plaatsen. Gebruik E+ of e+ om een minteken naast negatieve exponenten en een plusteken naast positieve exponenten te plaatsen.
- + $ ( ) Een letterlijk teken weergeven. Als u een ander teken dan een van de vermelde tekens wilt weergeven, plaatst u een backslash (\) of plaatst u het tussen dubbele aanhalingstekens (" ").
(\) Het volgende teken weergeven in de notatietekenreeks. Als u een teken wilt weergeven dat een speciale betekenis heeft als een letterlijk teken, gaat u er vooraf aan met een backslash (\). De backslash zelf wordt niet weergegeven. Het gebruik van een backslash is hetzelfde als het plaatsen van het volgende teken tussen dubbele aanhalingstekens. Als u een backslash wilt weergeven, gebruikt u twee backslashes (\\). Voorbeelden van tekens die niet als letterlijke tekens kunnen worden weergegeven, zijn de tekens voor datumopmaak en tijdnotatie (a, c, d, h, m, n, p, q, s, t, w, y, /, en :), de numerieke opmaaktekens (#, 0, %, E, e, komma en punt) en de tekenreeksopmaaktekens (@, &, <>en !).
("ABC") De tekenreeks tussen de dubbele aanhalingstekens (" ") weergeven.

Vooraf gedefinieerde datum-/tijdnotaties

De volgende vooraf gedefinieerde datum-/tijdnotaties kunnen worden opgegeven in het argument format_string . Wanneer u andere notaties dan deze gebruikt, worden ze geïnterpreteerd als een aangepaste datum-/tijdnotatie:

Indeling Beschrijving
"General Date" Geeft een datum en/of tijd weer. Bijvoorbeeld 12-3-2008 11:07:31 uur. De datumweergave wordt bepaald door de huidige cultuurwaarde van uw toepassing.
"Long Date" of "Medium Date" Geeft een datum weer volgens de lange datumnotatie van uw huidige cultuur. Bijvoorbeeld woensdag 12 maart 2008.
"Short Date" Geeft een datum weer met de korte datumnotatie van uw huidige cultuur. Bijvoorbeeld 12-3-2008.
"Long Time" of Geeft een tijd weer met de lange tijdnotatie van uw huidige cultuur; bevat doorgaans uren, minuten, seconden. Bijvoorbeeld 11:07:31 AM.
"Medium Time" Geeft een tijd weer in de notatie van 12 uur. Bijvoorbeeld 11:07 uur.
"Short Time" Geeft een tijd weer in de notatie van 24 uur. Bijvoorbeeld 11:07.

Aangepaste datum- en tijdnotaties

De volgende notatietekens kunnen worden opgegeven in de format_string om aangepaste datum-/tijdnotaties te maken:

Teken Beschrijving
(:) Tijdscheidingsteken. In sommige landinstellingen kunnen andere tekens worden gebruikt om het tijdscheidingsteken weer te geven. Het tijdscheidingsteken scheidt uren, minuten en seconden wanneer tijdwaarden zijn opgemaakt. Het werkelijke teken dat wordt gebruikt als tijdscheidingsteken in opgemaakte uitvoer, wordt bepaald door uw systeeminstellingen.
(/) Datumscheidingsteken. In sommige landinstellingen kunnen andere tekens worden gebruikt om het datumscheidingsteken weer te geven. Het datumscheidingsteken scheidt de datum, maand en het jaar waarop datumwaarden zijn opgemaakt. Het werkelijke teken dat wordt gebruikt als het datumscheidingsteken in opgemaakte uitvoer, wordt bepaald door de systeeminstellingen.
(\) Backslash. Hiermee wordt het volgende teken weergegeven als een letterlijk teken. Het wordt dus niet geïnterpreteerd als een opmaakteken.
(") Dubbele aanhalingsteken. Tekst tussen dubbele aanhalingstekens wordt weergegeven. Het wordt dus niet geïnterpreteerd als opmaaktekens.
c De datum weergeven als ddddd en de tijd weergeven als ttttt, in die volgorde. Alleen datumgegevens weergeven als er geen breukdeel is tot het seriële getal van de datum; alleen tijdinformatie weergeven als er geen geheel getal is.
d De dag weergeven als een getal zonder voorloopnul (1-31).
dd De dag weergeven als een getal met voorloopnul (01-31).
ddd De dag weergeven als een afkorting (zo-za). Gelokaliseerde.
dddd De dag weergeven als een volledige naam (zondag-zaterdag). Gelokaliseerde.
Ddddd De datum weergeven als een volledige datum (inclusief dag, maand en jaar), opgemaakt volgens de instelling voor de korte datumnotatie van uw systeem. De standaardnotatie voor korte datums is mm/dd/yyyy.
dddddd Een datumserialisatie weergeven als een volledige datum (inclusief dag, maand en jaar) die is opgemaakt volgens de instelling voor lange datums die door uw systeem worden herkend. De standaardnotatie voor lange datums is dddd, mmmm d, yyyy.
w De dag van de week weergeven als een getal (1 voor zondag tot en met 7 voor zaterdag).
ww De week van het jaar weergeven als een getal (1-54).
m De maand weergeven als een getal zonder voorloopnul (1-12). Als m u direct volgt h of hhals er een minuut wordt weergegeven in plaats van de maand.
mm De maand weergeven als een getal met voorloopnul (01-12). Als mm u direct volgt h of hhals er een minuut wordt weergegeven in plaats van de maand.
mmm De maand weergeven als een afkorting (Jan-Dec). Gelokaliseerde.
mmmm De maand weergeven als een volledige maandnaam (januari-december). Gelokaliseerde.
k Het kwartaal van het jaar weergeven als een getal (1-4).
y De dag van het jaar weergeven als een getal (1-366).
yy Het jaar weergeven als een getal van 2 cijfers (00-99).
yyyy Het jaar weergeven als een getal van 4 cijfers (100-9999).
h Het uur weergeven als een getal zonder voorloopnul (0-23).
hh Het uur weergeven als een getal met voorloopnul (00-23).
n De minuut weergeven als een getal zonder voorloopnul (0-59).
Nn De minuut weergeven als een getal met voorloopnul (00-59).
s De seconde weergeven als een getal zonder voorloopnul (0-59).
ss De seconde weergeven als een getal met voorloopnul (00-59).
ttttt Een tijd weergeven als een volledige tijd (inclusief uur, minuut en seconde), opgemaakt met behulp van het tijdscheidingsteken dat is gedefinieerd door de tijdnotatie die door uw systeem wordt herkend. Er wordt een voorloopnul weergegeven als de optie voorloopnul is geselecteerd en de tijd vóór 10:00 uur of P.M. ligt. De standaardtijdnotatie is h:mm:ss.
AM/PM Gebruik de 12-uurs klok en geef een hoofdletter AM weer met een uur vóór de middag; een hoofdletter PM weergeven met een uur tussen 12:59 en 11:59 uur.
am/pm Gebruik de 12-uurs klok en geef een kleine letter AM weer met een uur vóór de middag; een kleine letter PM weergeven met een uur tussen middag en 11:59 pm.
A/P Gebruik de 12-uurs klok en geef een hoofdletter A weer met een uur vóór de middag; een hoofdletter P weergeven met een uur tussen middag en 11:59 uur
a/p Gebruik de 12-uurs klok en geef een kleine letter A weer met een uur vóór de middag; een kleine letter P weergeven met een uur tussen middag en 11:59 uur
AMPM Gebruik de 12-uurs klok en geef de letterlijke am-tekenreeks weer zoals gedefinieerd door uw systeem met elk uur vóór de middag; de letterlijke PM-tekenreeks weergeven zoals gedefinieerd door uw systeem, met elk uur tussen middag en 11:59 UUR AMPM kan hoofdletters of kleine letters zijn, maar het geval van de weergegeven tekenreeks komt overeen met de tekenreeks zoals gedefinieerd door uw systeeminstellingen. De standaardindeling is AM/PM. Als uw systeem is ingesteld op 24-uursklok, wordt de tekenreeks standaard ingesteld op een lege tekenreeks.

Datum-/tijdnotatie maakt gebruik van de huidige landinstelling van de gebruiker om de tekenreeks op te maken. Denk bijvoorbeeld aan de datum 25 juni 2020. Wanneer deze is opgemaakt met de notatietekenreeks 'm/d/yyyyy', is dit:

  • De landinstelling van de gebruiker is Verenigde Staten van Amerika (en-US): "25-6-2020"
  • Landinstelling van gebruiker is Duitsland (de-DE): "6.25.2020"

Voorbeelden van aangepaste datum-/tijdnotatie

In de volgende voorbeelden wordt gebruikgemaakt van de datum/tijd donderdag 25 juni 2020 om 13:45 uur. Duitsland (de-DE) maakt gebruik van een systeem van 24 uur. Er is geen equivalent van AM/PM.

Notatie Resultaat (en-US) Resultaat (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Do Wel doen
"dddd" donderdag Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" Donderdag 25 juni 2020 Donnerstag, 25. 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" Jaar 2020 Jaar 2020
"yyyy \Qq" 2020 Q2 2020 Q2
"dd/mm/yyyy" 25/06/2020 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 uur 1:23:45
"hh:nn:ss" 13:23:45 13:23:45
"hh:nn:ss AMPM" 01:23:45 pm 01:23:45
"ttttt" 13:23:45 13:23:45
"ttttt AMPM" 13:23:45 pm 13:23:45
"mm/dd/yyyy hh:nn:ss AMPM" 25-06-2020 01:23:45 uur 6.25.2020 01:23:45