Condividi tramite


FORMAT

Si applica a:colonna calcolatatabella calcolataMeasurecalcolo visivo

Converte un value in testo in base al formatspecificato.

Sintassi

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

Parametri

Termine Definizione
value Espressione valueor che restituisce un singolo value.
format_string Stringa con il modello di formattazione.
locale_name (Facoltativo) Nome delle impostazioni locali da usare dalla funzione. Le possibili values sono stringhe accettate dalla funzione API di Windows LocaleNameToLCID().

Restituisce value

Stringa contenente value formattata come definito da format_string.

Nota

If value è BLANK, la funzione restituisce una stringa vuota.

If format_string è BLANK, l'value viene formattato con un or "Numero generale" or "Dategenerale " format (in base al tipo di dati value).

Osservazioni

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

  • Le stringhe di format supportate come argomento per la funzione DAXFORMAT sono basate sulle stringhe format usate da Visual Basic (automazione OLE), not nelle stringhe format usate da .NET Framework. Pertanto, è possibile ottenere risultati imprevisti or un errorif l'argomento non corrisponde ad alcuna stringa di format definita. Ad esempio, "p" come abbreviazione di "Percent" non è supportato. Le stringhe fornite come argomento per la funzione FORMAT che non sono incluse nell'elenco di stringhe predefinite format vengono gestite come parte di una stringa di format personalizzata, or come valore letterale stringa.

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

  • L'uso di FORMAT modifica un risultato measure in un tipo di dati di testo. If il risultato del measure è originariamente di tipo numerico, quindi con FORMAT, l'measure non può essere usato negli oggetti visivi in cui la sezione values richiede un tipo di dati numerico, ad esempio con i grafici. In Power BI è possibile usare in alternativa stringhe format dinamiche per le misure specificare una stringa di format condizionale che gestisce il tipo di dati numerico del measure.

  • Questa funzione è not supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate or regole di sicurezza a livello di riga.

Esempi

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

Rendiconto:

12345.67 "Numero generale" visualizza il numero senza formattazione.

$ 12.345.67 "Currency" visualizza il numero con la formattazione delle impostazioni locali currency. Il sample qui mostra la formattazione predefinita degli Stati Uniti currency.

12345.67 "Fixed" visualizza almeno una cifra al left del separatore decimale and due cifre al right del separatore decimale.

12.345.67 "Standard" visualizza almeno una cifra alla left del separatore decimale and due cifre al right del separatore decimale, and include separatori delle migliaia. Il sample qui mostra la formattazione predefinita dei numeri degli Stati Uniti.

1.234.567.00 % "Percent" visualizza il numero come percentuale (moltiplicato per 100) con formattazione and percentuale sign alla right del numero separato da un singolo spazio.

1,23E+04 "Scientifico" visualizza il numero nella 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" )

Rendiconto:

15/12/2020 12:30:59 Dove month precede dayandtime è 12-hourformat.

12/15/2020 12:30:59 Dove day precede monthandtime è 24-hourformat.

15/12/2020 12:30:59 Dove month precede dayandtime è 24-hourformat. Poiché viene specificata una stringa di format non dipendente dalle impostazioni locali, le impostazioni locali vengono applicate notand viene restituita la format non locale.

Formati numerici predefiniti

Nell'argomento format_string è possibile specificare i formati numerici predefiniti seguenti:

Format Descrizione
"General Number" Visualizza il numero senza separatori di migliaia.
"Currency" Visualizza il numero con separatori delle migliaia, if appropriato; visualizza due cifre nella right del separatore decimale. L'output si basa sulle impostazioni locali di sistema.
"Fixed" Visualizza almeno una cifra al leftand due cifre alla right del separatore decimale.
"Standard" Visualizza il numero con separatori delle migliaia, almeno una cifra della leftand due cifre al right del separatore decimale.
"Percent" Visualizza il numero moltiplicato per 100 con una percentuale sign (%) accodato immediatamente al right; visualizza sempre due cifre alla right del separatore decimale.
"Scientific" Usa la notazione scientifica standard, fornendo due cifre significative.
"Yes/No" Visualizza Nessun numero if è 0; in caso contrario, visualizza Sì.
"True/False" Visualizza Falseif numero è 0; in caso contrario, visualizza True.
"On/Off" Visualizza Disattivato if numero è 0; in caso contrario, visualizza Sì.

Formati numerici personalizzati

