FORMAT

Convertit une valeur en texte au format spécifié.

Syntaxe

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

Paramètres

Terme Définition
valeur Valeur ou expression qui prend une valeur unique.
format_string Chaîne avec le modèle de mise en forme.
locale_name (Facultatif) Nom des paramètres régionaux à utiliser par la fonction. Les valeurs possibles sont les chaînes acceptées par la fonction API Windows LocaleNameToLCID().

Valeur de retour

Chaîne contenant le paramètre value mis en forme comme défini par format_string.

Notes

Si le paramètre value a la valeur BLANK, la fonction retourne une chaîne vide.

Si format_string a la valeur BLANK, la valeur est mise en forme avec un format de date ou nombre général (en fonction du type de données value).

Remarques

  • Les chaînes de format prédéfinies utilisent la propriété de culture du modèle lors de la mise en forme du résultat. Par défaut, la propriété de culture du modèle est définie en fonction des paramètres régionaux utilisateur de l’ordinateur. Pour les nouveaux modèles de Power BI Desktop, la propriété de culture du modèle peut être changée dans Options > Paramètres régionaux > Langue du modèle. Pour Analysis Services, la culture de modèle est définie en fonction de la propriété Langue définie au départ par l’instance.

  • Les chaînes de format prises en charge comme argument de la fonction DAX FORMAT sont basées sur les chaînes de format utilisées par Visual Basic (OLE Automation) et non celles utilisées par le .NET Framework. Vous pouvez donc obtenir des résultats inattendus ou une erreur si l’argument ne correspond à aucune chaîne de format définie. Par exemple, « p » comme abréviation de « pourcentage » n’est pas pris en charge. Les chaînes que vous spécifiez comme argument de la fonction FORMAT qui ne sont pas incluses dans la liste des chaînes de format prédéfinies sont gérées comme chaînes de format personnalisées ou littéraux de chaîne.

  • Pour en savoir plus sur la spécification de paramètres régionaux avec FORMAT, regardez cette vidéo.

  • L’utilisation de FORMAT transforme un résultat de mesure en type de données texte. Si le résultat de la mesure est de type de données numérique à l’origine, en cas d’utilisation de FORMAT, la mesure ne peut pas être utilisée sur les visuels où la section des valeurs nécessite un type de données numérique, comme des graphiques. Dans Power BI, vous pouvez également utiliser des Chaînes de format dynamique pour des mesures qui spécifient une chaîne de format conditionnel qui conserve le type de données numérique de la mesure.

  • Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des règles de sécurité au niveau des lignes (RLS).

Exemples

Chaînes de format

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

Retourne les informations suivantes :

12345.67 "General Number" affiche le nombre sans aucune mise en forme.

$12 345,67 "Currency" affiche le nombre avec le format de devise correspondant à vos paramètres régionaux. L’exemple montre ici le format de devise par défaut pour les États-Unis.

12345.67 "Fixed" affiche au moins un chiffre à gauche du séparateur décimal et deux chiffres à droite.

12,345.67 "Standard" affiche au moins un chiffre à gauche du séparateur décimal et deux chiffres à droite, et comprend des séparateurs de milliers. L’exemple montre ici le format par défaut des nombres pour les États-Unis.

1,234,567.00 % "Percent" affiche le nombre sous forme de pourcentage (multiplié par 100) avec une mise en forme et le signe de pourcentage à droite du nombre, séparé par un seul espace.

1.23E+04 "Scientific" affiche le nombre dans une notation scientifique avec deux chiffres décimaux.

DateTime avec locale_name facultatif

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

Retourne les informations suivantes :

12/15/2020 12:30:59 PM Où le mois précède le jour et l’heure est au format 12 heures.

15/12/2020 12:30:59 Où le jour précède le mois et l’heure est au format 24 heures.

12/15/2020 12:30:59 Où le mois précède le jour et l’heure est au format 24 heures. Comme une chaîne de format non dépendante des paramètres régionaux est spécifiée, les paramètres régionaux ne sont pas appliqués et le format non conforme aux paramètres régionaux est retourné.

