Condividi tramite


FORMAT

Si applica a: Calcolo visivo misura tabella calcolata colonna calcolata

Converte un valore in testo in base al formato specificato.

Sintassi

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

Parametri

Termine Definizione
value Valore o espressione che restituisce un singolo valore.
format_string Stringa con il modello di formattazione.
locale_name (Facoltativo) Nome delle impostazioni locali da usare dalla funzione. I valori possibili sono stringhe accettate dalla funzione dell'API Windows LocaleNameToLCID().

Valore restituito

Stringa contenente value formattata come definito da format_string.

Nota

Se value è BLANK la funzione restituisce una stringa vuota.

Se format_string è BLANK, il valore viene formattato con un formato "Numero generico" o "Data generale" (in base al tipo di dati di value).

Osservazioni:

  • Le stringhe di formato predefinite usano la proprietà della lingua del modello durante la formattazione del risultato. Per impostazione predefinita, la proprietà della lingua del modello viene impostata in base alle impostazioni locali dell'utente del computer. Per i nuovi modelli di Power BI Desktop, la proprietà della lingua del modello può essere modificata in Opzioni > Impostazioni internazionali> Lingua del modello. Per Analysis Services, la lingua del modello è impostata in base alla proprietà Lingua definita inizialmente dall'istanza.

  • Le stringhe di formato supportate come argomento della funzione DAX FORMAT sono basate sulle stringhe di formato usate da Visual Basic (Automazione OLE), non sulle stringhe di formato usate da .NET Framework. Quindi si potrebbero verificare risultati imprevisti o errori se l'argomento non corrisponde alle stringhe di formato definite. Ad esempio, "p" come abbreviazione di "percentuale" non è supportato. Le stringhe fornite come argomento alla funzione FORMAT che non sono incluse nell'elenco di stringhe di formato predefinite vengono gestite come parte di una stringa di formato personalizzata o come un valore letterale stringa.

  • Per altre informazioni su come specificare le impostazioni locali con FORMAT, vedere questo video.

  • L'uso di FORMAT modifica il risultato di una misura in un tipo di dati di testo. Se il risultato della misura è originariamente di tipo numerico, con FORMAT la misura non può essere usata negli oggetti visivi in cui la sezione valori richiede un tipo di dati numerico, ad esempio con i grafici. In Power BI è possibile usare in alternativa stringhe di formato dinamico per le misure specificare una stringa di formato condizionale che gestisce il tipo di dati numerico della misura.

  • Questa funzione non è supportata per l'uso nella modalità DirectQuery se usata in colonne calcolate o nelle regole di sicurezza a livello di riga.

Esempi

Stringhe di formato

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

Restituisce:

12345.67 "General Number" visualizza il numero senza formattazione.

$12,345.67 "Currency" visualizza il numero con la formattazione delle impostazioni locali di valuta. Questo esempio mostra la formattazione predefinita della valuta degli Stati Uniti.

12345.67 "Fixed" visualizza almeno una cifra a sinistra del separatore decimale e due cifre a destra del separatore decimale.

12.345,67 "Standard" visualizza almeno una cifra a sinistra del separatore decimale e due cifre a destra del separatore decimale e include il separatore delle migliaia. Questo esempio mostra la formattazione predefinita dei numeri degli Stati Uniti.

1,234,567.00 % "Percent" visualizza il numero come percentuale (moltiplicato per 100) con la formattazione e il segno di percentuale a destra del numero separato da uno spazio singolo.

1.23E+04 "Scientific" visualizza il numero in notazione scientifica con due cifre decimali.

Datetime con locale_name facoltativo

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

Restituisce:

15/12/2020 12:30:59 Dove il mese precede il giorno e l’ora è nel formato di 12 ore.

12/15/2020 12:30:59 Dove il giorno precede il mese e l’ora è nel formato di 24 ore.

15/12/2020 12:30:59 Dove il mese precede il giorno e l’ora è nel formato di 24 ore. Poiché viene specificata una stringa di formato non dipendente dalle impostazioni locali, le impostazioni locali non vengono applicate e viene restituito il formato non locale.

Formati numerici predefiniti

È possibile specificare i formati numerici predefiniti seguenti nell'argomento format_string:

Formato Descrizione
"General Number" Visualizza il numero senza separatore delle migliaia.
"Currency" Visualizza il numero con separatore delle migliaia, se appropriato. Visualizza due cifre a destra del separatore decimale. L'output dipende dalle impostazioni locali del sistema.
"Fixed" Il numero viene visualizzato con almeno una cifra a sinistra e due a destra del separatore decimale.
"Standard" Visualizza il numero con il separatore decimale, almeno una cifra a sinistra e due cifre a destra del separatore decimale.
"Percent" Visualizza il numero moltiplicato per 100 con un segno di percentuale (%) aggiunto immediatamente a destra; visualizza sempre due cifre a destra del separatore decimale.
"Scientific" Usa la notazione scientifica standard, che specifica die cifre significative.
"Yes/No" Visualizza No se il numero è 0; in caso contrario, visualizza Sì.
"True/False" Visualizza False se il numero è 0; in caso contrario, visualizza True.
"On/Off" Visualizza Off se il numero è 0; in caso contrario, visualizza On.

