Partilhar via


Usar cadeias de caracteres de formato personalizado no Power BI Desktop

APLICA-SE A: Serviço Power BI do Power BI Desktop

Com cadeias de caracteres de formato personalizado no Power BI Desktop, você pode personalizar como os campos aparecem nos elementos visuais e garantir que seus relatórios tenham a aparência desejada.

Captura de ecrã do ambiente de trabalho do Power BI na vista Modelação, realçando Personalizado no menu pendente Formatar.

As cadeias de caracteres de formato existem em três níveis:

  • Modelo. Você pode definir uma cadeia de caracteres de formato para campos no modelo ou usar uma cadeia de caracteres de formato dinâmico para formatar sua medida. Em qualquer lugar que você usar esse campo, a cadeia de caracteres de formato será aplicada, a menos que seja substituída por uma cadeia de caracteres de formato visual ou de nível de elemento.
  • Visual. Você pode definir cadeias de caracteres de formato em qualquer coluna, medida ou cálculo visual que esteja em seu visual, mesmo que eles já tenham uma cadeia de caracteres de formato. Nesse caso, a cadeia de caracteres de formato de nível de modelo é substituída e a cadeia de caracteres de formato de nível visual é usada. Se você alterar a agregação em um campo, o que invalida uma cadeia de caracteres de formato de nível visual definida anteriormente, a cadeia de caracteres de formato será removida. As cadeias de caracteres de formato de nível visual para campos são mantidas para campos, mas não para cálculos visuais. Se você definir uma cadeia de caracteres de formato de nível visual em um campo e, em seguida, remover e adicionar novamente esse campo ao mesmo visual, a cadeia de caracteres de formato de nível visual será restabelecida. Por outro lado, para um cálculo visual, a cadeia de caracteres de formato não é restabelecida.
  • Elemento. Você pode definir uma cadeia de caracteres de formato para rótulos de dados e para elementos específicos do novo cartão e dos novos visuais de segmentação de dados. Este nível será alargado para incluir mais no futuro. Qualquer cadeia de caracteres de formato definida aqui substitui a cadeia de caracteres de formato definida no nível visual e do modelo.

Esses níveis são hierárquicos, com o nível do modelo sendo o nível mais baixo e o nível do elemento o mais alto. Uma cadeia de caracteres de formato definida em uma coluna, medida ou cálculo visual em um nível superior substitui o que foi definido em um nível inferior.

Como os cálculos visuais não estão no modelo, eles não podem ter uma cadeia de caracteres de formato definida no nível do modelo, mas podem no nível visual ou do elemento. Medidas e colunas podem ter cadeias de caracteres de formato em todos os três níveis:

Nível Impactos Disponível para
Elemento Elemento selecionado do visual selecionado Medidas, Colunas, Cálculos Visuais
elemento visual Elemento visual selecionado Medidas, Colunas, Cálculos Visuais
Modelo Todos os elementos visuais, todas as páginas, todos os relatórios no mesmo modelo Medidas, Colunas

Diagrama mostrando os três níveis de cadeias de caracteres de formato disponíveis (modelo, visual, elemento). Ele mostra que os cálculos visuais só podem ter cadeias de caracteres de formato visuais e de nível de elemento, enquanto medidas e colunas podem ter cadeias de caracteres de formato em todos os níveis.

A cadeia de caracteres de formato de nível de elemento só está disponível para visuais e rótulos de dados específicos no momento.

Como usar cadeias de caracteres de formato personalizado

Para usar cadeias de caracteres de formato personalizadas, primeiro você precisa decidir em qual nível vai trabalhar: Modelo, Visual ou Elemento.

Sugestão

Se você vir sufixos inesperados como K ou M, eles vêm da configuração de unidades de exibição (Auto) do visual em vez da cadeia de caracteres de formato personalizado em si — defina Unidades de exibição como Nenhuma para mostrar o número completo.

Adicionar uma cadeia de caracteres de formato de nível de modelo

Para criar cadeias de caracteres de formato personalizado no modelo, selecione o campo no modo de exibição Modelagem e selecione a seta suspensa em Formatar no painel Propriedades.

Captura de ecrã do painel Propriedades, realçando o menu Formatar.

Depois de selecionar Personalizar no menu suspenso Formatar , escolha em uma lista de cadeias de caracteres de formato comumente usadas.