Formats numériques prédéfinis

Les formats numériques prédéfinis suivants peuvent être spécifiés dans l’argument format_string :

Format Description
"General Number" Affiche le nombre sans séparateurs de milliers.
"Currency" Affiche le nombre avec des séparateurs de milliers, le cas échéant ; affiche deux chiffres à droite du séparateur décimal. La sortie est basée sur les paramètres régionaux du système.
"Fixed" Affiche au moins un chiffre à gauche et deux chiffres à droite du séparateur décimal.
"Standard" Affiche le nombre avec des séparateurs de milliers, au moins un chiffre à gauche et deux chiffres à droite du séparateur décimal.
"Percent" Affiche le nombre multiplié par 100 avec un signe de pourcentage (%) ajouté de suite à droite ; affiche toujours deux chiffres à droite du séparateur décimal.
"Scientific" Utilise la notation scientifique standard, en fournissant deux chiffres significatifs.
"Yes/No" Affiche No si le nombre est égal à 0 ; dans le cas contraire, affiche Yes.
"True/False" Affiche False si le nombre est égal à 0 ; dans le cas contraire, affiche True.
"On/Off" Affiche Off si le nombre est égal à 0 ; dans le cas contraire, affiche On.

Formats numériques personnalisés

Une expression de format personnalisée pour les nombres peut comporter de une à trois sections séparées par des points-virgules. Si l’argument de chaîne de format contient l’un des formats numériques nommés, une seule section est autorisée.

Si vous utilisez : Le résultat est
Une seule section L'expression de format s'applique à toutes les valeurs.
Deux sections La première section s'applique aux valeurs positives et aux zéros, et la seconde aux valeurs négatives.
Trois sections La première section s'applique aux valeurs positives, la deuxième aux valeurs négatives et la troisième aux zéros.
"$#,##0;($#,##0)"

Si vous incluez des points-virgules sans valeur entre eux, la section manquante est définie avec le format de la valeur positive. Par exemple, le format suivant affiche les valeurs positives et négatives d’après le format défini dans la première section et affiche « Zéro » si la valeur est zéro.

"$#,##0"

Si vous incluez des points-virgules sans valeur entre eux, la section manquante est représentée par le format de la valeur positive.

Caractères de format numérique personnalisés

Les caractères de format numérique personnalisés suivants peuvent être spécifiés dans l’argument format_string :

