Compartilhar via


FORMAT

aplica-se a:coluna calculadatabela calculadamedidacálculo visual

Converte um valor em texto de acordo com o formato especificado.

Sintaxe

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

Parâmetros

Prazo Definição
value Um valor ou expressão que é avaliado como um único valor.
format_string Uma cadeia de caracteres com o modelo de formatação.
locale_name (Opcional) Nome da localidade a ser usada pela função. Os valores possíveis são cadeias de caracteres aceitas pela função de API do Windows LocaleNameToLCID().

Valor de retorno

Uma cadeia de caracteres que contém value formatada conforme definido por format_string.

Nota

Se value for BLANK, a função retornará uma cadeia de caracteres vazia.

Se format_string for BLANK, o valor será formatado com um formato "Número Geral" ou "Data Geral" (de acordo com value tipo de dados).

Observações

  • Cadeias de caracteres de formato predefinidas usam a propriedade de cultura de modelo ao formatar o resultado. Por padrão, a propriedade de cultura do modelo é definida de acordo com a localidade do usuário do computador. Para novos modelos do Power BI Desktop, a propriedade de cultura de modelo pode ser alterada na linguagem Options > Regional Settings > Model. Para o Analysis Services, a cultura do modelo é definida de acordo com a propriedade Language inicialmente definida pela instância.

  • As cadeias de caracteres de formato com suporte como argumento para a função DAXFORMAT são baseadas nas cadeias de caracteres de formato usadas pela Automação OLE (Visual Basic), não nas cadeias de caracteres de formato usadas pelo .NET Framework. Portanto, você poderá obter resultados inesperados ou um erro se o argumento não corresponder a nenhuma cadeia de caracteres de formato definida. Por exemplo, não há suporte para "p" como abreviação para "Porcentagem". Cadeias de caracteres que você fornece como um argumento para a função FORMAT que não estão incluídas na lista de cadeias de caracteres de formato predefinidas são tratadas como parte de uma cadeia de caracteres de formato personalizado ou como um literal de cadeia de caracteres.

  • Para saber mais sobre como especificar uma localidade com FORMAT, confira este vídeo.

  • Usar FORMAT altera um resultado de medida para um tipo de dados de texto. Se o resultado da medida for originalmente do tipo de dados numérico, com FORMAT, a medida não poderá ser usada em visuais em que a seção de valores requer um tipo de dados numérico, como com gráficos. No Power BI, você pode usar cadeias de caracteres de formato dinâmico para medidas especificar uma cadeia de caracteres de formato condicional que mantém o tipo de dados numéricos da medida.

  • Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).

Exemplos

Formatar cadeias de caracteres

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

Retorna:

12345.67 "Número Geral" exibe o número sem formatação.

US$ 12.345,67 "Moeda" exibe o número com a formatação da localidade da moeda. O exemplo aqui mostra a formatação de moeda padrão dos Estados Unidos.

12345.67 "Corrigido" exibe pelo menos um dígito à esquerda do separador decimal e dois dígitos à direita do separador decimal.

12.345,67 "Standard" exibe pelo menos um dígito à esquerda do separador decimal e dois dígitos à direita do separador decimal e inclui milhares de separadores. O exemplo aqui mostra a formatação de número padrão dos Estados Unidos.

1.234.567,00 % "Porcentagem" exibe o número como um percentual (multiplicado por 100) com formatação e o sinal de porcentagem à direita do número separado por um único espaço.

1.23E+04 "Scientific" exibe o número em notação científica com dois dígitos decimais.

Datetime com 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" )

Retorna:

15/12/2020 12:30:59 pm Onde o mês precede o dia e a hora é o formato de 12 horas.

12/15/2020 12:30:59 Onde o dia precede o mês e a hora é o formato de 24 horas.

15/12/2020 12:30:59 Onde o mês precede o dia e a hora é o formato de 24 horas. Como uma cadeia de caracteres de formato dependente não local é especificada, a localidade não é aplicada e o formato não local é retornado.

Formatos numéricos predefinidos

Os seguintes formatos numéricos predefinidos podem ser especificados no argumento format_string:

Format Descrição
"General Number" Exibe o número sem mil separadores.
"Currency" Exibe o número com milhares de separadores, se apropriado; exibe dois dígitos à direita do separador decimal. A saída é baseada nas configurações de localidade do sistema.
"Fixed" Exibe pelo menos um dígito à esquerda e dois dígitos à direita do separador decimal.
"Standard" Exibe o número com milhares de separadores, pelo menos um dígito à esquerda e dois dígitos à direita do separador decimal.
"Percent" Exibe o número multiplicado por 100 com um sinal de porcentagem (%) acrescentado imediatamente à direita; sempre exibe dois dígitos à direita do separador decimal.
"Scientific" Usa notação científica padrão, fornecendo dois dígitos significativos.
"Yes/No" Exibe Não se o número for 0; caso contrário, exibe Sim.
"True/False" Exibe False se o número for 0; caso contrário, exibe True.
"On/Off" Exibe Desativado se o número for 0; caso contrário, exibe Ativado.