Un'espressione format personalizzata per i numeri può avere da una a tre sezioni separate da punto e virgola. If l'argomento stringa formatcontains uno dei formati numerici denominati, è consentita una sola sezione.

If si usa Il risultato è
Solo una sezione L'espressione format si applica a allvalues.
Due sezioni La sezione first si applica agli zeri di valuesand positivi, il second a valuesnegativo.
Tre sezioni La sezione first si applica ai valuespositivi , il second a valuesnegativo , and il terzo agli zeri.
"$#,##0;($#,##0)"

If si includono punti e virgola, la sezione mancante viene definita usando il format del valuepositivo. Nell'format seguente, ad esempio, vengono visualizzati values positivi and negativi usando il format nella sezione firstand viene visualizzato "Zero" if il value è zero.

"$#,##0"

If si includono punti e virgola con nessun punto e virgola, la sezione mancante viene visualizzata usando il format del valuepositivo.

Caratteri numerici personalizzati format

Nell'argomento format_string è possibile specificare i seguenti caratteri numerici personalizzati format:

Carattere Descrizione
None Visualizzare il numero senza formattazione.
(0) Segnaposto cifre. Visualizzare una cifra or zero. If l'espressione ha una cifra nella posizione in cui il valore 0 viene visualizzato nella stringa format, visualizzarlo; in caso contrario, visualizzare uno zero in tale posizione.If il numero ha un numero inferiore di zeri (su entrambi i lati del decimale) nell'espressione format, visualizzare gli zeri finali or iniziali. If il numero include più cifre per il right del separatore decimale di quanti ne siano presenti zeri al right del separatore decimale nell'espressione format, round il numero a quante cifre decimali siano presenti zeri. If il numero include più cifre per il left del separatore decimale di quanti siano presenti zeri al left del separatore decimale nell'espressione format, visualizzare le cifre aggiuntive senza alcuna modifica.
(#) Segnaposto cifre. Visualizzare una cifra or nulla. If l'espressione ha una cifra nella posizione in cui il file # viene visualizzato nella stringa format, visualizzarlo; in caso contrario, non visualizzare nulla in tale posizione. Questo simbolo funziona come il segnaposto a 0 cifre, except che gli zeri finali and iniziali non vengono visualizzati if il numero ha lo stesso or meno cifre rispetto ai caratteri # su entrambi i lati del separatore decimale nell'espressione format.
(.) Segnaposto decimale. In alcune impostazioni locali viene usata una virgola come separatore decimale. Il segnaposto decimale determina il numero di cifre visualizzate nella leftandright del separatore decimale. If l'espressione formatcontains solo segni numerici al left di questo simbolo, i numeri inferiori a 1 iniziano con un separatore decimale. Per visualizzare uno zero iniziale visualizzato con numeri frazionari, utilizzare 0 come segnaposto di first cifre per il left del separatore decimale. Il carattere effettivo utilizzato come segnaposto decimale nell'output formattato dipende dal numero Format riconosciuto dal sistema.
(%) Segnaposto percentuale. L'espressione viene moltiplicata per 100. Il carattere percentuale (%) viene inserito nella posizione in cui viene visualizzato nella stringa format.
(,) Separatore delle migliaia. In alcune impostazioni locali, un punto viene usato come separatore delle migliaia. Il separatore delle migliaia separa migliaia da centinaia all'interno di un numero con quattro or più posizioni al left del separatore decimale. Viene specificato l'uso standard del separatore delle migliaia ifformatcontains un separatore delle migliaia racchiuso tra segnaposto cifre (0or#). Due separatori di migliaia adiacenti or un separatore di migliaia immediatamente al left del separatore decimale (se ornot viene specificato un separatore decimale) significa "ridimensionare il numero dividendo per 1000, arrotondamento in base alle esigenze". Ad esempio, è possibile usare la stringa format "##0", per rappresentare 100 milioni come 100. I numeri inferiori a 1 milione vengono visualizzati come 0. Due separatori di migliaia adiacenti in qualsiasi posizione diversa da immediatamente alla left del separatore decimale vengono considerati semplicemente come specificare l'uso di un separatore delle migliaia. Il carattere effettivo usato come separatore delle migliaia nell'output formattato dipende dal numero Format riconosciuto dal sistema.
(:) Time separatore. In alcune impostazioni locali è possibile usare altri caratteri per rappresentare il separatore time. Il separatore time separa le ore, i minuti and secondi quando timevalues vengono formattati. Il carattere effettivo usato come separatore time nell'output formattato è determinato dalle impostazioni di sistema.
(/) Date separatore. In alcune impostazioni locali è possibile usare altri caratteri per rappresentare il separatore date. Il separatore date separa il day, month, andyear quando datevalues vengono formattati. Il carattere effettivo usato come separatore date nell'output formattato è determinato dalle impostazioni di sistema.
(E- E+ e- e+) formatscientifico . If'espressione formatcontains almeno un segnaposto di cifra (0or#) al right di E-, E+, e-, or e+, il numero viene visualizzato in formatand scientifico E or e viene inserito tra il numero and il relativo esponente. Il numero di segnaposto di cifre nella right determina il numero di cifre nell'esponente. Utilizzare E- or e- per inserire un signnext meno a esponenti negativi. Utilizzare E+ or e+ per posizionare un signnext meno a esponenti negativi and un plus signnext a esponenti positivi.
- + $ ( ) Visualizzare un carattere letterale. Per visualizzare un carattere diverso da uno di quelli elencati, precederlo con una barra rovesciata (\) or racchiuderla tra virgolette doppie (" ").
(\\) Visualizzare il carattere next nella stringa format. Per visualizzare un carattere con un significato speciale come carattere letterale, precederlo con una barra rovesciata (\). La barra rovesciata non viene visualizzata. L'uso di una barra rovesciata equivale a racchiudere il carattere next tra virgolette doppie. Per visualizzare una barra rovesciata, utilizzare due barre rovesciata (\\). Esempi di caratteri che non possono essere visualizzati come caratteri letterali sono la date-formattazione andtimecaratteri di formattazione (a, c, d, h, m, n, p, q, s, t, w, y, /, and :), caratteri di formattazione numerica (#, 0, %, E, e, virgola, punto and), and caratteri di formattazione di stringa (@, &, <, >, and !).
("ABC") Visualizzare la stringa tra virgolette doppie (" ").

Formati di date/time predefiniti

Nell'argomento format_string è possibile specificare i formati predefiniti date/time seguenti. Quando si usano formati diversi da questi, vengono interpretati come un datepersonalizzato/timeformat:

Format Descrizione
"General Date" Visualizza un dateand/ortime. Ad esempio, 12/3/2008 11:07:31. Date visualizzazione è determinata dalle impostazioni cultura correnti dell'applicazione value.
"Long Date" or "Medium Date" Visualizza un date in base al lungo dateformatdelle impostazioni cultura correnti. Ad esempio, mercoledì 12 marzo 2008.
"Short Date" Visualizza un date usando l'dateformatbreve delle impostazioni cultura correnti. Ad esempio, 12/3/2008.
"Long Time" or Visualizza un time usando l'timeformatdelle impostazioni cultura correnti; in genere include ore, minuti, secondi. Ad esempio, 11:07:31.
"Medium Time" Visualizza un time in 12 hourformat. Ad esempio, alle 11:07.
"Short Time" Visualizza un time in 24 hourformat. Ad esempio, 11:07.

Formati di date/time personalizzati

Nella format_string è possibile specificare i caratteri format seguenti per creare formati di date/time personalizzati:

Carattere Descrizione
(:) Time separatore. In alcune impostazioni locali è possibile usare altri caratteri per rappresentare il separatore time. Il separatore time separa le ore, i minuti and secondi quando timevalues vengono formattati. Il carattere effettivo usato come separatore time nell'output formattato è determinato dalle impostazioni di sistema.
(/) Date separatore. In alcune impostazioni locali è possibile usare altri caratteri per rappresentare il separatore date. Il separatore date separa il day, month, andyear quando datevalues vengono formattati. Il carattere effettivo usato come separatore date nell'output formattato è determinato dalle impostazioni di sistema.
(\) Barra rovesciata. Visualizza il carattere next come carattere letterale. Quindi, è not interpretato come carattere di formattazione.
(") Virgolette doppie. Viene visualizzato il testo racchiuso tra virgolette doppie. Quindi, è not interpretato come caratteri di formattazione.
c Visualizzare il date come dddddand visualizzare il time come ttttt, in tale ordine. Visualizza solo date informazioni if non esiste alcuna parte frazionaria per il numero di serie date; visualizzare solo time informazioni if non è presente alcuna parte intera.
d Visualizzare il day come numero senza zero iniziale (1-31).
dd Visualizzare il day come numero con zero iniziale (01-31).
ddd Visualizzare il day come abbreviazione (Sun-Sat). Localizzato.
dddd Visualizzare il day come nome completo (Sunday-Saturday). Localizzato.
ddddd Visualizzare il date come date completo (incluso day, month, andyear), formattato in base all'impostazione dateformat breve del sistema. Il dateformat breve predefinito è mm/dd/yyyy.
dddddd Visualizzare un numero di serie date come date completo (incluso day, month, andyear) formattato in base all'impostazione date lunga riconosciuta dal sistema. Il dateformat lungo predefinito è dddd, mmmm d, yyyy.
w Visualizzare il day della settimana come numero (da 1 per domenica a 7 per sabato).
ww Visualizzare la settimana del year come numero (1-54).
m Visualizzare il month come numero senza zero iniziale (1-12). If m segue immediatamente horhh, minute anziché il month visualizzato.
mm Visualizzare il month come numero con zero iniziale (01-12). If mm segue immediatamente horhh, minute anziché il month visualizzato.
mmm Visualizzare il month come abbreviazione (Jan-Dec). Localizzato.
mmmm Visualizzare il month come nome completo month (January-December). Localizzato.
q Visualizzare il quarter del year come numero (1-4).
y Visualizzare la day del year come numero (1-366).
yy Visualizzare il year come numero a 2 cifre (00-99).
yyyy Visualizzare il year come numero a 4 cifre (100-9999).
h Visualizzare il hour come numero senza zero iniziale (0-23).
hh Visualizzare il hour come numero con zero iniziale (00-23).
n Visualizzare il minute come numero senza zero iniziale (0-59).
nn Visualizzare il minute come numero con zero iniziale (00-59).
s Visualizzare il second come numero senza zero iniziale (0-59).
ss Visualizzare il second come numero con zero iniziale (00-59).
ttttt Visualizzare un time come time completo (incluso hour, minute, andsecond), formattato usando il separatore time definito dal timeformat riconosciuto dal sistema. Viene visualizzato uno zero iniziale if viene selezionata l'opzione iniziale zero and il time è prima delle 10:00 or Il timeformat predefinito è h:mm:ss.
AM/PM Usa l'orologio da 12 ahourand visualizzare un AM maiuscolo con qualsiasi hour prima di mezzogiorno; visualizzare un PM maiuscolo con qualsiasi hour tra mezzogiorno and 11:59
am/pm Usa l'orologio da 12 ahourand visualizzare un AM minuscolo con qualsiasi hour prima di mezzogiorno; visualizzare un PM minuscolo con qualsiasi hour tra mezzogiorno and 11:59
A/P Utilizzare l'orologio da 12 ahourand visualizzare una A maiuscola con qualsiasi hour prima di mezzogiorno; visualizzare un P maiuscolo con qualsiasi hour tra mezzogiorno and 11:59
a/p Utilizzare l'orologio da 12 ahourand visualizzare una A minuscola con qualsiasi hour prima di mezzogiorno; visualizzare un P minuscolo con qualsiasi hour tra mezzogiorno and 11:59
AMPM Usa l'orologio da 12 ahourand visualizzare il valore letterale stringa AM come definito dal sistema con qualsiasi hour prima di mezzogiorno; visualizzare il valore letterale stringa PM come definito dal sistema con qualsiasi hour tra mezzogiorno and 11:59 P.M. AMPM può essere sia maiuscolo or minuscolo, ma il caso della stringa visualizzata corrisponde alla stringa come definito dalle impostazioni di sistema. Il format predefinito è AM/PM. If il sistema è impostato su 24hour clock, la stringa viene in genere impostata su una stringa vuota.

Date/time formattazione usa le impostazioni locali dell'utente corrente per format la stringa. Si consideri, ad esempio, il date 25 giugno 2020. Quando viene formattato usando format stringa "m/d/yyyy", sarà:

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

Esempi di date/timeformat personalizzati

Gli esempi seguenti usano il date/time giovedì 25 giugno 2020 alle 13:45. Germania (de-DE) utilizza un sistema di 24hour. Non esiste un equivalente di AM/PM.

Format 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 Fare
"dddd" Giovedì Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" Giovedì 25 giugno 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" 25/06/2020 01:23:45 PM 6.25.2020 01:23:45