Ler em inglês

Compartilhar via


FORMAT

aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual

Converte um value em texto de acordo com o formatespecificado.

Sintaxe

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

Parâmetros

Prazo Definição
value Uma expressão valueor que é avaliada como um único value.
format_string Uma cadeia de caracteres com o modelo de formatação.
locale_name (Opcional) Nome da localidade a ser usada pela função. Possíveis values são cadeias de caracteres aceitas pela função de API do Windows LocaleNameToLCID().

Retornar value

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

Observação

If value é BLANK, a função retorna uma cadeia de caracteres vazia.

If format_string é BLANK, o value é formatado com um format "Número Geral" or "DateGeral" (de acordo com value tipo de dados).

Observações

  • Cadeias de caracteres de format 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 de área de trabalho do Power BI, a propriedade de cultura de modelo pode ser alterada em Opções > linguagem De configurações regionais > modelo. Para o Analysis Services, a cultura do modelo é definida de acordo com a propriedade Language inicialmente definida pela instância.

  • As cadeias de caracteres format com suporte como argumento para a função DAXFORMAT são baseadas nas cadeias de caracteres format usadas pela Automação OLE (Visual Basic), not nas cadeias de caracteres format usadas pelo .NET Framework. Portanto, você pode obter resultados inesperados or um errorif o argumento não corresponde a nenhuma cadeia de caracteres de format 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 format predefinidas são tratadas como parte de uma cadeia de caracteres de format personalizada, or 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 measure para um tipo de dados de texto. If o resultado do measure é originalmente do tipo de dados numérico, em seguida, com FORMAT, o measure não pode ser usado em visuais em que a seção values requer um tipo de dados numérico, como com gráficos. Em Power BI, você pode usar cadeias de caracteres de format dinâmicas para medidas especificar uma cadeia de caracteres de format condicional que mantém o tipo de dados numéricos do measure.

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

Exemplos

cadeias de caracteres Format

DAX
= 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.

$12.345,67 "Currency" exibe o número com a formatação de localidade currency. O sample aqui mostra a formatação padrão dos Estados Unidos currency.

12345.67 "Fixed" exibe pelo menos um dígito para o left do separador decimal and dois dígitos para o right do separador decimal.

12.345,67 "Standard" exibe pelo menos um dígito no left do separador decimal and dois dígitos para o right do separador decimal, and inclui milhares de separadores. O sample 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 and a porcentagem sign no right 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

DAX
= 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 month precede dayandtime é 12-hourformat.

12/15/2020 12:30:59 Onde day precede monthandtime é 24-hourformat.

15/12/2020 12:30:59 Onde month precede dayandtime é 24-hourformat. Como uma cadeia de caracteres format dependente não local é especificada, a localidade é not aplicada and a format não localidade é retornada.

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, if apropriado; exibe dois dígitos na right do separador decimal. A saída é baseada nas configurações de localidade do sistema.
"Fixed" Exibe pelo menos um dígito para o leftand dois dígitos no right do separador decimal.
"Standard" Exibe o número com mil separadores, pelo menos um dígito para o leftand dois dígitos para o right do separador decimal.
"Percent" Exibe o número multiplicado por 100 com uma porcentagem sign (%) acrescentada imediatamente ao right; sempre exibe dois dígitos no right do separador decimal.
"Scientific" Usa notação científica padrão, fornecendo dois dígitos significativos.
"Yes/No" Exibe nenhum número de if é 0; caso contrário, exibe Sim.
"True/False" Exibe Falseif número é 0; caso contrário, exibe True.
"On/Off" Exibe Desativar if número é 0; caso contrário, exibe Ativado.

Formatos numéricos personalizados

Uma expressão de format personalizada para números pode ter de uma a três seções separadas por ponto-e-vírgula. If o argumento de cadeia de caracteres formatcontains um dos formatos numéricos nomeados, apenas uma seção é permitida.

If você usa O resultado é
Somente uma seção A expressão format aplica-se a allvalues.
Duas seções A seção first aplica-se a zeros valuesand positivos, o second a valuesnegativos.
Três seções A seção first aplica-se a valuespositivos, o second a valuesnegativos, and o terceiro a zeros.
DAX
"$#,##0;($#,##0)"

If incluir ponto-e-vírgula sem nada entre eles, a seção ausente é definida usando a format do valuepositivo. Por exemplo, o format a seguir exibe and negativo positivo values usando o format na seção firstand exibe "Zero" if o value for zero.

DAX
"$#,##0"

If incluir ponto-e-vírgula sem nada entre eles, a seção ausente será mostrada usando o format do valuepositivo.

Caracteres de format numérico personalizados

Os seguintes caracteres de format numérico personalizados podem ser especificados no argumento format_string:

Personagem Descrição
None Exiba o número sem formatação.
(0) Espaço reservado para dígitos. Exibir um dígito or um zero. If a expressão tem um dígito na posição em que o 0 aparece na cadeia de caracteres format, exiba-a; caso contrário, exiba um zero nessa posição.If o número tiver menos dígitos do que zeros (em ambos os lados do decimal) na expressão format, exiba or zeros à direita. If o número tiver mais dígitos no right do separador decimal do que zeros no right do separador decimal na expressão format, round o número de casas decimais como zeros. If o número tiver mais dígitos no left do separador decimal do que zeros no left do separador decimal na expressão format, exiba os dígitos extras sem modificação.
(#) Espaço reservado para dígitos. Exibir um dígito or nada. If a expressão tem um dígito na posição em que o # aparece na cadeia de caracteres format, 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, except que and zeros à direita não são exibidos if o número tem o mesmo or menos dígitos do que há caracteres # em ambos os lados do separador decimal na expressão format.
(.) 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 no leftandright do separador decimal. If a expressão formatcontains apenas sinais numéricos no left desse símbolo, 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 espaço reservado de first dígito para o left do separador decimal. O caractere real usado como um espaço reservado decimal na saída formatada depende do número Format 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 format.
(,) 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 or mais lugares para o left do separador decimal. O uso padrão do separador de mil é especificado if o separador formatcontains mil cercado por espaços reservados de dígito (0or#). Dois milhares separadores adjacentes or mil separadores imediatamente para o left do separador decimal (se ornot um decimal for especificado) significa "dimensionar o número dividindo-o por 1000, arredondando conforme necessário". Por exemplo, você pode usar a cadeia de caracteres format "##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 à left do separador decimal são tratados simplesmente como especificando o uso de mil separadores. O caractere real usado como o separador de mil na saída formatada depende do número Format reconhecido pelo sistema.
(:) Time separador. Em algumas localidades, outros caracteres podem ser usados para representar o separador de time. O separador time separa horas, minutos e and segundos quando timevalues são formatados. O caractere real usado como separador de time na saída formatada é determinado pelas configurações do sistema.
(/) Date separador. Em algumas localidades, outros caracteres podem ser usados para representar o separador de date. O separador date separa o day, month, andyear quando datevalues são formatados. O caractere real usado como separador de date na saída formatada é determinado pelas configurações do sistema.
(E- E+ e- e+) formatcientífica. If a expressão formatcontains pelo menos um espaço reservado de um dígito (0or#) à right de E-, E+, e-, or e+, o número é exibido em formatand científicoS E or e é inserido entre o número and seu expoente. O número de espaços reservados de dígito para o right determina o número de dígitos no expoente. Use e- or e- para colocar uma menos signnext a expoentes negativos. Use o E+ or e+ para colocar uma menos signnext a expoentes negativos and uma signnext de adição a expoentes positivos.
- + $ ( ) Exibir um caractere literal. Para exibir um caractere diferente de um dos listados, preceda-o com uma barra invertida (\) or coloque-o entre aspas duplas (" ").
(\\) Exiba o caractere next na cadeia de caracteres format. 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 caractere next 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 date-formatação andtime-formatação (a, c, d, h, m, n, p, q, s, t, w, y, /, and :), os caracteres de formatação numérica (#, 0, %, E, e, vírgula, and período), and os caracteres de formatação de cadeia de caracteres (@, &, <, >, and !).
("ABC") Exibir a cadeia de caracteres dentro das aspas duplas (" ").

Formatos de date/time predefinidos

Os seguintes formatos predefinidos de date/time podem ser especificados no argumento format_string. Ao usar formatos diferentes desses, eles são interpretados como um date/timeformatpersonalizado:

Format Descrição
"General Date" Exibe um dateand/ortime. Por exemplo, 12/03/2008 11:07:31 AM. Date exibição é determinada pelo valuede cultura atual do aplicativo.
"Long Date" or "Medium Date" Exibe um date de acordo com o longo dateformatda cultura atual. Por exemplo, quarta-feira, 12 de março de 2008.
"Short Date" Exibe um date usando o dateformatcurto da cultura atual. Por exemplo, 12/03/2008.
"Long Time" or Exibe um time usando a timeformatlonga da cultura atual; normalmente inclui horas, minutos, segundos. Por exemplo, 11:07:31 AM.
"Medium Time" Exibe um time em 12 hourformat. Por exemplo, 11h07.
"Short Time" Exibe um time em 24 hourformat. Por exemplo, 11:07.

Formatos de date/time personalizados

Os seguintes caracteres format podem ser especificados no format_string para criar formatos de date/time personalizados:

Personagem Descrição
(:) Time separador. Em algumas localidades, outros caracteres podem ser usados para representar o separador de time. O separador time separa horas, minutos e and segundos quando timevalues são formatados. O caractere real usado como separador de time na saída formatada é determinado pelas configurações do sistema.
(/) Date separador. Em algumas localidades, outros caracteres podem ser usados para representar o separador de date. O separador date separa o day, month, andyear quando datevalues são formatados. O caractere real usado como separador de date na saída formatada é determinado pelas configurações do sistema.
(\) Barra invertida. Exibe o caractere next como um caractere literal. Portanto, ele é not interpretado como um caractere de formatação.
(") Aspas duplas. O texto entre aspas duplas é exibido. Portanto, é not interpretado como caracteres de formatação.
c Exiba a date como dddddand exibir o time como ttttt, nessa ordem. Exibir apenas date informações if não há parte fracionária no número de série date; exibir somente time informações if não há nenhuma parte inteiro.
d Exiba o day como um número sem um zero à esquerda (1-31).
dd Exiba o day como um número com um zero à esquerda (01-31).
ddd Exibir o day como uma abreviação (Sun-Sat). Localizada.
dddd Exibir o day como um nome completo (Sunday-Saturday). Localizada.
ddddd Exiba a date como uma date completa (incluindo day, month, andyear), formatada de acordo com a configuração de dateformat curta do sistema. O dateformat curto padrão é mm/dd/yyyy.
dddddd Exiba um número de série date como um date completo (incluindo day, month, andyear) formatado de acordo com a configuração de date longa reconhecida pelo sistema. O dateformat longo padrão é dddd, mmmm d, yyyy.
w Exiba o day da semana como um número (1 para domingo a 7 para sábado).
ww Exibe a semana do year como um número (1-54).
m Exiba o month como um número sem um zero à esquerda (1-12). If m segue imediatamente horhh, minute em vez do month é exibido.
mm Exiba o month como um número com um zero à esquerda (01-12). If mm segue imediatamente horhh, minute em vez do month é exibido.
mmm Exibir o month como uma abreviação (Jan-Dec). Localizada.
mmmm Exibir o month como um nome de month completo (January-December). Localizada.
q Exiba o quarter do year como um número (1-4).
y Exiba o day do year como um número (1-366).
yy Exiba o year como um número de 2 dígitos (00-99).
yyyy Exiba o year como um número de 4 dígitos (100-9999).
h Exiba o hour como um número sem um zero à esquerda (0-23).
hh Exiba o hour como um número com um zero à esquerda (00-23).
n Exiba o minute como um número sem um zero à esquerda (0-59).
nn Exiba o minute como um número com um zero à esquerda (00-59).
s Exiba o second como um número sem um zero à esquerda (0-59).
ss Exiba o second como um número com um zero à esquerda (00-59).
ttttt Exiba um time como um time completo (incluindo hour, minute, andsecond), formatado usando o separador de time definido pelo timeformat reconhecido pelo seu sistema. Um zero à esquerda é exibido if a opção zero à esquerda é selecionada and o time é antes das 10:00 da manhã or P.M. O timeformat padrão é h:mm:ss.
AM/PM Use o relógio de 12hourand exibir um AM maiúsculo com qualquer hour antes do meio-dia; exibir um PM maiúsculo com qualquer hour entre o meio-dia and 23h59.
am/pm Use o relógio de 12hourand exibir um AM minúsculo com qualquer hour antes do meio-dia; exibir um PM minúsculo com qualquer hour entre o meio-dia and 23h59.
A/P Use o relógio de 12hourand exibir um A maiúsculo com qualquer hour antes do meio-dia; exibir um P maiúsculo com qualquer hour entre o meio-dia and 23h59.
a/p Use o relógio de 12hourand exibir um A minúsculo com qualquer hour antes do meio-dia; exibir um P minúsculo com qualquer hour entre o meio-dia and 23h59.
AMPM Use o relógio de 12hourand exibir o literal da cadeia de caracteres AM conforme definido pelo sistema com qualquer hour antes do meio-dia; exiba o literal da cadeia de caracteres PM conforme definido pelo seu sistema com qualquer hour entre o meio-dia and 23h59. O AMPM pode ser maiúsculo or minúscula, mas o caso da cadeia de caracteres exibida corresponde à cadeia de caracteres, conforme definido pelas configurações do sistema. O format padrão é AM/PM. If seu sistema estiver definido como 24-hour relógio, a cadeia de caracteres é típica definida como uma cadeia de caracteres vazia.

Date/time formatação usa a localidade do usuário atual para format a cadeia de caracteres. Por exemplo, considere o date 25 de junho de 2020. Quando for formatado usando format cadeia de caracteres "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 de date/timeformat personalizados

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

Format 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" Year 2020 Year 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