Captura de ecrã do menu Formatação, realçando Personalizado.

Adicionar uma cadeia de caracteres de formato de nível visual

Para criar uma cadeia de caracteres de formato de nível visual, primeiro adicione o campo ou o cálculo visual ao visual. Em seguida, com o visual selecionado, abra o painel de formato e vá para a seção Geral do painel de formato. Encontre as configurações de Formatar dados e configure a cadeia de caracteres de formato lá:

Captura de tela do painel Formato para um visual, mostrando as configurações de formato de dados na seção Geral.

Nota

Por enquanto, você precisa inserir uma cadeia de caracteres de formato .NET em vez de uma cadeia de caracteres de formato VBA. Este é um problema temporário que será resolvido em uma versão futura.

Adicionar uma cadeia de caracteres de formato de nível de elemento

Para criar uma cadeia de caracteres de formato de nível de elemento, abra o painel de formato e localize as seções de cadeia de caracteres de formato para o elemento no qual você deseja definir o formato. Tenha em mente que nem todos os elementos suportam cadeias de caracteres de formato. Além disso, as unidades de exibição no nível do elemento ainda podem aplicar o dimensionamento automático K/M/B, a menos que você as defina como Nenhum. Para definir uma cadeia de caracteres de formato em um rótulo de dados, abra a seção Visual do painel de formato, defina Unidades de exibição de valor>de rótulos>de dados como personalizadas e insira o código de formato:

Captura de tela do painel Formato de um visual, mostrando as configurações de formato de valor para Rótulos de Dados na seção Visual.

Sintaxe de formato personalizado suportada

As cadeias de caracteres de formato personalizado seguem a sintaxe de estilo VBA, comum ao Excel e a outros produtos da Microsoft, mas não suportam toda a sintaxe usada em outros produtos.

Nota

Atualmente, as cadeias de formato a nível visual usam tokens de data/hora e formato numérico do .NET (limitação temporária). Isto significa que maiúsculas e minúsculas fazem diferença (M = mês, m = minuto). As cadeias de caracteres de formato personalizado no nível do modelo e do elemento usam os tokens no estilo VBA documentados nas tabelas a seguir. Essa limitação será removida em uma versão futura para que todos os níveis usem uma sintaxe unificada.

Solução de problemas de valores inesperados de mês ou minuto

Se um formato personalizado mostrar minutos onde você esperava um mês:

  1. Confirme se você aplicou o formato no nível visual (atualmente sintaxe do .NET).
  2. Em caso afirmativo, altere de m para M para o mês, ou mova a cadeia de formato personalizado para o nível do modelo para usar o estilo m VBA.
  3. Use nn por minutos em contextos no estilo VBA para evitar confusão com símbolos de mês.

Solução de problemas de dimensionamento automático indesejado (sufixos K, M, B)