Formatos numéricos personalizados

Uma expressão de formato personalizado para números pode ter de uma a três seções separadas por ponto-e-vírgula. Se o argumento de cadeia de caracteres de formato contiver um dos formatos numéricos nomeados, somente uma seção será permitida.

Se você usar O resultado é
Somente uma seção A expressão de formato se aplica a todos os valores.
Duas seções A primeira seção se aplica a valores positivos e zeros, o segundo a valores negativos.
Três seções A primeira seção se aplica a valores positivos, o segundo a valores negativos e o terceiro a zeros.
"$#,##0;($#,##0)"

Se você incluir ponto-e-vírgula sem nada entre eles, a seção ausente será definida usando o formato do valor positivo. Por exemplo, o formato a seguir exibe valores positivos e negativos usando o formato na primeira seção e exibe "Zero" se o valor for zero.

"$#,##0"

Se você incluir ponto-e-vírgula sem nada entre eles, a seção ausente será mostrada usando o formato do valor positivo.

Caracteres de formato numérico personalizados

Os seguintes caracteres de formato numérico personalizado podem ser especificados no argumento format_string:

Personagem Descrição
Nenhum Exiba o número sem formatação.
(0) Espaço reservado para dígitos. Exibir um dígito ou um zero. Se a expressão tiver um dígito na posição em que o 0 aparece na cadeia de caracteres de formato, exiba-a; caso contrário, exiba um zero nessa posição. Se o número tiver menos dígitos do que zeros (em ambos os lados do decimal) na expressão de formato, exiba zeros à esquerda ou à direita. Se o número tiver mais dígitos à direita do separador decimal do que zeros à direita do separador decimal na expressão de formato, arredondar o número para quantas casas decimais houver zeros. Se o número tiver mais dígitos à esquerda do separador decimal do que zeros à esquerda do separador decimal na expressão de formato, exiba os dígitos extras sem modificação.
(#) Espaço reservado para dígitos. Exibir um dígito ou nada. Se a expressão tiver um dígito na posição em que o #aparece na cadeia de caracteres de formato, exiba-a; caso contrário, não exiba nada nessa posição. Esse símbolo funciona como o espaço reservado de 0 dígito, exceto que zeros à esquerda e à direita não são exibidos se o número tiver os mesmos ou menos dígitos do que há caracteres # em ambos os lados do separador decimal na expressão de formato.
(.) Espaço reservado decimal. Em algumas localidades, uma vírgula é usada como separador decimal. O espaço reservado decimal determina quantos dígitos são exibidos à esquerda e à direita do separador decimal. Se a expressão de formato contiver apenas sinais numéricos à esquerda desse símbolo, números menores que 1 começarão com um separador decimal. Para exibir um zero à esquerda exibido com números fracionários, use 0 como o espaço reservado de primeiro dígito à esquerda do separador decimal. O caractere real usado como um espaço reservado decimal na saída formatada depende do Formato de Número reconhecido pelo sistema.
(%) Espaço reservado percentual. A expressão é multiplicada por 100. O caractere percentual (%) é inserido na posição em que aparece na cadeia de caracteres de formato.
(,) Separador de mil. Em algumas localidades, um período é usado como um separador de mil. O separador de mil separa milhares de centenas dentro de um número que tem quatro ou mais lugares à esquerda do separador decimal. O uso padrão do separador de mil será especificado se o formato contiver um separador de mil entre os espaços reservados de dígito (0 ou #). Dois separadores de mil adjacentes ou mil separadores imediatamente à esquerda do separador decimal (se uma decimal é especificada ou não) significa "dimensionar o número dividindo-o por 1000, arredondando conforme necessário". Por exemplo, você pode usar a cadeia de caracteres de formato "##0", para representar 100 milhões como 100. Números menores que 1 milhão são exibidos como 0. Dois separadores de mil adjacentes em qualquer posição que não seja imediatamente à esquerda do separador decimal são tratados simplesmente como especificando o uso de um separador de mil. O caractere real usado como o separador de mil na saída formatada depende do Formato de Número reconhecido pelo sistema.
(:) Separador de tempo. Em algumas localidades, outros caracteres podem ser usados para representar o separador de tempo. O separador de tempo separa horas, minutos e segundos quando os valores de tempo são formatados. O caractere real usado como separador de tempo na saída formatada é determinado pelas configurações do sistema.
(/) Separador de data. Em algumas localidades, outros caracteres podem ser usados para representar o separador de data. O separador de data separa o dia, o mês e o ano em que os valores de data são formatados. O caractere real usado como separador de data na saída formatada é determinado pelas configurações do sistema.
(E- E+ e- e+) Formato científico. Se a expressão de formato contiver pelo menos um espaço reservado de dígito (0 ou #) à direita de E-, E+, e-, ou e+, o número será exibido no formato científico e E ou e será inserido entre o número e seu expoente. O número de espaços reservados de dígito à direita determina o número de dígitos no expoente. Use E- ou e- para colocar um sinal de subtração ao lado de expoentes negativos. Use E+ ou e+ para colocar um sinal de subtração ao lado de expoentes negativos e um sinal de adição ao lado de expoentes positivos.
- + $ ( ) Exibir um caractere literal. Para exibir um caractere diferente de um dos listados, preceda-o com uma barra invertida (\) ou coloque-o entre aspas duplas (" ").
(\\) Exiba o próximo caractere na cadeia de caracteres de formato. Para exibir um caractere que tem um significado especial como um caractere literal, preceda-o com uma barra invertida (\). A barra invertida em si não é exibida. Usar uma barra invertida é o mesmo que colocar o próximo caractere entre aspas duplas. Para exibir uma barra invertida, use duas barras invertidas (\\). Exemplos de caracteres que não podem ser exibidos como caracteres literais são os caracteres de formatação de data e hora (a, c, d, h, m, n, p, q, s, t, w, y, /, e :), os caracteres de formatação numérica (#, 0, %, E, e, vírgula e ponto), e os caracteres de formatação de cadeia de caracteres (@, &, <, >e !).
("ABC") Exibir a cadeia de caracteres dentro das aspas duplas (" ").

Formatos de data/hora predefinidos

Os seguintes formatos predefinidos de data/hora podem ser especificados no argumento format_string. Ao usar formatos diferentes desses, eles são interpretados como um formato personalizado de data/hora:

Formato Descrição
"General Date" Exibe uma data e/ou hora. Por exemplo, 12/03/2008 11:07:31 AM. A exibição de data é determinada pelo valor de cultura atual do aplicativo.
"Long Date" ou "Medium Date" Exibe uma data de acordo com o formato de data longa da cultura atual. Por exemplo, quarta-feira, 12 de março de 2008.
"Short Date" Exibe uma data usando o formato de data curta da cultura atual. Por exemplo, 12/03/2008.
"Long Time" ou Exibe um tempo usando o formato de longo tempo da cultura atual; normalmente inclui horas, minutos, segundos. Por exemplo, 11:07:31 AM.
"Medium Time" Exibe uma hora em formato de 12 horas. Por exemplo, 11h07.
"Short Time" Exibe uma hora em formato de 24 horas. Por exemplo, 11:07.

Formatos personalizados de data/hora

Os seguintes caracteres de formato podem ser especificados no format_string para criar formatos personalizados de data/hora:

Personagem Descrição
(:) Separador de tempo. Em algumas localidades, outros caracteres podem ser usados para representar o separador de tempo. O separador de tempo separa horas, minutos e segundos quando os valores de tempo são formatados. O caractere real usado como separador de tempo na saída formatada é determinado pelas configurações do sistema.
(/) Separador de data. Em algumas localidades, outros caracteres podem ser usados para representar o separador de data. O separador de data separa o dia, o mês e o ano em que os valores de data são formatados. O caractere real usado como separador de data na saída formatada é determinado pelas configurações do sistema.
(\) Barra invertida. Exibe o próximo caractere como um caractere literal. Portanto, ele não é interpretado como um caractere de formatação.
(") Aspas duplas. O texto entre aspas duplas é exibido. Portanto, ele não é interpretado como caracteres de formatação.
c Exiba a data como ddddd e exiba a hora como ttttt, nessa ordem. Exibir somente informações de data se não houver nenhuma parte fracionária no número de série de data; exibirá somente as informações de tempo se não houver nenhuma parte de inteiro.
d Exibe o dia como um número sem um zero à esquerda (1-31).
dd Exibe o dia como um número com um zero à esquerda (01-31).
ddd Exibir o dia como uma abreviação (Sun-Sat). Localizada.
dddd Exibir o dia como um nome completo (Sunday-Saturday). Localizada.
ddddd Exiba a data como uma data completa (incluindo dia, mês e ano), formatada de acordo com a configuração de formato de data curta do sistema. O formato de data curta padrão é mm/dd/yyyy.
dddddd Exiba um número de série de data como uma data completa (incluindo dia, mês e ano) formatada de acordo com a configuração de data longa reconhecida pelo sistema. O formato de data longa padrão é dddd, mmmm d, yyyy.
w Exibe o dia da semana como um número (1 para domingo a 7 para sábado).
ww Exibe a semana do ano como um número (1-54).
m Exibe o mês como um número sem um zero à esquerda (1-12). Se m seguir imediatamente h ou hh, minuto em vez do mês será exibido.
mm Exibe o mês como um número com um zero à esquerda (01-12). Se mm seguir imediatamente h ou hh, minuto em vez do mês será exibido.
mmm Exibir o mês como uma abreviação (Jan-Dec). Localizada.
mmmm Exibir o mês como um nome de mês completo (January-December). Localizada.
q Exibe o trimestre do ano como um número (1-4).
y Exiba o dia do ano como um número (1-366).
yy Exibe o ano como um número de 2 dígitos (00-99).
yyyy Exibe o ano como um número de 4 dígitos (100-9999).
h Exiba a hora como um número sem um zero à esquerda (0-23).
hh Exiba a hora como um número com um zero à esquerda (00-23).
n Exibe o minuto como um número sem um zero à esquerda (0-59).
nn Exibe o minuto como um número com um zero à esquerda (00-59).
s Exiba o segundo como um número sem um zero à esquerda (0-59).
ss Exiba o segundo como um número com um zero à esquerda (00-59).
ttttt Exiba uma hora como uma hora completa (incluindo hora, minuto e segundo), formatada usando o separador de tempo definido pelo formato de tempo reconhecido pelo sistema. Um zero à esquerda será exibido se a opção zero à esquerda estiver selecionada e a hora for antes das 10:00 ou P.M. O formato de hora padrão é h:mm:ss.
AM/PM Use o relógio de 12 horas e exiba um AM maiúsculo com qualquer hora antes do meio-dia; exibir um PM maiúsculo com qualquer hora entre meio-dia e 23h59.
am/pm Use o relógio de 12 horas e exiba um AM minúsculo com qualquer hora antes do meio-dia; exibir um PM minúsculo com qualquer hora entre meio-dia e 23h59.
A/P Use o relógio de 12 horas e exiba um A maiúsculo com qualquer hora antes do meio-dia; exibir um P maiúsculo com qualquer hora entre meio-dia e 23h59.
a/p Use o relógio de 12 horas e exiba um A minúsculo com qualquer hora antes do meio-dia; exibir um P minúsculo com qualquer hora entre meio-dia e 23h59.
AMPM Use o relógio de 12 horas e exiba o literal da cadeia de caracteres AM conforme definido pelo sistema com qualquer hora antes do meio-dia; exiba o literal da cadeia de caracteres PM conforme definido pelo sistema com qualquer hora entre meio-dia e 23h59. O AMPM pode ser maiúsculo ou minúsculo, mas o caso da cadeia de caracteres exibida corresponde à cadeia de caracteres conforme definido pelas configurações do sistema. O formato padrão é AM/PM. Se o sistema estiver definido como relógio de 24 horas, a cadeia de caracteres é típica definida como uma cadeia de caracteres vazia.

A formatação de data/hora usa a localidade do usuário atual para formatar a cadeia de caracteres. Por exemplo, considere a data de 25 de junho de 2020. Quando for formatado usando a cadeia de caracteres de formato "m/d/yyyyy", será:

  • A localidade do usuário é Estados Unidos da América (en-US): "25/6/2020"
  • A localidade do usuário é Alemanha (de-DE): "6.25.2020"

Exemplos personalizados de formato de data/hora

Os exemplos a seguir usam a data/hora quinta-feira, 25 de junho de 2020, às 13h23min45. A Alemanha (de-DE) usa um sistema 24 horas. Não há equivalente a AM/PM.

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" Qui Fazer
"dddd" Quinta-feira Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" Quinta-feira, 25 de junho de 2020 Donnerstag, 25 anos. Juni 2020
"w" 5 5
"ww" 26 26
"m" 6 6
"mm" 06 06
"mmm" Jun Jun
"mmmm" Junho Juni
"q" 2 2
"y" 177 177
"yy" 20 20
"yyyy" 2020 2020
"""Year"" yyyy" Ano 2020 Ano 2020
"yyyy \Qq" 2020 2º trimestre 2020 2º trimestre
"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" 13:23:45 1:23:45
"hh:nn:ss" 13:23:45 13:23:45
"hh:nn:ss AMPM" 13:23:45 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 13:23:45 6.25.2020 01:23:45