FORMATO

Aplica-se a: Coluna calculada Tabela calculada Medida Cá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 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 devolvido

Uma cadeia de caracteres que contém o valor formatado conforme definido por format_string.

Nota

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

Se format_string estiver EM BRANCO, o valor será formatado com um formato "Número Geral" ou "Data Geral" (de acordo com o tipo de dados do valor ).

Observações

  • As cadeias de caracteres de formato predefinidas 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 no idioma do Modelo de Configurações > Regionais de Opções>. 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 suportadas como um argumento para a função DAX FORMAT são baseadas 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ê pode obter resultados inesperados ou um erro se o argumento não corresponder a nenhuma cadeia de caracteres de formato definida. Por exemplo, "p" como abreviatura de "Percent" não é suportado. As 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 especificando 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 resultado da medida for originalmente do tipo de dados numéricos, com FORMAT, a medida não poderá ser usada em elementos visuais em que a seção de valores exija um tipo de dados numéricos, como com gráficos. No Power BI, você pode alternativamente 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.

  • Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).

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

Devoluções:

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

$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 "Fixo" exibe 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 do separador decimal e dois dígitos à direita do separador decimal, e inclui mil separadores. O exemplo aqui mostra a formatação de número padrão dos Estados Unidos.

1.234.567,00 % "Percentual" exibe o número como uma porcentagem (multiplicada 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.

Data/hora 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" )

Devoluções:

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

15/12/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 mês precede dia e hora é formato de 24 horas. Como uma cadeia de caracteres de formato não dependente de localidade é especificada, a localidade não é aplicada e o formato não-localidade é retornado.

Formatos numéricos predefinidos

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

Formato Description
"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 é 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 separadores 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 (%) anexado 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 Falso se o número for 0; caso contrário, exibe True.
"On/Off" Exibe Off 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 format string contiver um dos formatos numéricos nomeados, apenas uma seção será permitida.

Se utilizar O resultado é
Apenas uma secção A expressão de formato aplica-se a todos os valores.
Duas secções A primeira secção aplica-se a valores positivos e zeros, a segunda a valores negativos.
Três secções A primeira secção aplica-se a valores positivos, a segunda a valores negativos e a terceira 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 :

Caráter Description
None Exiba o número sem formatação.
(0) Espaço reservado para dígitos. Exiba um dígito ou zero. Se a expressão tiver um dígito na posição em que o 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 de formato, arredondar o número para tantas casas decimais quantas forem 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. Exiba um dígito ou nada. Se a expressão tiver um dígito na posição em que o # aparece na cadeia de formatação, exiba-o; caso contrário, não exiba nada nessa posição. Esse símbolo funciona como o espaço reservado de 0 dígitos, exceto que os zeros à esquerda e à direita não são exibidos se o número tiver os mesmos ou menos dígitos do que os 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 deste símbolo, os números menores que 1 começam com um separador decimal. Para exibir um zero à esquerda exibido com números fracionários, use 0 como o primeiro espaço reservado para dígitos à 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 seu sistema.
(%) Espaço reservado para porcentagem. A expressão é multiplicada por 100. O caractere de porcentagem (%) é inserido na posição em que aparece na cadeia de caracteres de formato.
(,) Separador mil. Em algumas localidades, um ponto é usado como separador de mil. O separador de milhares 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 é especificado se o formato contiver um separador de mil cercado por espaços reservados para dígitos (0 ou #). Dois separadores de mil adjacentes ou um separador de mil imediatamente à esquerda do separador decimal (quer seja especificado ou não um decimal) 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 mil. O caractere real usado como separador de mil na saída formatada depende do formato de número reconhecido pelo seu 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 para dígitos (0 ou #) à direita de E-, E+, e-, ou e+, o número é exibido em formato científico e E ou e é inserido entre o número e seu expoente. O número de espaços reservados para dígitos à 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.
- + $ ( ) Exiba 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 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") Exiba a cadeia de caracteres dentro das aspas duplas (" ").

Formatos de data/hora predefinidos

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

Formato Description
"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 do seu aplicativo.
"Long Date" ou "Medium Date" Exibe uma data de acordo com o formato de data longa da sua cultura atual. Por exemplo, quarta-feira, 12 de março de 2008.
"Short Date" Exibe uma data usando o formato de data abreviada da cultura atual. Por exemplo, 3/12/2008.
"Long Time" ou Exibe um tempo usando o formato de tempo longo da sua cultura atual; normalmente inclui horas, minutos, segundos. Por exemplo, 11:07:31.
"Medium Time" Exibe uma hora no formato de 12 horas. Por exemplo, 11:07.
"Short Time" Exibe uma hora no formato de 24 horas. Por exemplo, 11:07.

Formatos de data/hora personalizados

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

Caráter Description
(:) 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, não é interpretado como um caractere de formatação.
(") Aspas duplas. O texto entre aspas duplas é exibido. Portanto, não é interpretado como formatação de caracteres.
c Exiba a data como ddddd e exiba a hora como ttttt, nessa ordem. Exibir apenas informações de data se não houver nenhuma parte fracionária para o número de série da data; exibir somente informações de tempo se não houver uma parte inteira.
d Exiba o dia como um número sem um zero à esquerda (1-31).
dd Exiba o dia como um número com um zero à esquerda (01-31).
ddd Exiba o dia como uma abreviatura (Dom-Sáb). Localizado.
dddd Exiba o dia como um nome completo (domingo a sábado). Localizado.
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 abreviada do seu sistema. O formato de data abreviada 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 seu sistema. O formato de data longa padrão é dddd, mmmm d, yyyy.
w Exiba o dia da semana como um número (1 para domingo a 7 para sábado).
ww Mostre a semana do ano como um número (1-54).
m Exiba o mês como um número sem um zero à esquerda (1-12). Se m imediatamente se seguir h ou hh, minuto em vez do mês é exibido.
mm Exiba o mês como um número com um zero à esquerda (01-12). Se mm imediatamente se seguir h ou hh, minuto em vez do mês é exibido.
mmm Exiba o mês como uma abreviatura (Jan-Dez). Localizado.
mmmm Exiba o mês como um nome completo do mês (janeiro-dezembro). Localizado.
q Exiba o trimestre do ano como um número (1-4).
S Mostre o dia do ano como um número (1-366).
yy Exiba o ano como um número de 2 dígitos (00-99).
yyyy Exiba 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 Exiba o minuto como um número sem um zero à esquerda (0-59).
nn Exiba 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 hora reconhecido pelo seu sistema. Um zero à esquerda é 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 uma AM maiúscula a qualquer hora antes do meio-dia; exiba uma PM maiúscula a qualquer hora entre meio-dia e 23h59.
am/pm Use o relógio de 12 horas e exiba uma AM minúscula com qualquer hora antes do meio-dia; exibir uma PM minúscula com qualquer hora entre meio-dia e 23h59.
A/P Use o relógio de 12 horas e exiba um A maiúsculo a 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 a 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 a string AM literal conforme definido pelo seu sistema a qualquer hora antes do meio-dia; exibir a string PM literal conforme definido pelo seu sistema com qualquer hora entre meio-dia e 23:59 AMPM pode ser maiúscula ou minúscula, mas o caso da string exibida corresponde à string conforme definido pelas configurações do sistema. O formato padrão é AM/PM. Se o seu sistema estiver configurado para um relógio de 24 horas, a cadeia de caracteres é normalmente definida como uma cadeia 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 é formatado usando a string de formato "m/d/yyyy" será:

  • A localidade do usuário é Estados Unidos da América (pt-BR): "25/06/2020"
  • A localidade do usuário é 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) utiliza um sistema de 24 horas. Não há equivalente a AM/PM.

Formato Resultado (pt-BR) Resultado (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Qui O que deve fazer
"dddd" Quinta-feira Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" quinta-feira, 25 de junho de 2020 Donnerstag, 25. Junho 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" 2º trimestre de 2020 2º trimestre 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" 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 13:23:45
"mm/dd/yyyy hh:nn:ss AMPM" 25/06/2020 13:23:45 6.25.2020 01:23:45