Compartir vía


FORMAT

Se aplica a:columna Calculadatabla calculadaMedidacálculo visual

Convierte un valor en texto según el formato especificado.

Sintaxis

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

Parámetros

Término Definición
value Valor o expresión que se evalúa como un valor único.
format_string Cadena con la plantilla de formato.
locale_name (Opcional) Nombre de la configuración regional que va a usar la función . Los valores posibles son cadenas aceptadas por la función de API de Windows LocaleNameToLCID().

Valor devuelto

Cadena que contiene value con formato definido por format_string.

Nota

Si value es BLANK, la función devuelve una cadena vacía.

Si format_string es BLANK, el valor tiene el formato "Número general" o "Fecha general" (según value tipo de datos).

Observaciones

  • Las cadenas de formato predefinidas usan la propiedad de referencia cultural del modelo al dar formato al resultado. De forma predeterminada, la propiedad de referencia cultural del modelo se establece según la configuración regional del usuario del equipo. Para los nuevos modelos de Power BI Desktop, la propiedad cultural del modelo se puede cambiar en Opciones > Configuración regional > Lenguaje modelo. Para Analysis Services, la referencia cultural del modelo se establece según la propiedad Language definida inicialmente por la instancia.

  • Las cadenas de formato admitidas como argumento para la función DAXFORMAT se basan en las cadenas de formato usadas por Visual Basic (Automatización OLE), no en las cadenas de formato usadas por .NET Framework. Por lo tanto, puede obtener resultados inesperados o un error si el argumento no coincide con ninguna cadena de formato definida. Por ejemplo, no se admite "p" como abreviatura de "Percent". Las cadenas que se proporcionan como argumento para la función FORMAT que no se incluyen en la lista de cadenas de formato predefinidas se controlan como parte de una cadena de formato personalizado o como literal de cadena.

  • Para obtener más información sobre cómo especificar una configuración regional con FORMAT, consulte este vídeo .

  • El uso de FORMAT cambia un resultado de medida a un tipo de datos de texto. Si el resultado de la medida es originalmente de tipo de datos numérico, con FORMAT, la medida no se puede usar en los objetos visuales donde la sección de valores requiere un tipo de datos numérico, como con gráficos. En Power BI, también puede usar cadenas de formato dinámico para medidas especificar una cadena de formato condicional que mantenga el tipo de datos numérico de la medida.

  • Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).

Ejemplos

Formato de cadenas

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

Devuelve:

12345.67 "Número general" muestra el número sin formato.

$12,345,67 "Moneda" muestra el número con el formato de configuración regional de moneda. En este ejemplo se muestra el formato predeterminado de moneda de Estados Unidos.

12345.67 "Fixed" muestra al menos un dígito a la izquierda del separador decimal y dos dígitos a la derecha del separador decimal.

12.345.67 "Estándar" muestra al menos un dígito a la izquierda del separador decimal y dos dígitos a la derecha del separador decimal e incluye separadores de miles. En este ejemplo se muestra el formato predeterminado de números de Estados Unidos.

1.234.567.00 % "Porcentaje" muestra el número como un porcentaje (multiplicado por 100) con formato y el signo de porcentaje situado a la derecha del número separado por un solo espacio.

1.23E+04 "Científico" muestra el número en notación científica con dos dígitos decimales.

Datetime con locale_name opcionales

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

Devuelve:

12/15/2020 12:30:59 p.m. Donde mes precede al día y hora es formato de 12 horas.

15/12/2020 12:30:59 Where day precede month and time is 24-hour format.

12/15/2020 12:30:59 Donde mes precede al día y la hora es de 24 horas. Dado que se especifica una cadena de formato dependiente no regional, no se aplica la configuración regional y se devuelve el formato no regional.

Formatos numéricos predefinidos

Los siguientes formatos numéricos predefinidos se pueden especificar en el argumento format_string:

Format Descripción
"General Number" Muestra el número sin separadores de miles.
"Currency" Muestra el número con separadores de miles, si procede; muestra dos dígitos a la derecha del separador decimal. La salida se basa en la configuración regional del sistema.
"Fixed" Muestra al menos un dígito a la izquierda y dos dígitos a la derecha del separador decimal.
"Standard" Muestra el número con separadores de miles, al menos un dígito a la izquierda y dos dígitos a la derecha del separador decimal.
"Percent" Muestra el número multiplicado por 100 con un signo de porcentaje (%) anexado inmediatamente a la derecha; siempre muestra dos dígitos a la derecha del separador decimal.
"Scientific" Usa notación científica estándar, proporcionando dos dígitos significativos.
"Yes/No" Muestra No si el número es 0; de lo contrario, muestra Sí.
"True/False" Muestra False si el número es 0; de lo contrario, muestra True.
"On/Off" Muestra Desactivado si el número es 0; De lo contrario, se muestra Activado.

Formatos numéricos personalizados

Una expresión de formato personalizado para números puede tener de una a tres secciones separadas por punto y coma. Si el argumento de cadena de formato contiene uno de los formatos numéricos con nombre, solo se permite una sección.

Si usa El resultado es
Solo una sección La expresión de formato se aplica a todos los valores.
Dos secciones La primera sección se aplica a valores positivos y ceros, el segundo a valores negativos.
Tres secciones La primera sección se aplica a valores positivos, el segundo a valores negativos y el tercero a ceros.
"$#,##0;($#,##0)"

Si incluye punto y coma sin nada entre ellos, la sección que falta se define con el formato del valor positivo. Por ejemplo, el siguiente formato muestra valores positivos y negativos con el formato en la primera sección y muestra "Cero" si el valor es cero.

"$#,##0"

Si incluye punto y coma sin nada entre ellos, la sección que falta se muestra con el formato del valor positivo.

Caracteres de formato numérico personalizado

Los siguientes caracteres de formato numérico personalizado se pueden especificar en el argumento format_string:

Carácter Descripción
Ninguno Muestra el número sin formato.
(0) Marcador de posición de dígitos. Muestra un dígito o un cero. Si la expresión tiene un dígito en la posición donde aparece el 0 en la cadena de formato, mostrarlo; De lo contrario, muestra un cero en esa posición. Si el número tiene menos dígitos que ceros (en cualquiera de los lados del decimal) en la expresión de formato, muestre ceros iniciales o finales. Si el número tiene más dígitos a la derecha del separador decimal que ceros a la derecha del separador decimal en la expresión de formato, redondea el número a tantas posiciones decimales como ceros. Si el número tiene más dígitos a la izquierda del separador decimal que hay ceros a la izquierda del separador decimal en la expresión de formato, muestre los dígitos adicionales sin modificaciones.
(#) Marcador de posición de dígitos. Muestra un dígito o nada. Si la expresión tiene un dígito en la posición donde aparece el # en la cadena de formato, mostrarlo; de lo contrario, no muestra nada en esa posición. Este símbolo funciona como el marcador de posición de 0 dígitos, excepto que los ceros iniciales y finales no se muestran si el número tiene los mismos o menos dígitos que los caracteres # en cualquiera de los lados del separador decimal en la expresión de formato.
(.) Marcador de posición decimal. En algunas configuraciones regionales, se usa una coma como separador decimal. El marcador de posición decimal determina cuántos dígitos se muestran a la izquierda y a la derecha del separador decimal. Si la expresión de formato contiene solo signos numéricos a la izquierda de este símbolo, los números menores que 1 comienzan con un separador decimal. Para mostrar un cero inicial mostrado con números fraccionarios, use 0 como marcador de posición de primer dígito a la izquierda del separador decimal. El carácter real que se usa como marcador de posición decimal en la salida con formato depende del formato de número reconocido por el sistema.
(%) Marcador de posición de porcentaje. La expresión se multiplica por 100. El carácter de porcentaje (%) se inserta en la posición donde aparece en la cadena de formato.
(,) Separador de miles. En algunas configuraciones regionales, se usa un punto como separador de miles. El separador de miles separa miles de cientos dentro de un número que tiene cuatro o más lugares a la izquierda del separador decimal. Se especifica el uso estándar del separador de miles si el formato contiene un separador de miles rodeado de marcadores de posición de dígitos (0 o #). Dos separadores de miles adyacentes o un separador de miles inmediatamente a la izquierda del separador decimal (si se especifica o no un decimal) significa "escalar el número dividiéndolo en 1000, redondeando según sea necesario". Por ejemplo, puede usar la cadena de formato "##0", para representar 100 millones como 100. Los números menores de 1 millón se muestran como 0. Dos separadores de miles adyacentes en cualquier posición que no sea inmediatamente a la izquierda del separador decimal se tratan simplemente como especificar el uso de un separador de miles. El carácter real que se usa como separador de miles en la salida con formato depende del formato de número reconocido por el sistema.
(:) Separador de tiempo. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de tiempo. El separador de tiempo separa horas, minutos y segundos cuando se da formato a los valores de hora. El carácter real que se usa como separador de hora en la salida con formato viene determinado por la configuración del sistema.
(/) Separador de fecha. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de fecha. El separador de fecha separa el día, el mes y el año en que se da formato a los valores de fecha. El carácter real que se usa como separador de fecha en la salida con formato viene determinado por la configuración del sistema.
(E- E+ e- e+) Formato científico. Si la expresión de formato contiene al menos un marcador de posición de dígitos (0 o #) a la derecha de E-, E+, e-o e+, el número se muestra en formato científico y E o e se inserta entre el número y su exponente. El número de marcadores de posición de dígitos a la derecha determina el número de dígitos del exponente. Use E- o e- para colocar un signo menos junto a exponentes negativos. Use E+ o e+ para colocar un signo menos junto a exponentes negativos y un signo más junto a exponentes positivos.
- + $ ( ) Muestra un carácter literal. Para mostrar un carácter distinto de uno de los enumerados, precedítelo con una barra diagonal inversa (\) o encierre entre comillas dobles (" ").
(\\) Muestra el siguiente carácter en la cadena de formato. Para mostrar un carácter que tiene un significado especial como carácter literal, precedítelo con una barra diagonal inversa (\). No se muestra la barra diagonal inversa. El uso de una barra diagonal inversa es el mismo que incluir el siguiente carácter entre comillas dobles. Para mostrar una barra diagonal inversa, use dos barras diagonales inversas (\\). Algunos ejemplos de caracteres que no se pueden mostrar como caracteres literales son el formato de fecha y los caracteres de formato de hora (a, c, d, h, m, n, p, q, s, t, w, y, /, y :), los caracteres de formato numérico (#, 0, %, E, e, coma y punto) y los caracteres de formato de cadena (@, &, <, >, y !).
("ABC") Mostrar la cadena entre comillas dobles (" ").

Formatos predefinidos de fecha y hora

Los siguientes formatos predefinidos de fecha y hora se pueden especificar en el argumento format_string. Cuando se usan formatos distintos de estos, se interpretan como formato personalizado de fecha y hora:

Formato Descripción
"General Date" Muestra una fecha o hora. Por ejemplo, 12/3/2008 11:07:31 AM. La presentación de fechas viene determinada por el valor de referencia cultural actual de la aplicación.
"Long Date" o "Medium Date" Muestra una fecha según el formato de fecha larga de la referencia cultural actual. Por ejemplo, miércoles, 12 de marzo de 2008.
"Short Date" Muestra una fecha con el formato de fecha corta de la referencia cultural actual. Por ejemplo, 12/3/2008.
"Long Time" o Muestra una hora con el formato de tiempo largo de la referencia cultural actual; normalmente incluye horas, minutos, segundos. Por ejemplo, 11:07:31 AM.
"Medium Time" Muestra una hora en formato de 12 horas. Por ejemplo, 11:07 AM.
"Short Time" Muestra una hora en formato de 24 horas. Por ejemplo, 11:07.

Formatos de fecha y hora personalizados

Los siguientes caracteres de formato se pueden especificar en el format_string para crear formatos de fecha y hora personalizados:

Carácter Descripción
(:) Separador de tiempo. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de tiempo. El separador de tiempo separa horas, minutos y segundos cuando se da formato a los valores de hora. El carácter real que se usa como separador de hora en la salida con formato viene determinado por la configuración del sistema.
(/) Separador de fecha. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de fecha. El separador de fecha separa el día, el mes y el año en que se da formato a los valores de fecha. El carácter real que se usa como separador de fecha en la salida con formato viene determinado por la configuración del sistema.
(\) Barra invertida. Muestra el siguiente carácter como un carácter literal. Por lo tanto, no se interpreta como un carácter de formato.
(") Comilla doble. Se muestra el texto entre comillas dobles. Por lo tanto, no se interpreta como caracteres de formato.
c Muestra la fecha como ddddd y muestra la hora como ttttt, en ese orden. Mostrar solo la información de fecha si no hay ninguna parte fraccionarcional al número de serie de fecha; mostrar solo la información de hora si no hay ninguna parte entera.
d Muestra el día como un número sin cero a la izquierda (1-31).
dd Muestra el día como un número con un cero a la izquierda (01-31).
ddd Muestra el día como una abreviatura (Sun-Sat). Localizada.
dddd Muestra el día como un nombre completo (Sunday-Saturday). Localizada.
ddddd Muestra la fecha como una fecha completa (incluido el día, el mes y el año), con formato según la configuración de formato de fecha corta del sistema. El formato de fecha corta predeterminado es mm/dd/yyyy.
dddddd Muestra un número de serie de fecha como una fecha completa (incluido el día, el mes y el año) con formato según la configuración de fecha larga reconocida por el sistema. El formato de fecha larga predeterminado es dddd, mmmm d, yyyy.
w Muestra el día de la semana como un número (de 1 para domingo a 7 para sábado).
ww Muestra la semana del año como un número (1-54).
m Muestra el mes como un número sin un cero a la izquierda (1-12). Si m inmediatamente sigue h o hh, se muestra el minuto en lugar del mes.
mm Muestra el mes como un número con un cero a la izquierda (01-12). Si mm inmediatamente sigue h o hh, se muestra el minuto en lugar del mes.
mmm Muestra el mes como una abreviatura (Jan-Dec). Localizada.
mmmm Muestra el mes como un nombre de mes completo (January-December). Localizada.
q Muestra el trimestre del año como un número (1-4).
y Muestra el día del año como un número (1-366).
yy Muestra el año como un número de 2 dígitos (00-99).
yyyy Muestra el año como un número de 4 dígitos (100-9999).
h Muestra la hora como un número sin un cero a la izquierda (0-23).
hh Muestra la hora como un número con un cero a la izquierda (00-23).
n Muestra el minuto como un número sin un cero a la izquierda (0-59).
nn Muestra el minuto como un número con un cero a la izquierda (00-59).
s Muestra el segundo como un número sin un cero a la izquierda (0-59).
ss Muestra el segundo como un número con un cero a la izquierda (00-59).
ttttt Muestra una hora como una hora completa (incluida la hora, el minuto y el segundo), con el formato separador de hora definido por el formato de hora reconocido por el sistema. Se muestra un cero inicial si se selecciona la opción cero inicial y la hora es anterior a las 10:00 A.M. o P.M. El formato de hora predeterminado es h:mm:ss.
AM/PM Utilice el reloj de 12 horas y muestre una am mayúscula con cualquier hora antes del mediodía; muestra una PM mayúscula con cualquier hora entre el mediodía y las 11:59 p.m.
am/pm Utilice el reloj de 12 horas y muestre un AM en minúsculas con cualquier hora antes del mediodía; muestra una PM minúscula con cualquier hora entre el mediodía y las 11:59 p.m.
A/P Utilice el reloj de 12 horas y muestre una A mayúscula con cualquier hora antes del mediodía; muestra una P mayúscula con cualquier hora entre el mediodía y las 11:59 p.m.
a/p Utilice el reloj de 12 horas y muestre una A minúscula con cualquier hora antes del mediodía; muestra una P minúscula con cualquier hora entre el mediodía y las 11:59 p.m.
AMPM Use el reloj de 12 horas y muestre el literal de cadena AM, tal como lo define el sistema con cualquier hora antes del mediodía; muestra el literal de cadena PM definido por el sistema con cualquier hora entre mediodía y 11:59 P.M. AMPM puede ser mayúsculas o minúsculas, pero el caso de la cadena que se muestra coincide con la cadena definida por la configuración del sistema. El formato predeterminado es AM/PM. Si el sistema está establecido en reloj de 24 horas, la cadena se establece normalmente en una cadena vacía.

El formato de fecha y hora usa la configuración regional del usuario actual para dar formato a la cadena. Por ejemplo, considere la fecha del 25 de junio de 2020. Cuando se da formato mediante la cadena de formato "m/d/aaaa", será:

  • La configuración regional del usuario es Estados Unidos de América (en-US): "6/25/2020"
  • La configuración regional del usuario es Alemania (de-DE): "6.25.2020"

Ejemplos de formato de fecha y hora personalizados

En los ejemplos siguientes se usa la fecha y hora del jueves, 25 de junio de 2020, a las 1:23:45 p. m. Alemania (de-DE) usa un sistema de 24 horas. No hay ningún equivalente de AM/PM.

Formato Result (en-US) Result (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Thu Hacer
"dddd" Jueves Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" Jueves, 25 de junio de 2020 Donnerstag, 25. Juni 2020
"w" 5 5
"ww" 26 26
"m" 6 6
"mm" 06 06
"mmm" Jun Jun
"mmmm" Junio Juni
"q" 2 2
"y" 177 177
"yy" 20 20
"yyyy" 2020 2020
"""Year"" yyyy" Año 2020 Año 2020
"yyyy \Qq" Q2 de 2020 Q2 de 2020
"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 p. m. 1:23:45
"hh:nn:ss" 13:23:45 13:23:45
"hh:nn:ss AMPM" 01:23:45 p. m. 01:23:45
"ttttt" 13:23:45 13:23:45
"ttttt AMPM" 13:23:45 p. m. 13:23:45
"mm/dd/yyyy hh:nn:ss AMPM" 25/06/2020 01:23:45 PM 6.25.2020 01:23:45