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
valor Valor o expresión que se evalúa como un valor único.
format_string Cadena con la plantilla de formato.
nombreDeConfiguraciónRegional (Opcional) Nombre de la configuración regional que va a usar la función. Los valores posibles son cadenas aceptadas por la función API de Windows LocaleNameToLCID().

Valor devuelto

Cadena que contiene value con el formato tal como lo define format_string.

Nota:

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

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

Notas

  • Las cadenas de formato predefinidas utilizan la propiedad Referencia cultural de modelo al aplicar formato al resultado. De forma predeterminada, la propiedad Referencia cultural de modelo se establece de acuerdo con la configuración regional de usuario del equipo. Para los nuevos modelos de Power BI Desktop, la propiedad Referencia cultural de modelo se puede cambiar en Opciones > Configuración regional > Idioma del modelo. Para Analysis Services, la referencia cultural de modelo se puede establecer de acuerdo con la propiedad de idioma definida inicialmente por la instancia.

  • Las cadenas de formato admitidas como un argumento para la función FORMAT de DAX se basan en las cadenas de formato que utiliza Visual Basic (automatización OLE), no en las cadenas de formato que utiliza .NET Framework. Por lo tanto, podría 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 "Porcentaje". Las cadenas que se proporcionan como argumento a la función FORMAT y que no están incluidas en la lista de cadenas de formato predefinidas se administran como parte de una cadena de formato personalizado o como un literal de cadena.

  • Para obtener más información sobre cómo especificar una configuración regional con FORMAT, vea 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 del tipo de datos numérico, con FORMAT, la medida no se puede usar en objetos visuales en los que 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 las medidas o 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 utiliza en columnas calculadas o en reglas de seguridad de nivel de fila (RLS).

Ejemplos

Cadenas de 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")

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 de moneda predeterminado de Estados Unidos.

12345,67 "Fijo" muestra al menos un dígito a la izquierda y dos a la derecha del separador decimal.

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

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

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

Datetime con locale_name opcional

= 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 PM Donde el mes precede al día y la hora tiene un formato de 12 horas.

15/12/2020 12:30:59 Donde el día precede al mes y la hora tiene un formato de 24 horas.

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

Formatos numéricos predefinidos

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

Formato 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 a la derecha del separador decimal.
"Standard" Muestra el número con separador de miles, al menos un dígito a la izquierda y dos a la derecha del separador decimal.
"Percent" Muestra el número multiplicado por 100 con un signo de porcentaje (%) anexado justo a la derecha; siempre muestra dos dígitos a la derecha del separador decimal.
"Scientific" Usa la notación científica estándar, que proporciona 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, muestra Activado.

Formatos numéricos personalizados

Una expresión de formato personalizado para los 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, únicamente se permite una sección.

Si se 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; la segunda se aplica a valores negativos.
Tres secciones. La primera sección se aplica a valores positivos, la segunda a valores negativos y la tercera a los ceros.
"$#,##0;($#,##0)"

Si incluye puntos 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 los valores positivos y negativos utilizando el formato de la primera sección y muestra "Zero" si el valor es cero.

"$#,##0"

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

Caracteres de formato numérico personalizados

