FORMAT
Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual
Converte um value em texto de acordo com o formatespecificado.
Sintaxe
FORMAT(<value>, <format_string>[, <locale_name>])
Parâmetros
Vigência | Definição |
---|---|
value |
Uma expressão valueor que é avaliada com uma única 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(). |
Regresso value
Uma cadeia de caracteres que contém value
formatada conforme definido por format_string
.
Observação
If
value
for BLANK, a função retorna uma cadeia de caracteres vazia.
If
format_string
é BLANK, o value é formatado com um "Número Geral" or "DateGeral" format (de acordo com value
tipo de dados).
Comentários
As cadeias de caracteres format 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 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 Language inicialmente definida pela instância.
As cadeias de caracteres de format suportadas como um argumento para a função DAXFORMAT são baseadas nas cadeias de caracteres de format usadas pelo Visual Basic (automação OLE) not nas cadeias de caracteres de format usadas pelo .NET Framework. Portanto, você pode obter resultados inesperados or um errorif o argumento não corresponda a nenhuma cadeia de caracteres format 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 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 especificando uma localidade com FORMAT, confira este vídeo.
O uso do FORMAT altera um resultado measure para um tipo de dados de texto. If o resultado measure for originalmente do tipo de dados numéricos, com FORMAT, o measure não pode ser usado em elementos visuais em que a seção values requer um tipo de dados numéricos, como com gráficos. No Power BI, você pode usar alternativamente cadeias de caracteres de format dinâmico para medidas especificar uma cadeia de caracteres format condicional que mantenha o tipo de dados numéricos do measure.
Esta função not é suportada para uso no modo DirectQuery quando usada em colunas calculadas or regras de segurança em nível de linha (RLS).
Exemplos
Format cordas
= 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 "Currency" exibe o número com sua formatação de localidade currency. A sample aqui mostra a formatação padrão do currency dos Estados Unidos.
12345.67 "Fixed" exibe pelo menos um dígito na left do separador decimal and dois dígitos na right do separador decimal.
12.345,67 "Padrão" exibe pelo menos um dígito à left do separador decimal and dois dígitos à right do separador decimal, and inclui mil separadores. A sample aqui mostra a formatação de número padrão dos Estados Unidos.
1.234.567,00 % "Percent" exibe o número como uma porcentagem (multiplicada por 100) com formatação and a porcentagem sign no right do número separados 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 month precede dayandtime é 12-hourformat.
15/12/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 de format não dependente de localidade é especificada, a localidade not é aplicada and que 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 separadores de milhar. |
"Currency" |
Exibe o número com separadores de milhar, 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 para a right do separador decimal. |
"Standard" |
Exibe o número com separadores de milhar, pelo menos um dígito para o leftand dois dígitos para a right do separador decimal. |
"Percent" |
Exibe o número multiplicado por 100 com uma porcentagem sign (%) anexada imediatamente ao right; sempre exibe dois dígitos ao right do separador decimal. |
"Scientific" |
Usa notação científica padrão, fornecendo dois dígitos significativos. |
"Yes/No" |
Exibe Nenhum número if é 0; caso contrário, exibe Sim. |
"True/False" |
Exibe Falseif número é 0; caso contrário, exibe True. |
"On/Off" |
Exibe Off 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 utiliza | O resultado é |
---|---|
Apenas uma secção | A expressão format aplica-se a allvalues. |
Duas secções | A secção first aplica-se a zeros positivos valuesand, a second a valuesnegativos. |
Três secções | A secção first aplica-se aos valuespositivos, o second aos valuesnegativos and o terceiro aos zeros. |
"$#,##0;($#,##0)"
If você incluir ponto-e-vírgula sem nada entre eles, a seção ausente é definida usando a format do valuepositivo. Por exemplo, a format a seguir exibe values positivos and negativos usando o format na seção firstand exibe "Zero" if o value é zero.
"$#,##0"
If você incluir ponto-e-vírgula sem nada entre eles, a seção ausente será mostrada usando o format do valuepositivo.
Caracteres format numéricos personalizados
Os seguintes caracteres format numéricos 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. Exiba um dígito or zero. If a expressão tiver um dígito na posição em que o 0 aparece na cadeia de format, exiba-o; 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 zeros à esquerda or à direita. If o número tiver mais dígitos na right do separador decimal do que zeros na right do separador decimal na expressão format, round o número a tantas casas decimais quanto zeros. If o número tiver mais dígitos na left do separador decimal do que zeros na left do separador decimal na expressão format, exiba os dígitos extras sem modificação. |
(# ) |
Espaço reservado para dígitos. Exiba um dígito or nada. If a expressão tiver um dígito na posição em que o # aparece na cadeia de format, 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, except que zeros à esquerda and à 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 ao leftandright do separador decimal. If a expressão formatcontains apenas sinais numéricos à left 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 espaço reservado de first dígitos para a 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 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 format. |
(, ) |
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 or mais lugares ao left do separador decimal. O uso padrão do separador de mil é especificado if separador de formatcontains mil cercado por espaços reservados para dígitos (0 or# ). Dois separadores de mil adjacentes or um separador de mil imediatamente à left do separador decimal (quer ornot um decimal seja especificado) significa "dimensionar o número dividindo-o por 1000, arredondando conforme necessário". Por exemplo, você pode usar a cadeia de format "##0,," para representar 100 milhões como 100. Números menores que 1 milhão são exibidos como 0. Dois mil separadores adjacentes em qualquer posição que não seja imediatamente à left 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 número Format reconhecido pelo seu sistema. |
(: ) |
Time separador. Em algumas localidades, outros caracteres podem ser usados para representar o separador time. O separador time separa horas, minutos 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 date. O separador date separa o day, monthandyear 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 marcador de posição de dígito (0 or# ) para a right de E-, E+, e-, or e+, o número é exibido em formatand científica E or e é inserido entre o número and seu expoente. O número de espaços reservados para dígitos no right determina o número de dígitos no expoente. Use E- or e- para colocar um signnext negativo para expoentes negativos. Use E+ or e+ para colocar um signnext negativo para expoentes negativos and um signnext positivo para expoentes positivos. |
- + $ ( ) |
Exiba 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 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 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 date-formatação andtime-formatação de caracteres (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 ponto) and os caracteres de formatação de cadeia de caracteres (@, &, <, >, and !). |
("ABC") | Exiba a cadeia de caracteres dentro das aspas duplas (" "). |
Formatos date/time predefinidos
Os seguintes formatos date/time predefinidos podem ser especificados no argumento format_string
. Ao usar formatos diferentes destes, eles são interpretados como um datepersonalizado /timeformat:
Format | Descrição |
---|---|
"General Date" |
Exibe um dateand/ortime. Por exemplo, 3/12/2008 11:07:31 AM. Date exibição é determinada pela cultura atual do seu aplicativo value. |
"Long Date" or "Medium Date" |
Exibe uma date de acordo com a longa dateformatda sua cultura atual. Por exemplo, quarta-feira, 12 de março de 2008. |
"Short Date" |
Exibe um date usando o dateformatcurto da sua cultura atual. Por exemplo, 3/12/2008. |
"Long Time" or |
Exibe uma time usando o longo timeformatda sua cultura atual; normalmente inclui horas, minutos, segundos. Por exemplo, 11:07:31. |
"Medium Time" |
Exibe um time em 12 hourformat. Por exemplo, 11:07. |
"Short Time" |
Exibe um time em 24 hourformat. Por exemplo, 11:07. |
Formatos date/time personalizados
Os seguintes caracteres format podem ser especificados no format_string
para criar formatos date/time personalizados:
Personagem | Descrição |
---|---|
(: ) |
Time separador. Em algumas localidades, outros caracteres podem ser usados para representar o separador time. O separador time separa horas, minutos 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 date. O separador date separa o day, monthandyear 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. Então, é not interpretado como um caractere de formatação. |
(" ) |
Aspas duplas. O texto entre aspas duplas é exibido. Então, é not interpretado como formatação de caracteres. |
c |
Exiba o date como ddddd and exiba o time como ttttt , nessa ordem. Exibir apenas informações dateif não houver nenhuma parte fracionária para o número de série date; exibir apenas informações timeif não houver nenhuma parte inteira. |
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 |
Exiba o day como uma abreviatura (Sun-Sat). Localizado. |
dddd |
Exiba o day como um nome completo (Sunday-Saturday). Localizado. |
ddddd |
Exiba o date como um date completo (incluindo day, monthandyear), formatado de acordo com a configuração de dateformat curto do seu sistema. O dateformat curto padrão é mm/dd/yyyy . |
dddddd |
Exiba um número de série date como um date completo (incluindo day, monthandyear) formatado de acordo com a configuração de date longo reconhecida pelo seu 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 |
Exiba a semana da year como um número (1-54). |
m |
Exiba o month como um número sem um zero à esquerda (1-12).
If
m imediatamente se segue h orhh , minute em vez do month é exibido. |
mm |
Exiba o month como um número com um zero à esquerda (01-12).
If
mm imediatamente se segue h orhh , minute em vez do month é exibido. |
mmm |
Exiba o month como uma abreviatura (Jan-Dec). Localizado. |
mmmm |
Exiba o month como um nome de month completo (January-December). Localizado. |
q |
Exiba a quarter do year como um número (1-4). |
y |
Exiba a 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, minuteandsecond), 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 or P.M. O timeformat padrão é h:mm:ss . |
AM/PM |
Use o relógio de 12hourand exibir uma AM maiúscula com qualquer hour antes do meio-dia; exibir um PM maiúsculo com qualquer hour entre meio-dia and 23h59. |
am/pm |
Use o relógio de 12hourand exibir uma AM minúscula com qualquer hour antes do meio-dia; exibir uma PM minúscula com qualquer hour entre 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 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 meio-dia and 23h59. |
AMPM |
Use o relógio de 12hourand exibir a string AM literal, conforme definido pelo seu sistema, com qualquer hour antes do meio-dia; exibir a string PM literal conforme definido pelo seu sistema com qualquer hour entre meio-dia and 23:59 AMPM pode ser maiúscula or minúscula, mas o caso da string exibida corresponde à string conforme definido pelas configurações do sistema. O format padrão é AM/PM. If o sistema estiver configurado para um relógio de 24hour, a string é normalmente definida como uma string vazia. |
A formatação Date/time usa a localidade do usuário atual para format a cadeia de caracteres. Por exemplo, considere o date 25 de junho de 2020. Quando estiver formatado usando format string "m/d/yyyy" será:
- A localidade do usuário é Estados Unidos da América (en-US): "25/06/2020"
- 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 13:23:45. A Alemanha (de-DE) utiliza 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. 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" |
Year 2020 | Year 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 |