Se o visual mostrar um sufixo como K (milhares), M (milhões) ou B (bilhões), mesmo que você defina um formato de número personalizado (por exemplo #.### , ou #,##0), o sufixo geralmente não vem da cadeia de caracteres do formato personalizado. Ele é aplicado pela configuração Unidades de exibição (dimensionamento automático) no visual ou elemento.

Causas típicas:

  • Unidades de exibição definidas como Automático (padrão) para um cartão, KPI, gráfico de medidor, novo cartão, valor do segmentador ou rótulo de dados.
  • Formatação no nível do elemento aplicada, mas as unidades de exibição do elemento ainda são dimensionadas automaticamente.
  • Um cálculo ou agregação visual foi readicionada após a alteração do formato (unidades de apresentação revertidas para Automático).

Como remover o sufixo K/M/B:

  1. Seleccione o visual.
  2. Abra o painel Formatar .
  3. Encontre as configurações de valor numérico (por exemplo, Formato de Dados Gerais>, Rótulos de Dados Visuais>, Valor de Destaque ou Valores para o novo cartão).
  4. Defina Unidades de exibição (às vezes rotuladas como Unidades ou Unidades de valor) como Nenhuma (não Automática).
  5. Reaplique (ou confirme) a cadeia de caracteres de formato personalizado desejada (por exemplo#,##0, , 0, 0.0#,##0.###, ).

Se ainda estiver presente:

  • Verifique se há uma substituição no nível do elemento (por exemplo, configurações de rótulo de dados) também definida como Automático.
  • Confirme que não incorporou um "K" literal no formato personalizado (por exemplo 0" K").
  • Para medidas no nível do modelo, certifique-se de que nenhuma lógica DAX já dimensione o valor (por exemplo, dividindo por 1000).

Exemplo de comparação:

Configuração Mostrar unidades Formato personalizado Result
Visual do cartão (padrão) Auto #,##0 12K (escalado)
Cartão visual (alterado) None #,##0 11,732
Rótulo de dados (coluna clusterizada) Auto 0 12K
Rótulo de dados (coluna clusterizada) None 0 11,732
Novo cartão (Formatação de valor) Auto 0.0" °C" 23.4K °C (não desejado)
Novo cartão (Formatação de valores) None 0.0" °C" 23.4 °C

Sugestão

Se desejar abreviaturas personalizadas , mas não a lógica padrão K/M/B, mantenha Unidades de exibição: Nenhuma e acrescente texto literal na cadeia de caracteres de formato (por exemplo 0.0"k"). Isso preserva o controle de precisão numérica bruto.

Nota

O dimensionamento dinâmico com base no tamanho do valor (por exemplo, alternar entre nenhum sufixo, K e M) requer uma medida que retorne texto (por exemplo, usando FORMAT(), ou lógica condicional) ou uma medida de string de formato dinâmico. As cadeias de caracteres de formato personalizado estático por si só não fornecem lógica de sufixo condicional.

As tabelas a seguir definem a sintaxe com suporte no Power BI.

Símbolos de data suportados (sintaxe no estilo VBA usada por nível de modelo e elemento)

Os símbolos a seguir se aplicam a cadeias de caracteres de formato personalizado que usam a sintaxe no estilo VBA (semelhante ao Excel).

Importante

As cadeias de caracteres de formato personalizado de nível visual exigem temporariamente tokens de formato .NET (consulte a observação a seguir). Nos formatos de data/hora personalizados do .NET, maiúsculas M representam mês e minúsculas m representam minutos. Em formatos no estilo VBA (usados nos níveis de modelo e elemento aqui), minúsculas m representam mês. Esta diferença é uma fonte comum de confusão.

Symbol Significado ou resultado
d Dia do mês sem zero à esquerda (1–31).
dd Dia do mês com zero à esquerda (01–31).
m Número do mês sem o zero inicial (1–12). Se imediatamente após h ou hh, é interpretado como minutos (ver "Símbolos de minuto" a seguir).
mm Número do mês com zero à esquerda (01–12). Se imediatamente após h ou hh, é interpretado como minutos com zero à esquerda (00–59).
mmm Nome abreviado do mês (jan–dez). (Os nomes dos meses Hijri não têm abreviaturas.)
mmmm Nome completo do mês (janeiro–dezembro).
yy Ano de dois dígitos (00–99).
yyyy Ano de quatro dígitos (0001–9999).

Nota

Se vir valores de minutos inesperados onde espera meses, verifique se inseriu o formato numa configuração de nível visual (atualmente estilo .NET), ou numa configuração de nível de modelo/elemento (estilo VBA).

Símbolos de tempo suportados (estilo VBA)

Symbol Significado ou resultado
h Hora sem zero inicial (0-23). Quando combinado com AM/PM, representa de 1 a 12.
hh Hora com zero inicial (00–23). Quando combinado com AM/PM, representa 01–12.
n Minuto sem levar zero (0-59).
nn Minuto com zero à esquerda (00–59).
m/mm TAMBÉM minutos (0–59 / 00–59) apenas quando se seguem imediatamente h ou hh. Caso contrário, eles são tratados como símbolos de mês (consulte símbolos de data).
s Segundo sem liderar zero (0-59).
ss Em segundo lugar, com zero vantagem (00-59).

Sugestão

Prefira n / nn para minutos para evitar ambiguidade com m / mm símbolos dos meses.

Exemplos de data e hora

Suponha o timestamp de exemplo: 2025-09-04 15:07:08 (4 de setembro de 2025, 15:07:08).

Formatar cadeia de caracteres Contexto (estilo VBA versus .NET) Resultado esperado Observações
d/m/aa Estilo VBA (modelo) 9/4/25 Mês como número; dia sem zero à esquerda.
dd/mm/aaaa Estilo VBA (modelo) 09/04/2025 Zeros à esquerda.
mmm d, aaaa Estilo VBA (modelo) 4 de setembro, 2025 Mês abreviado.
mmmm d Estilo VBA (modelo) 4 de setembro Nome completo do mês.
h:nn:ss Estilo VBA (modelo) 15:07:08 Usa nn para evitar a ambiguidade do mês.
h:m:s Estilo VBA (modelo) 15:7:8 m interpretada como minutos (segue h).
m Estilo VBA (modelo) 9 Número de mês independente.
M Nível visual do .NET 9 Em .NET, M maiúsculo = mês.
m Nível visual do .NET 07 Em .NET, m minúsculo = minutos.
mm/dd Uso indevido misto (nível visual do .NET) 07/04 Apresenta minutos/dia se o utilizador esperava mês/dia — causa de confusão.

Nota

Se vir um valor de minuto (como 07) quando esperava um mês (como 09), é provável que tenha introduzido um formato ao estilo .NET (ao nível visual) pensando que era ao estilo VBA. Ajuste o invólucro (M vs m) ou mova a formatação para o nível do modelo.

Adicionar Unicode ou símbolos especiais (grau, moeda, sobrescritos)

As cadeias de caracteres de formato personalizado não suportam sequências hexadecimais ou de escape (por exemplo \u00B0, , 0xB0ou °). Para incluir um símbolo, insira (cole/digite) o caractere Unicode real dentro de um literal entre aspas ou (para alguns formatos numéricos) sem aspas se for um literal à direita.

Objetivo Formatar cadeia de caracteres (modelo / estilo VBA) Exemplo de saída Observações
Adicionar Celsius com um espaço 0.0" °C" 23.4 °C O espaço está dentro das aspas, por isso é preservado.
Adicionar texto percentual (não dimensionamento automático) 0.00" pct" 12.34 pct ** Diferente de % marcador de posição (que se multiplica por 100).
Apresentar números em milhares com sufixo KB 0" KB" 512 KB Literal "KB".
Moeda com símbolo explícito #,##0.00" €" 1,234.00 € Prefira a moeda de nível de modelo baseada em localidade se o símbolo dinâmico for necessário.
Etiqueta de microssegundos 0" µs" 15 µs Cole μ (U+00B5).
Grau sem unidade adicional 0"°" 90° Sem espaço adicionado.
Sobrescrito em quadrado 0" m²" 25 m² Colar ² (U+00B2).

Sugestão

Para inserir um símbolo:

  • Windows: Pressione Win + . (painel emoji/símbolo) ou use um código ALT (por exemplo, segure Alt, digite 0176 no teclado numérico para °).
  • Copie/cole de um mapa de caracteres.
    Uma vez que o literal está na cadeia de caracteres de formato, ele é tratado como texto sem formatação.

Importante

Os padrões de barra invertida (\), \uXXXXou 0xNN escape não são interpretados — o Power BI não os traduz para Unicode em cadeias de caracteres de formato personalizado. Use o próprio personagem. Para formatos de nível visual (.NET), a regra é a mesma: incluir o caractere real entre aspas (por exemplo 0.0" °C"). Uma barra invertida só escapa ao personagem seguinte; ele não cria sequências Unicode.

Nota

Para lógica de símbolo dinâmico (por exemplo, alternar °C / °F com base na seleção de um fatiador), utilize uma medida DAX que retorne um valor de texto ou uma medida de string de formato dinâmico em vez de apenas uma string de formato personalizado estático.

Você pode ver um exemplo de como formatar cadeias de caracteres de valor personalizadas.

Uma expressão de formato definido pelo usuário para números pode ter de uma a três seções separadas por ponto-e-vírgula. Se você incluir ponto-e-vírgula sem nada entre eles, a seção ausente não será exibida, em vez disso, você verá "". Se você não especificar o ponto-e-vírgula, ele usará o formato positivo.

Aqui estão exemplos de formatos diferentes para cadeias de valores diferentes:

Valores Formatar cadeia de caracteres Formatar cadeia de caracteres Formatar cadeia de caracteres Formatar cadeia de caracteres
0.00;-0.0;" Zero" 0.00;; 0.00;-0.0; 0.00;
-1.234 -1.2 "" -1.2 ""
0 "Zero" "" "" 0.00
1.234 1.23 1.23 1.23 1.23

A tabela a seguir identifica os formatos de data e hora nomeados predefinidos:

Nome do formato Descrição
Data Geral Exiba uma data e hora, por exemplo, 03/04/93 17:34. Se não houver uma parte fracionada, exiba apenas uma data, por exemplo, 4/3/93. Se não houver uma parte inteira, apenas o tempo de exibição, por exemplo, 17:34. A exibição da data é determinada pelas configurações do sistema.
Data Longa Exiba uma data de acordo com o formato de data longa do seu sistema.
Data abreviada Exiba uma data usando o formato de data abreviada do seu sistema.
Longo Tempo Exiba um tempo usando o formato de tempo longo do seu sistema; inclui horas, minutos, segundos.
Tempo curto Exiba um horário usando o formato de 24 horas, por exemplo, 17:45.

Formatos numéricos nomeados

A tabela a seguir identifica os formatos numéricos nomeados predefinidos:

Nome do formato Descrição
Número geral Número de exibição sem separador de milhares.
Moeda Mostrar número com separador de milhar. Exiba dois dígitos após o separador decimal. A saída é baseada nas configurações de localidade do sistema.
Fixo Exiba pelo menos um dígito antes e dois dígitos depois do separador decimal.
Standard Exiba o número com um separador de milhares, pelo menos um dígito antes e dois dígitos depois do separador decimal.
Percentagem Número de exibição multiplicado por 100 com um sinal de porcentagem ( % ). Exiba sempre dois dígitos após o separador decimal.
Científico Use notação científica padrão.

Outros caracteres de formatação de data/hora

Aplicam-se os seguintes caracteres suplementares (ainda não abrangidos):

Personagem Description
: Separador de tempo (específico da localidade).
/ Separador de data (específico da localidade).
TT Designador AM/PM (relógio de 12 horas, maiúsculas).

Nota

Outros tokens de dia/mês/ano/hora/minuto/segundo já definidos seguem a semântica no estilo VBA no nível do modelo/elemento e a semântica do .NET (sensível à caixa ) no nível visual.

A tabela a seguir identifica os caracteres que você pode usar para criar formatos de número definidos pelo usuário.

Personagem Description
None Exiba o número sem formatação.
( 0 ) Marcador de posição digital. 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 do que zeros após o separador decimal, arredondar o número para tantas casas decimais quantas forem zeros. Se o número tiver mais dígitos do que zeros antes do separador decimal, exiba os dígitos extras sem modificação.
# ( ) Marcador de posição digital. 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. Este símbolo funciona como o marcador de posição de dígito zero. No entanto, 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 antes e depois do separador decimal. Se a expressão de formato contiver apenas sinais numéricos à esquerda deste símbolo, os números menores que um começam com um separador decimal. Para exibir um zero à esquerda exibido com números fracionários, use 0 como o espaço reservado para o 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 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.
( , ) Milhares de separadores. Em algumas localidades, um ponto é usado como separador de milhares. 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 milhares é especificado se o formato contiver um separador de milhares cercado por espaços reservados para dígitos ( 0 ou # ). Dois separadores de milhares adjacentes ou um separador de milhares imediatamente à esquerda do separador decimal (quer seja ou não especificado 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 um milhão são exibidos como 0. Dois separadores de milhares 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 milhares. O caractere real usado como separador de milhares 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 marcador de posição de dígito ( 0 ou # ) após E-, E+, e-, ou e+, o número é apresentado em formato científico e E ou e é inserido entre o número e o seu expoente. O número de espaços reservados para dígitos 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 esses caracteres literais. Qualquer outro caractere Unicode (°, €, μ, ², etc.) pode ser incluído digitando ou colando-o entre aspas duplas (por exemplo 0.0" °C"). Utilize uma barra invertida apenas para escapar do próximo caractere se ele de outra forma fosse interpretado (não introduz escapes hexadecimais ou \u).
\ ( ) 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 (\\). Caracteres de formatação de data e hora (a, c, d, h, m, n, p, q, s, t, w, /, e :) não podem ser exibidos como caracteres literais, os caracteres de formatação numérica (#, 0, %, E, e, vírgula e ponto) e os caracteres de formatação de cadeia de caracteres (@, &, <, >, !).
("ABC") Exiba a cadeia de caracteres dentro das aspas duplas (" ").

Considerações e limitações

  • Não é possível definir uma cadeia de caracteres de formato personalizado para campos do tipo string ou booleano.

Para obter mais informações, consulte: