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

Termo Definição
valor Um valor ou uma expressão que é avaliada 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 retornado

Uma cadeia de caracteres contendo valor formatada conforme definido por format_string.

Observação

Caso o valor seja 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 tipo de dados de value).

Comentários

  • Cadeias de caracteres de formato predefinido usam a propriedade de cultura do 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 do modelo pode ser alterada em Opções > Configurações regionais > Idioma do modelo. Para o Analysis Services, a cultura do modelo é definida de acordo com a propriedade de idioma definida inicialmente pela instância.

  • As cadeias de caracteres de formato com suporte como um argumento para a função DAX FORMAT baseiam-se nas cadeias de caracteres de formato usadas pelo Visual Basic (Automação OLE), 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 uma abreviação de "Percentual". As cadeias de caracteres fornecidas 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 processadas como parte de uma cadeia de caracteres de formato personalizada ou como um literal de cadeia de caracteres.

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

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

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

Exemplos

Cadeias de caracteres 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")

Retorna:

12345,67 "Número Geral" exibe o número sem formatação.

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

12345.67 "Fixo" exibe o número com separador de milhar, pelo menos um dígito à esquerda do separador decimal e dois dígitos à direita do separador decimal.

12,345.67 "Padrão": exibe pelo menos um dígito à esquerda e dois dígitos à direita do separador decimal, além de incluir separadores de milhar. O exemplo aqui mostra a formatação padrão de número dos Estados Unidos.

1,234,567.00 % "Percentual" 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 "Científico" 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:

12/15/2020 12:30:59 PM Em que o mês precede o dia, e a hora está no formato de 12 horas.

15/12/2020 12:30:59 Em que o dia precede o mês, e a hora está no formato de 24 horas.

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

Formatos numéricos predefinidos

Os seguintes formatos numéricos predefinidos poderão ser especificados no argumento format_string:

Formatar Descrição
"General Number" Exibe o número sem separadores de milhar.
"Currency" Exibe o número com separadores de milhar, se apropriado; exibe dois dígitos à direita do separador decimal. A saída se baseia 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 separador de milhar, 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 (%) 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 é 0; caso contrário, exibe Sim.
"True/False" Exibe False se o número é 0; caso contrário, exibe True.
"On/Off" Exibe Desligado o número é 0; caso contrário, exibe Ligado.

Formatos numéricos personalizados

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

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

Caso inclua ponto e vírgula sem nada entre ele, 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 da primeira seção e exibe "Zero" se o valor for zero.

"$#,##0"

Caso inclua ponto e vírgulas sem nada entre eles, a seção ausente será mostrada usando o formato do valor positivo.

Caracteres de formato numérico e personalizado

Os seguintes caracteres de formato numérico e personalizado poderão ser especificados no argumento format_string:

Caractere Descrição
Nenhum Exibe o número sem formatação.
(0) Espaço reservado de dígito. Exibe um dígito ou um zero. Se a expressão tiver um dígito na posição em que 0 aparece na cadeia de caracteres de formato, exiba-o. 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 do formato, arredonde o número para a mesma quantidade de casas decimais que há de zeros. Se o número tiver mais dígitos à esquerda do separador decimal do que zeros à esquerda do separador decimal na expressão do formato, exibe os dígitos extras sem modificação.
(#) Espaço reservado de dígito. Exibe um dígito ou nada. Se a expressão tiver um dígito na posição em que # aparece na cadeia de caracteres de formato, exibe-o; caso contrário, não exibe nada nessa posição. Esse símbolo funciona como o espaço reservado para o dígito 0, exceto pelo fato de que os zeros à esquerda e à direita não serão exibidos se o número tiver menos ou a mesma quantidade de dígitos do que os caracteres # em ambos os lados do separador decimal na expressão de formato.
(.) Espaço reservado de decimal. Em algumas localidades, uma vírgula é usada como o separador decimal. O espaço reservado decimal determina quantos dígitos são exibidos à esquerda e à direita do separador decimal. Se a expressão do formato contiver apenas sinais de número à esquerda desse símbolo, números menores que 1 começarão com um separador decimal. Para mostrar um zero à esquerda exibido com números fracionários, use 0 como o espaço reservado do primeiro dígito à esquerda do separador decimal. O caractere real usado como espaço reservado decimal na saída formatada depende do Formato de Número reconhecido pelo seu sistema.
(%) Espaço reservado de porcentagem. A expressão é multiplicada por 100. O caractere de porcentagem (%) é inserido na posição em que ele aparece na cadeia de caracteres de formato.
(,) Separador de milhar. Em algumas localidades, um ponto é usado como um separador de milhar. O separador de milhar separa milhares de centenas em um número que tem quatro ou mais casas à esquerda do separador decimal. O uso padrão do separador de milhar é especificado se o formato contiver um separador de milhar entre os espaços reservados para dígitos (0 ou #). Dois separadores de milhar adjacentes ou um separador de milhar imediatamente à esquerda do separador decimal (se um decimal for ou não especificado) significa "dimensionar o número dividindo-o por 1.000, arredondando conforme necessário". Por exemplo, você pode usar a cadeia de caracteres de formato "##0,," para representar 100 milhões como 100. Os números inferiores a 1 milhão são exibidos como 0. Dois separadores de milhar adjacentes em qualquer posição que não seja imediatamente à esquerda do separador decimal são tratados simplesmente como especificação do uso de um separador de milhar. O caractere real usado como o separador de milhar na saída formatada depende do Formato de Número reconhecido pelo seu sistema.
(:) Separador de hora. Em algumas localidades, outros caracteres podem ser usados para representar o separador de hora. O separador de horas separa hora, minutos e segundos quando os valores de hora são formatados. O caractere real usado como o separador de hora 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 quando os valores de data são formatados. O caractere real usado como o separador de data na saída formatada é determinado pelas configurações do sistema.
(E- E+ e- e+ ) Formato científico. Se a expressão do formato contiver pelo menos um espaço reservado para dígito (0 ou #) à direita de E-, E+, e- ou e+, o número será exibido em 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 menos ao lado de expoentes negativos. Use E+ ou e+ para colocar um sinal de menos ao lado de expoentes negativos e um sinal de mais ao lado de expoentes positivos.
- + $ ( ) Exibe um caractere literal. Para exibir um caractere diferente dos listados, preceda-o com uma barra invertida (\) ou coloque-o entre aspas duplas (" ").
(\) Exibe o próximo caractere na cadeia de caracteres de formato. Para exibir um caractere que tenha 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") Exibe a cadeia de caracteres entre aspas duplas (" ").

Formatos de data/hora predefinidos

Os formatos a seguir de data/hora predefinidos poderão ser especificados no argumento format_string. Ao usar outros formatos, eles serão interpretados como um formato de data/hora personalizado:

Formatar Descrição
"General Date" Exibe uma data e/ou hora. Por exemplo, 3/12/2008 11:07:31 AM. A exibição de data é determinada pelo valor de cultura atual de seu aplicativo.
"Long Date" ou "Medium Date" Exibe uma data de acordo com o formato de data longa de sua cultura atual. Por exemplo, quarta-feira, 12 de março de 2008.
"Short Date" Exibe uma data usando o formato de data curta de sua cultura atual. Por exemplo, 3/12/2008.
"Long Time" ou Exibe uma hora usando o formato de hora longo da cultura atual. Normalmente, inclui horas, minutos, segundos. Por exemplo, 11:07:31 AM.
"Medium Time" Exibe uma hora no formato de 12 horas. Por exemplo, 11:07 AM.
"Short Time" Exibe uma hora no formato de 24 horas. Por exemplo, 11:07.

Formatos de data/hora personalizados

Os seguintes caracteres de formato poderão ser especificados como format_string para criar formatos de data/hora personalizados:

Caractere Descrição
(:) Separador de hora. Em algumas localidades, outros caracteres podem ser usados para representar o separador de hora. O separador de horas separa hora, minutos e segundos quando os valores de hora são formatados. O caractere real usado como o separador de hora 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 quando os valores de data são formatados. O caractere real usado como o 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 é exibido entre aspas duplas. Portanto, elas não são interpretadas como caracteres de formatação.
c Exibe a data como ddddd e a hora como ttttt, nessa ordem. Exibe apenas as informações de data se não houver nenhuma parte fracionária para o número de série de data. Exibe apenas as informações de hora se não houver nenhuma parte inteira.
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 Exibe o dia como uma abreviação (dom-sáb). Localizado.
dddd Exibe o dia como um nome completo (domingo-sábado). Localizado.
ddddd Exibe a data como uma data completa (incluindo dia, mês e ano), formatada de acordo com a configuração de formato de data abreviada do seu sistema. O formato de data abreviada padrão é mm/dd/yyyy.
dddddd Exibe um número de série de data como uma data completa (incluindo dia, mês e ano) formatado de acordo com a configuração de data completa reconhecida pelo seu sistema. O formato de data completa padrão é dddd, mmmm d, yyyy.
w Exibe o dia da semana como um número (de 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 vier imediatamente após h ou hh, o 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 vier imediatamente após h ou hh, o minuto, em vez do mês, será exibido.
mmm Exibe o mês como uma abreviação (jan-dez). Localizado.
mmmm Exibe o mês como um nome de mês completo (janeiro-dezembro). Localizado.
q Exibe o trimestre do ano como um número (1-4).
s Exibe 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 Exibe a hora como um número sem um zero à esquerda (0-23).
hh Exibe 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 Exibe o segundo como um número sem um zero à esquerda (0-59).
ss Exibe o segundo como um número com um zero à esquerda (00-59).
ttttt Exibe a hora como uma hora completa (incluindo hora, minuto e segundo), formatada usando o separador de hora definido pelo formato de hora reconhecido pelo seu sistema. Um zero à esquerda será exibido se a opção de zero à esquerda for selecionada e a hora for anterior às 10:00 ou 22:00. O formato de hora padrão é h:mm:ss.
AM/PM Usa o relógio de 12 horas e exibe AM em letras maiúsculas em qualquer hora antes do meio-dia; exibe PM em letras maiúsculas em qualquer hora entre meio-dia e 11:59 PM.
AM/PM Usa o relógio de 12 horas e exibe AM em letras minúsculas com qualquer hora antes do meio-dia; exibe PM em letras minúsculas com qualquer hora entre o meio-dia e 11:59 PM.
A/P Usa o relógio de 12 horas e exibe um A maiúsculo com qualquer hora antes do meio-dia; exibe um P maiúsculo com qualquer hora entre o meio-dia e 11:59 PM.
A/P Usa o relógio de 12 horas e exibe um A minúsculo com qualquer hora antes do meio-dia; exibe um P minúsculo com qualquer hora entre o meio-dia e 11:59 PM.
AMPM Use o relógio de 12 horas e exiba o literal da cadeia de caracteres AM conforme definido pelo seu sistema com qualquer hora antes do meio-dia; Exiba o literal da cadeia de caracteres PM conforme definido pelo seu sistema com qualquer hora entre meio-dia e 11:59 P.M. AMPM pode ser maiúsculo ou minúsculo, mas a capitalização da cadeia de caracteres exibida corresponde à cadeia de caracteres conforme definida pelas configurações do sistema. O formato padrão é AM/PM. Caso o sistema esteja definido como um relógio de 24 horas, a cadeia de caracteres normalmente é definida como uma cadeia de caracteres vazia.

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

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

Exemplos de formatos de data/hora personalizados

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

Formatar 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" Thu O que fazer
"dddd" Quinta-feira 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" Junho 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