Caractère Description
Aucune Affichez le nombre sans mise en forme.
(0) Espace réservé de chiffre. Affiche un chiffre ou un zéro. Si l’expression contient un chiffre à l’emplacement où la valeur 0 apparaît dans la chaîne de format, elle est affichée ; sinon, affiche un zéro à cette position. Si le nombre contient moins de chiffres que de zéros (de part et d’autre du séparateur décimal) dans l’expression de format, affiche des zéros au début ou à la fin. Si le nombre contient plus de chiffres à droite du séparateur décimal qu’il y a de zéros à droite du séparateur décimal dans l’expression de format, arrondit le nombre à autant de décimales qu’il y a de zéros. Si le nombre contient plus de chiffres à gauche du séparateur décimal qu’il y a de zéros à gauche du séparateur décimal dans l’expression de format, affiche les chiffres supplémentaires sans modification.
(#) Espace réservé de chiffre. Affiche un chiffre ou rien. Si l’expression contient un chiffre à l’emplacement où la valeur # apparaît dans la chaîne de format, elle est affichée. Sinon, n’affiche rien à cette position. Ce symbole fonctionne comme l’espace réservé de chiffre 0, sauf que les zéros de début et de fin ne sont pas affichés si le nombre a le même nombre ou un nombre de chiffres inférieur à celui des caractères # de part et d’autre du séparateur décimal dans l’expression de format.
(.) Espace réservé de décimale. Dans certains paramètres régionaux, une virgule est utilisée comme séparateur décimal. L’espace réservé de décimale détermine le nombre de chiffres affichés à gauche et à droite du séparateur décimal. Si l’expression de format contient uniquement des signes numériques à gauche de ce symbole, les nombres inférieurs à 1 commencent par un séparateur décimal. Pour afficher un zéro non significatif avec les nombres fractionnaires, utilisez 0 comme premier espace réservé de chiffre à gauche du séparateur décimal. Le caractère réel utilisé comme espace réservé décimal dans le résultat mis en forme dépend du format numérique reconnu par votre système.
(%) Espace réservé de pourcentage. L’expression est multipliée par 100. Le caractère de pourcentage (%) est inséré à l’emplacement où il apparaît dans la chaîne de format.
(,) Séparateur des milliers. Dans certains paramètres régionaux, un point est utilisé comme séparateur des milliers. Le séparateur des milliers sépare les milliers des centaines au sein d’un nombre qui a quatre décimales ou plus à gauche du séparateur décimal. L’utilisation standard du séparateur de milliers est spécifiée si le format contient un séparateur de milliers entouré par des espaces réservés de chiffre (0 ou #). La présence de deux séparateurs des milliers contigus, ou d’un séparateur des milliers juste à gauche du séparateur décimal (qu’une décimale soit ou non spécifiée), signifie « mettre à l’échelle le nombre en le divisant par 1 000, en l’arrondissant le cas échéant ». Par exemple, vous pouvez utiliser la chaîne de format « ##0,, » pour représenter 100 millions par 100. Les nombres inférieurs à 1 million sont affichés comme 0. Deux séparateurs de milliers adjacents dans toute position autre qu’immédiatement à gauche du séparateur décimal sont traités simplement comme spécifiant l’utilisation d’un séparateur de milliers. Le caractère réel utilisé pour le séparateur de milliers dans le résultat mis en forme dépend du format numérique reconnu par votre système.
(:) Séparateur d’heure. Pour certains paramètres régionaux, d’autres caractères peuvent être utilisés pour représenter le séparateur d’heure. Le séparateur d’heure sépare les heures, les minutes et les secondes lors de la mise en forme des valeurs d’heure. Le caractère réel utilisé comme séparateur d’heure dans le résultat mis en forme est déterminé par vos paramètres système.
(/) Séparateur de date. Pour certains paramètres régionaux, d’autres caractères peuvent être utilisés pour représenter le séparateur de date. Le séparateur de date sépare le jour, le mois et l’année lorsque les valeurs de date sont mises en forme. Le caractère réel utilisé comme séparateur de date dans le résultat mis en forme est déterminé par vos paramètres système.
(E- E+ e- e+ ) Format scientifique. Si l’expression de format contient au moins un espace réservé de chiffre (0 ou #) à droite de E-, E+, e- ou e+, le nombre est affiché au format scientifique et E ou e est inséré entre le nombre et son exposant. Le nombre d’espaces réservés de chiffre à droite détermine le nombre de chiffres dans l’exposant. Utilisez E- ou e- pour placer un signe moins à côté des exposants négatifs. Utilisez E+ ou e+ pour insérer un signe moins à côté des exposants négatifs et un signe plus à côté des exposants positifs.
- + $ ( ) Affiche un caractère littéral. Pour afficher un caractère autre que les caractères listés, faites-le précéder d’une barre oblique inverse (\) ou placez-le entre guillemets doubles (" ").
(\) Affiche le caractère suivant dans la chaîne de format. Pour afficher un caractère ayant une signification spéciale sous forme de caractère littéral, faites-le précéder d’une barre oblique inverse (\). La barre oblique inverse elle-même n’est pas affichée. L'utilisation d'une barre oblique inverse équivaut à mettre le caractère suivant entre des guillemets doubles. Pour afficher une barre oblique inverse, utilisez deux barres obliques inverses (\\). Exemples de caractères qui ne peuvent pas être affichés comme caractères littéraux : caractères de mise en forme de date et d’heure (a, c, d, h, m, n, p, q, s, t, w, y, / et :), caractères de mise en forme numérique (#, 0, %, E, e, virgule et point) et caractères de mise en forme de chaîne (@, &, <, > et !).
("ABC") Affiche la chaîne à l’intérieur des guillemets doubles (" ").

Formats de date et d’heure prédéfinis

Les formats date/heure prédéfinis suivants peuvent être spécifiés dans l’argument format_string. Quand vous utilisez des formats autres que ceux-ci, ils sont interprétés comme un format date/heure personnalisé :

Format Description
"General Date" Affiche une date et/ou une heure. Par exemple, 3/12/2008 11:07:31. L’affichage de la date est déterminé par les paramètres régionaux actuels de l’application.
"Long Date" ou "Medium Date" Affiche une date en fonction du format de date longue des paramètres régionaux actuels. Par exemple, Mercredi 12 mars 2008.
"Short Date" Affiche une date en fonction du format de date courte des paramètres régionaux actuels. Par exemple, 3/12/2008.
"Long Time" ou Affiche une heure en fonction du format d’heure longue des paramètres régionaux actuels, qui inclut généralement les heures, les minutes et les secondes. Par exemple, 11:07:31.
"Medium Time" Affiche une heure au format 12 heures. Par exemple, 11:07 AM.
"Short Time" Affiche une heure au format 24 heures. Par exemple, 11:07.

Formats date/heure personnalisés

Les caractères de format suivants peuvent être spécifiés dans l’argument format_string pour créer des formats date/heure personnalisés :

Caractère Description
(:) Séparateur d’heure. Pour certains paramètres régionaux, d’autres caractères peuvent être utilisés pour représenter le séparateur d’heure. Le séparateur d’heure sépare les heures, les minutes et les secondes lors de la mise en forme des valeurs d’heure. Le caractère réel utilisé comme séparateur d’heure dans le résultat mis en forme est déterminé par vos paramètres système.
(/) Séparateur de date. Pour certains paramètres régionaux, d’autres caractères peuvent être utilisés pour représenter le séparateur de date. Le séparateur de date sépare le jour, le mois et l’année lorsque les valeurs de date sont mises en forme. Le caractère réel utilisé comme séparateur de date dans le résultat mis en forme est déterminé par vos paramètres système.
(\) Barre oblique inverse. Affiche le caractère suivant sous forme de caractère littéral. De ce fait, il n’est pas interprété en tant que caractère de mise en forme.
(") Guillemet double. Le texte placé entre guillemets doubles est affiché. De ce fait, il n’est pas interprété en tant que caractères de mise en forme.
c Affiche la date sous la forme ddddd et l’heure sous la forme ttttt, dans cet ordre. Affiche uniquement les informations de date si le numéro de série de la date ne comporte pas de partie fractionnaire. Affiche uniquement les informations d’heure s’il n’y a pas de partie entière.
d Affiche le jour sous forme de nombre sans zéro non significatif (1-31).
jj Affiche le jour sous forme de nombre avec un zéro non significatif (01-31).
ddd Affiche le jour sous forme abrégée (Dim-Sam). Localisé.
dddd Affiche le jour sous forme de nom entier (Dimanche-Samedi). Localisé.
ddddd Affiche la date complète (jour, mois et année), conformément au format de date courte défini sur votre système. Le format de date courte par défaut est mm/dd/yyyy.
dddddd Affiche un numéro de série de date complète (jour, mois et année), conformément au paramètre de date longue reconnu par votre système. Le format de date longue par défaut est dddd, mmmm d, yyyy.
w Affiche le jour de la semaine sous la forme d’un nombre (de 1 pour dimanche à 7 pour samedi).
ww Affiche la semaine de l’année sous forme de nombre (1-54).
m Affiche le mois sous forme de nombre sans zéro non significatif (1-12). Si m suit immédiatement h ou hh, les minutes sont affichées à la place du mois.
MM Affiche le mois sous forme de nombre avec un zéro non significatif (01-12). Si mm suit immédiatement h ou hh, les minutes sont affichées à la place du mois.
mmm Affiche le mois sous forme abrégée (Jan-Déc). Localisé.
mmmm Affiche le mois sous forme de nom de mois complet (Janvier-Décembre). Localisé.
q Affiche le trimestre de l’année sous forme de nombre (1-4).
o Affiche le jour de l’année sous forme de nombre (1-366).
yy Affiche l’année sous forme de nombre à 2 chiffres (00-99).
aaaa Affiche l’année sous forme de nombre à 4 chiffres (100-9999).
h Affiche l’heure sous forme de nombre sans zéro non significatif (0-23).
hh Affiche l’heure sous forme de nombre avec un zéro non significatif (00-23).
n Affiche les minutes sous forme de nombre sans zéro non significatif (0-59).
nn Affiche les minutes sous forme de nombre avec un zéro non significatif (00-59).
s Affiche les secondes sous forme de nombre sans zéro non significatif (0-59).
ss Affiche les secondes sous forme de nombre avec un zéro non significatif (00-59).
ttttt Affiche l’heure complète (heures, minutes et secondes), dans une mise en forme qui reprend le séparateur horaire défini dans les paramètres horaires de votre système. Un zéro non significatif apparaît si l’option correspondante est sélectionnée et si l’heure est antérieure à 10:00 A.M. ou P.M. Le format d’heure par défaut est h:mm:ss.
AM/PM Utilisez l’horloge de 12 heures et affichez un AM en majuscules avec toute heure avant midi ; un PM en majuscules avec toute heure comprise entre midi et 23h59.
AM/PM Utilise l’horloge de 12 heures et affiche am en minuscules avec toute heure avant midi et pm en minuscules avec toute heure comprise entre midi et 23h59.
A/P Utilise l’horloge de 12 heures et affiche un « A » majuscule avec toute heure avant midi et un « P » majuscule avec toute heure comprise entre midi et 23h59.
A/P Utilise l’horloge de 12 heures et affiche un « a » minuscule avec toute heure avant midi et un « p » minuscule avec toute heure comprise entre midi et 23h59.
AMPM Utilise l’horloge de 12 heures et affiche le littéral de chaîne AM comme défini par votre système avec toute heure avant midi et le littéral de chaîne PM comme défini par votre système avec toute heure comprise entre midi et 23h59. AMPM peut être spécifié en majuscules ou en minuscules. La casse de la chaîne affichée correspond à celle de la chaîne définie par vos paramètres système. Le format par défaut est AM/PM. Si votre système est défini sur une horloge de 24 heures, la chaîne est généralement définie comme étant une chaîne vide.

Le format de date/heure utilise les paramètres régionaux de l’utilisateur actuel pour mettre en forme la chaîne. Prenons pour exemple de date le 25 juin 2020. Quand cette date est mise en forme avec la chaîne de format « m/d/yyyy », elle se présente comme ceci :

  • Les paramètres régionaux utilisateur sont États-Unis d’Amérique (en-US) : « 6/25/2020 »
  • Les paramètres régionaux sont Allemagne (de-DE) : « 6.25.2020 »

Exemples de formats date/heure personnalisés

Les exemples suivants utilisent la date/heure jeudi 25 juin 2020, à 13:23:45. L’Allemagne (de-DE) utilise un système de 24 heures. Elle n’a pas d’équivalent de la notation AM/PM.

Format Résultat (en-US) Résultat (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Thu Do
"dddd" Thursday Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" Thursday, June 25, 2020 Donnerstag, 25. Juni 2020
"w" 5 5
"ww" 26 26
"m" 6 6
"mm" 06 06
"mmm" Jun Jun
"mmmm" June Juni
"q" 2 2
"y" 177 177
"yy" 20 20
"yyyy" 2020 2020
"""Year"" yyyy" Year 2020 Year 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" 1:23:45 PM 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" 06/25/2020 01:23:45 PM 6.25.2020 01:23:45