Los siguientes caracteres de formato numérico personalizados 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 en la que aparece el 0 en la cadena de formato, se muestra; en caso contrario, se muestra un cero en esa posición. Si el número tiene menos dígitos que ceros (en cualquier lado del separador decimal) en la expresión de formato, se muestran ceros a la izquierda o a la derecha. Si el número tiene más dígitos a la derecha del separador decimal que ceros en la expresión de formato, se redondea el número a tantos lugares decimales como ceros haya. Si el número tiene más dígitos a la izquierda del separador decimal que ceros en la expresión de formato, se muestran los dígitos adicionales sin modificación.
(#) 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 este símbolo en la cadena de formato, se muestra; en caso contrario, no se muestra nada en esa posición. Este símbolo funciona como marcador de posición de 0 dígitos, excepto que los ceros a la izquierda y a la derecha no se muestran si el número tiene los mismos dígitos o menos que caracteres # en cualquier lado 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 el número de dígitos que se muestran a la izquierda y a la derecha del separador decimal. Si la expresión de formato solo contiene signos de número a la izquierda de este símbolo, los números menores que 1 comienzan con un separador decimal. Para mostrar un cero a la izquierda con números fraccionarios, use 0 como primer marcador de posición de dígitos a la izquierda del separador decimal. El carácter real usado como marcador de posición de decimales en la salida con formato depende del formato de número que reconozca 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 en la que 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 en un número que tiene cuatro o más posiciones a la izquierda del separador decimal. El uso estándar del separador de miles se especifica 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 (tanto si se especifica o no un decimal) significa "dividir el número entre 1000 para escalarlo y redondearlo según sea necesario." Por ejemplo, puede usar la cadena de formato "##0,," para representar 100 millones como 100. Los números menores que 1 millón se muestran como 0. Dos separadores de miles adyacentes en cualquier posición que no sea la inmediatamente a la izquierda del separador decimal se tratan simplemente como si se especificara 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 que reconozca el sistema.
(:) Separador de líneas. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de hora. El separador de hora separa las horas, los minutos y los segundos cuando se aplica formato a los valores de hora. La configuración del sistema determina el carácter real que se usa como separador de hora en la salida con formato.
(/) 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 cuando se aplica formato a los valores de fecha. La configuración del sistema determina el carácter real que se usa como separador de fecha en la salida con formato.
(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 se inserta E o e 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 en el exponente. Use E- o e- para colocar un signo menos junto a los exponentes negativos. Use E + o e + para colocar un signo menos junto a los exponentes negativos y un signo más junto a los exponentes positivos.
- + $ ( ) Muestra un carácter literal. Para mostrar un carácter que no sea uno de los indicados, debe ir precedido de una barra diagonal inversa (\) o entre comillas dobles (" ").
(\) Muestra el siguiente carácter en la cadena de formato. Para mostrar un carácter con un significado especial como carácter literal, debe ir precedido de una barra diagonal inversa (\). La barra diagonal inversa no se muestra. Utilizar una barra diagonal inversa es equivalente a delimitar el siguiente carácter con 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 los caracteres de formato de fecha y 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") Muestra la cadena entre comillas dobles (" ").

Formatos predefinidos de fecha y hora

Los siguientes formatos de fecha y hora predefinidos se pueden especificar en el argumento format_string. Si se usan formatos distintos a estos, se interpretarán como un formato personalizado de fecha y hora:

Formato Descripción
"General Date" Muestra una fecha, una hora o ambas. Por ejemplo, 12/3/2008 11:07:31. La representación de la fecha está determinada por el valor de la 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 hora larga de la referencia cultural actual; normalmente incluye horas, minutos y segundos. Por ejemplo, 11:07:31.
"Medium Time" Muestra una hora en formato de 12 horas. Por ejemplo, 11:07.
"Short Time" Muestra una hora en formato de 24 horas. Por ejemplo, 23:07.

Formatos personalizados de fecha y hora

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

Carácter Descripción
(:) Separador de líneas. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de hora. El separador de hora separa las horas, los minutos y los segundos cuando se aplica formato a los valores de hora. La configuración del sistema determina el carácter real que se usa como separador de hora en la salida con formato.
(/) 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 cuando se aplica formato a los valores de fecha. La configuración del sistema determina el carácter real que se usa como separador de fecha en la salida con formato.
(\) Barra diagonal inversa. Muestra el carácter siguiente como literal. Por lo tanto, no se interpreta como un carácter de formato.
(") Comillas dobles. 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. Muestra solo la información de fecha si no hay ninguna parte fraccionaria en el número de serie de fecha; muestra solo la información de hora si no hay ninguna parte entera.
d Muestra el día como un número sin un cero interlineado (1 a 31).
dd Muestra el día como un número con un cero interlineado (01 a 31).
ddd Muestra el día abreviado (dom. a sáb.). Localizado.
dddd Muestra el día como un nombre completo (domingo a sábado). Localizado.
ddddd Muestra la fecha como una fecha completa (día, mes y año), con el formato que especifique 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 fecha completa (día, mes y año), con el formato de fecha larga que reconozca 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 (del 1 para el domingo al 7 para el sábado).
ww Muestra la semana del año como un número (1 a 54).
m Muestra el mes como un número sin un cero interlineado (1 a 12). Si m sigue inmediatamente a h o hh, se muestra el minuto en lugar del mes.
MM Muestra el mes como un número con un cero interlineado (01 a 12). Si mm sigue inmediatamente a h o hh, se muestra el minuto en lugar del mes.
mmm Muestra el mes abreviado (en. a dic.). Localizado.
mmmm Muestra el mes con el nombre completo (enero a diciembre). Localizado.
q Muestra el trimestre del año como un número (1 a 4).
s Muestra el día del año como un número (1 a 366).
yy Muestra el año como un número de 2 dígitos (00 a 99).
aaaa Muestra el año como un número de 4 dígitos (100 a 9999).
h Muestra la hora como un número sin un cero interlineado (0 a 23).
hh Muestra la hora como un número con un cero interlineado (00 a 23).
n Muestra el minuto como un número sin un cero interlineado (0 a 59).
nn Muestra el minuto como un número con un cero interlineado (00 a 59).
s Muestra el segundo como un número sin un cero interlineado (0 a 59).
ss Muestra el segundo como un número con un cero interlineado (00 a 59).
ttttt Muestra la hora como una hora completa (hora, minuto y segundo), utilizando el separador de hora definido en el formato de hora que reconozca el sistema. Se muestra un cero a la izquierda si se selecciona la opción de cero a la izquierda y la hora es anterior a las 10:00. El formato predeterminado es h:mm:ss.
AM/PM Usa el reloj de 12 horas y muestra AM en mayúsculas con cualquier hora antes del mediodía; muestra PM en mayúsculas con cualquier hora entre el mediodía y las 11:59 p.m.
AM/PM Usa el reloj de 12 horas y muestra AM en minúsculas con cualquier hora antes del mediodía; muestra PM en minúsculas con cualquier hora entre el mediodía y las 11:59 p. m.
A/P Usa el reloj de 12 horas y muestra 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 Usa el reloj de 12 horas y muestra 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 Usa el reloj de 12 horas y muestra el literal de cadena AM tal y como lo define el sistema con cualquier hora antes del mediodía; muestra el literal de cadena PM tal y como lo define el sistema con cualquier hora entre el mediodía y las 11:59 p. m. AMPM puede estar en mayúsculas o en minúsculas, pero coincidirá con la cadena tal y como la defina la configuración del sistema. El formato predeterminado es AM/PM. Si el sistema se define en el 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 actual del usuario para dar formato la cadena. Por ejemplo, considere la fecha 25 de junio de 2020. Cuando se aplica formato con la cadena de formato "m/d/yyyy", será:

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

Ejemplos de formatos personalizados de fecha y hora

En los ejemplos siguientes se usa la fecha y hora jueves, 25 de junio de 2020, a las 13:23:45. Alemania (de-DE) utiliza el sistema de 24 horas. No hay equivalentes de A. M. ni P. M.

Formato Resultado (en-US) Resultado (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Ju. Cosas que hacer
"dddd" Jueves 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" Junio Juni
"q" 2 2
"y" 177 177
"yy" 20 20
"yyyy" 2020 2020
"""Year"" yyyy" Año 2020 Año 2020
"yyyy \Qq" 2020 T2 2020 T2
"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