Formati numerici personalizzati

Un'espressione di formato personalizzata per i numeri può includere da una a tre sezioni separate da punti e virgola. Se l'argomento della stringa di formato include un formato numerico predefinito, è consentita una sola sezione.

Se si usa Il risultato è
Una sola sezione L'espressione di formato viene applicata a tutti i valori.
Due sezioni La prima sezione viene applicata ai valori positivi e agli zeri, la seconda ai valori negativi.
Tre sezioni La prima sezione viene applicata ai valori positivi, la seconda ai valori negativi e la terza agli zeri.
"$#,##0;($#,##0)"

Se si specificano punti e virgola consecutivi, la sezione mancante viene definita usando il formato dei valori positivi. La stringa di formato seguente, ad esempio, visualizza i valori positivi e negativi usando il formato specificato nella prima sezione e visualizza "Zero" se il valore è zero.

"$#,##0"

Se si specificano punti e virgola consecutivi, la sezione mancante viene visualizzata usando il formato dei valori positivi.

Caratteri di formato numerico personalizzati

È possibile specificare i caratteri di formato numerico personalizzati seguenti nell'argomento format_string:

Carattere Descrizione
None Visualizzare il numero senza formattazione.
(0) Segnaposto della cifra. Visualizzare una cifra o uno zero. Se nell'espressione è presente una cifra nella posizione in cui il valore 0 viene visualizzato nella stringa di formato, visualizzarla. In caso contrario,visualizzare uno zero in tale posizione. Se il numero include meno cifre di quanti sono gli zeri (su entrambi i lati del separatore decimale) nell'espressione di formato, visualizzare zeri iniziali o finali. Se il numero ha più cifre a destra del separatore decimale del numero di zeri a destra del separatore decimale nell'espressione di formato, arrotondare il numero al numero di cifre decimali corrispondente al numero di zeri. Se il numero ha più cifre a sinistra del separatore decimale del numero di zeri a sinistra del separatore decimale nell'espressione di formato, visualizzare le cifre aggiuntive senza alcuna modifica.
(#) Segnaposto della cifra. Visualizzare una cifra o nessun elemento. Se nell'espressione è presente una cifra nella posizione di # nella stringa di formato, visualizzarla; in caso contrario, non visualizzare alcun elemento. Questo simbolo viene usato allo stesso modo del segnaposto 0 cifre, ad eccezione del fatto che gli zeri iniziali e finali non vengono visualizzati se il numero ha un numero di cifre uguale o inferiore al numero di caratteri # su entrambi i lati del separatore decimale nell'espressione di formato.
(.) Segnaposto decimale. In alcune impostazioni locali viene usata la virgola come separatore decimale. Il segnaposto decimale determina il numero di cifre visualizzate a sinistra e a destra del separatore decimale. Se l'espressione di formato contiene solo cancelletti a sinistra di questo simbolo, i numeri inferiori a 1 iniziano con un separatore decimale. Per visualizzare uno zero iniziale con i numeri frazionari, usare 0 come primo segnaposto di cifra a sinistra del separatore decimale. Il carattere effettivo usato come segnaposto decimale nell'output formattato dipende dal formato numerico riconosciuto dal sistema.
(%) Segnaposto percentuale. L'espressione viene moltiplicata per 100. Il carattere di percentuale (%) viene inserito nella posizione in cui compare nella stringa di formato.
(,) Separatore delle migliaia. In alcune impostazioni locali viene usato il punto come separatore delle migliaia. Il separatore delle migliaia separa le migliaia dalle centinaia all'interno di un numero con quattro o più posizioni a sinistra del separatore decimale. Se il formato include un separatore delle migliaia racchiuso da segnaposto di cifra (0 o #), il separatore delle migliaia viene usato in modo standard. Due separatori delle migliaia adiacenti o un separatore delle migliaia immediatamente a sinistra del separatore decimale (indipendentemente dal fatto che sia specificato un decimale) indica il "ridimensionamento del numero tramite divisione per 1000 con eventuale arrotondamento". Ad esempio, è possibile usare la stringa di formato "##0,," per rappresentare 100 milioni come 100. I numeri minori di 1 milione vengono visualizzati come 0. Due separatori delle migliaia adiacenti in una posizione diversa dalla posizione immediatamente a sinistra del separatore decimale vengono considerati semplicemente la specifica dell'utilizzo di un separatore delle migliaia. Il carattere effettivo usato come segnaposto delle migliaia nell'output formattato dipende dal formato numerico riconosciuto dal sistema.
(:) Separatore dell'ora. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore dell'ora. Il separatore dell'ora separa le ore, i minuti e i secondi quando vengono formattati i valori di ora. Il carattere effettivo usato come separatore dell'ora nell'output formattato è determinato dalle impostazioni di sistema.
(/) Separatore della data. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore della data. Il separatore di data separa il giorno, il mese e l'anno in cui vengono formattati i valori di data. Il carattere effettivo usato come separatore della data nell'output formattato è determinato dalle impostazioni di sistema.
(E- E+ e- e+) Formato scientifico. Se l'espressione di formato contiene almeno un segnaposto di cifra (0 oppure #) a destra di E-, E+, e- o e+, il numero viene visualizzato in formato scientifico e viene inserito E o e tra il numero e il relativo esponente. Il numero di segnaposti di cifra a destra determina il numero di cifre nell'esponente. Usare E- o e- per inserire un segno meno accanto agli esponenti negativi. Usare E+ o e+ per inserire un segno meno accanto agli esponenti negativi e un segno più accanto agli esponenti positivi.
- + $ ( ) Visualizzare un carattere letterale. Per visualizzare un carattere diverso da uno di quelli elencati, anteporvi una barra rovesciata (\) o racchiuderlo tra virgolette doppie (" ").
(\) Visualizzare il carattere successivo nella stringa di formato. Per visualizzare un carattere che ha un significato speciale come carattere letterale, farlo precedere da una barra rovesciata (\). La barra rovesciata non viene visualizzata. Utilizzare una barra rovesciata equivale a racchiudere il carattere successivo tra virgolette doppie. Per visualizzare una barra rovesciata, usare due barre rovesciate (\\). Esempi di caratteri che non possono essere visualizzati come caratteri letterali sono i caratteri di formattazione data e ora (a, c, d, h, m, n, p, q, s, t, w, y, /, e :), i caratteri di formattazione numerica (#, 0, %, E, e, virgola e punto) e i caratteri di formattazione delle stringhe (@, &<>, , e !).
("ABC") Visualizzare la stringa racchiusa tra virgolette doppie (" ").

Formati data/ora predefiniti

È possibile specificare i formati di data/ora predefiniti seguenti nell'argomento format_string. Quando si usano formati diversi da questi, vengono interpretati come formato di data/ora personalizzato:

Formato Descrizione
"General Date" Vengono visualizzate una data e/o un'ora. Ad esempio: 3/12/2008 11:07:31. La visualizzazione relativa alla data è determinata dal valore delle impostazioni cultura correnti dell'applicazione.
"Long Date" oppure "Medium Date" Visualizza una data in base al formato di data estesa delle impostazioni cultura correnti. Ad esempio: mercoledì 12 marzo 2008.
"Short Date" Visualizza una data in base al formato di data breve delle impostazioni cultura correnti. Ad esempio: 3/12/2008.
"Long Time" oppure Visualizza un'ora in base al formato ora estesa delle impostazioni cultura correnti; in genere comprende ore, minuti, secondi. Ad esempio: 11:07:31.
"Medium Time" Visualizza l'ora nel formato 12 ore. Ad esempio: 11:07.
"Short Time" Visualizza l'ora nel formato 24 ore. Ad esempio: 23:07.

Formati di data/ora personalizzati

È possibile specificare i caratteri di formato seguenti in format_string per creare formati di data/ora personalizzati:

Carattere Descrizione
(:) Separatore dell'ora. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore dell'ora. Il separatore dell'ora separa le ore, i minuti e i secondi quando vengono formattati i valori di ora. Il carattere effettivo usato come separatore dell'ora nell'output formattato è determinato dalle impostazioni di sistema.
(/) Separatore della data. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore della data. Il separatore di data separa il giorno, il mese e l'anno in cui vengono formattati i valori di data. Il carattere effettivo usato come separatore della data nell'output formattato è determinato dalle impostazioni di sistema.
(\) Barra rovesciata. Visualizza il carattere successivo come carattere letterale. Non viene quindi interpretato come carattere di formattazione.
(") Virgolette. Viene visualizzato il testo racchiuso tra virgolette. Non viene quindi interpretato come carattere di formattazione.
c Visualizza la data come ddddd e l'ora come ttttt, in questo ordine. Visualizzare solo le informazioni sulla data se non esiste alcuna parte frazionaria per il numero seriale della data. Visualizzare solo le informazioni sull'ora se non esiste una parte intera.
g Visualizza il giorno sotto forma di numero senza zero iniziale (1-31).
dd Visualizza il giorno sotto forma di numero con uno zero iniziale (01-31).
ddd Visualizza il nome abbreviato del giorno (lun-dom). Localizzato.
dddd Visualizza il nome completo del giorno (lunedì-domenica). Localizzato.
ddddd Visualizzare la data completa, inclusi il giorno, il mese e l'anno, formattata in base all'impostazione del formato di data breve del sistema in uso. Il formato di data breve predefinito è mm/dd/yyyy.
dddddd Visualizzare un numero seriale di data sotto forma di una data completa, inclusi il giorno, il mese e l'anno, formattata in base all'impostazione del formato di data estesa riconosciuta dal sistema in uso. Il formato di data estesa predefinito è dddd, mmmm d, yyyy.
w Visualizzare il giorno della settimana sotto forma di numero (1 corrisponde a domenica e 7 a sabato).
ww Visualizza la settimana dell'anno sotto forma di numero (1-54).
m Visualizza il mese sotto forma di numero senza zero iniziale (1-12). Se è presente m immediatamente dopo h o hh, vengono visualizzati i minuti al posto del mese.
mm Visualizza il mese sotto forma di numero con uno zero iniziale (01-12). Se è presente mm immediatamente dopo h o hh, vengono visualizzati i minuti al posto del mese.
mmm Visualizza il mese sotto forma di abbreviazione (gen-dic). Localizzato.
mmmm Visualizza il mese sotto forma di nome completo (gennaio-dicembre). Localizzato.
q Visualizza il trimestre dell'anno sotto forma di numero (1-4).
y Visualizza il giorno dell'anno sotto forma di numero (1-366).
yy Visualizza l'anno sotto forma di numero a 2 cifre (00-99).
yyyy Visualizza l'anno sotto forma di numero a 4 cifre (100-9999).
h Visualizza l'ora sotto forma di numero senza zero iniziale (0-23).
hh Visualizza l'ora sotto forma di numero con uno zero iniziale (00-23).
n Visualizza i minuti sotto forma di numero senza zero iniziale (0-59).
nn Visualizza i minuti sotto forma di numero con uno zero iniziale (00-59).
s Visualizza i secondi sotto forma di numero senza zero iniziale (0-59).
ss Visualizza i secondi sotto forma di numero con uno zero iniziale (00-59).
ttttt Visualizzare l'ora completa, inclusi ora, minuti e secondi, formattata usando il separatore dell'ora definito dal formato di ora riconosciuto dal sistema in uso. Viene visualizzato uno zero iniziale se è selezionata l'opzione relativa allo zero iniziale e l'ora è anteriore alle 10.00 del mattutino o della sera. Il formato di ora predefinito è h:mm:ss.
AM/PM Usare il formato a 12 ore e visualizzare AM in lettere maiuscole per le ore antecedenti a mezzogiorno; visualizzare PM in lettere maiuscole per le ore tra mezzogiorno e 11:59 P.M.
am/pm Usare il formato a 12 ore e visualizzare AM in lettere minuscole per le ore antecedenti a mezzogiorno; visualizzare PM in lettere minuscole per le ore tra mezzogiorno e 11:59 P.M.
A/P Usare il formato a 12 ore e visualizzare una A maiuscola per le ore antecedenti a mezzogiorno; visualizzare una P maiuscola per le ore tra mezzogiorno e 11:59 P.M.
a/p Usare il formato a 12 ore e visualizzare una A minuscola per le ore antecedenti a mezzogiorno; visualizzare una P minuscola per le ore tra mezzogiorno e 11:59 P.M.
AMPM Usare il formato a 12 ore e visualizzare il valore letterale stringa AM come definito dal sistema per le ore antecedenti a mezzogiorno; visualizzare il valore letterale stringa PM come definito dal sistema per le ore tra mezzogiorno e 11:59 P.M. AMPM può essere in lettere maiuscole o minuscole, ma la combinazione maiuscole/minuscole della stringa visualizzata corrisponderà alla stringa definita dalle impostazioni di sistema. Il formato predefinito è AM/PM. Se il sistema è impostato su un formato a 24 ore, la stringa viene in genere impostata su una stringa vuota.

Per la formattazione di data/ora vengono usate le impostazioni locali correnti dell'utente per formattare la stringa. Considerare ad esempio la data 25 giugno 2020. Quando viene formattata con la stringa di formato "m/d/yyyy", il risultato sarà:

  • Le impostazioni locali dell'utente corrispondono a Stati Uniti d'America (en-US): "6/25/2020"
  • Le impostazioni locali dell'utente corrispondono a Germania (de-DE): "6.25.2020"

Esempi di formato di data/ora personalizzato

Gli esempi seguenti usano come data/ora giovedì 25 giugno 2020 alle 13:23:45. Germania (de-DE) usa un sistema a 24 ore. Non esiste un equivalente di AM/PM.

Formatta Risultato (en-US) Risultato (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Gio Procedura consigliata
"dddd" giovedì 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" Giu Giu
"mmmm" Giugno 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