Compartilhar via


Usar cadeias de caracteres de formato personalizado no Power BI Desktop

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

Com cadeias de caracteres de formato personalizado no Power BI Desktop, é possível personalizar a aparência dos campos em visuais e ter a certeza de que seus relatórios fiquem do jeito que você quer.

Captura de tela do Power BI Desktop no modo de exibição Modelagem, realçando Personalizado no menu suspenso 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ê use esse campo, a cadeia de caracteres de formato é aplicada, a menos que seja substituída por uma cadeia de caracteres de formato no nível do elemento ou visual.
  • Visual. Você pode definir cadeias de caracteres de formato em qualquer coluna, medida ou cálculo visual que esteja em seu visual, mesmo que elas 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, 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 ler esse campo para o 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. Esse nível será expandido para incluir mais no futuro. Qualquer cadeia de caracteres de formato definida aqui substitui o conjunto de cadeias de caracteres de formato 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 mais alto. Uma cadeia de caracteres de formato definida em uma coluna, medida ou cálculo visual em um nível mais alto 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 nos três níveis:

Nível Impactos Disponível para
Element Elemento selecionado do visual selecionado Medidas, Colunas, Cálculos Visuais
Visual Visual selecionado Medidas, Colunas, Cálculos Visuais
Modelar Todos os 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 e elemento). Ele mostra que os cálculos visuais só podem ter cadeias de caracteres de formato no nível de elemento e visual, 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 rótulos de dados e visuais específicos no momento.

Como usar cadeias de caracteres de formato personalizado

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

Dica

Se você vir sufixos inesperados como K ou M, eles vêm da configuração de unidades de exibição do visual (Auto) 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 na exibição Modelagem, em seguida, selecione a seta suspensa em Formatar no painel Propriedades.

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

Depois de selecionar Personalizar no menu suspenso Formatar, escolha uma opção na lista de strings de formatos comumente usadas.

Captura de tela 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 cálculo visual ao seu visual. Em seguida, com o visual selecionado, abra o painel de formato e vá para a seção Geral do painel de formato. Localize as configurações Formatar dados e configure a cadeia de caracteres de formato:

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

Observação

Por enquanto, você precisa inserir uma cadeia de caracteres de formato .NET em vez de uma cadeia de caracteres de formato VBA. Esse é 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 Formatar 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 dão suporte a 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 de K/M/B, a menos que você as defina como Nenhuma. Para definir uma cadeia de caracteres de formato em um rótulo de dados, abra a seção Visual do painel Formatar, defina Rótulos de Dados>Valor>Exibir unidades para personalizar e inserir o código de formato:

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

Sintaxe de formato personalizado permitida

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 dão suporte a todas as sintaxes usadas em outros produtos.

Observação

Atualmente, as strings de formato de nível visual usam formatos de data/hora e numéricos do .NET (limitação temporária). Isso significa que o casing importa (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 em vez de um mês:

  1. Confirme se você aplicou o formato no nível visual (atualmente, sintaxe do .NET).
  2. Nesse caso, altere o mês de m para M, ou mova a cadeia de caracteres 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 de formato personalizado. Ela é aplicada pela configuração de unidades de exibição (dimensionamento automático) no visual ou elemento.

Causas típicas:

  • Exibir unidades definidas como Auto (padrão) para um cartão, KPI, indicador, novo cartão, valor de segmentador ou rótulo de dados.
  • Formatação no nível do elemento aplicada, mas as unidades de exibição ainda estão sendo dimensionadas automaticamente.
  • Após alterar o formato, um cálculo visual ou agregação foi adicionado novamente (unidades de exibição revertidas para Auto).

Como remover o sufixo K/M/B:

  1. Selecione o visual.
  2. Abra o painel Formatar .
  3. Localize 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 unidades rotuladas ou unidades de valor) como Nenhuma (não Auto).
  5. Reaplicar (ou confirmar) a cadeia de caracteres de formato personalizado desejada (por exemplo #,##0, , 0, 0.0, #,##0.###).

Se ainda estiver presente:

  • Verifique se uma substituição no nível do elemento (por exemplo, as configurações de rótulo de dados) também está definida como automática.
  • Confirme se você não inseriu um literal "K" no formato personalizado (por exemplo 0" K").
  • Para medidas de nível de modelo, verifique se nenhuma lógica DAX já dimensiona o valor (por exemplo, dividindo por 1000).

Comparação de exemplo:

Configurações Unidades de exibição Formato personalizado Resultado
Visual de cartão (padrão) Auto #,##0 12K (dimensionado)
Visual do cartão (alterado) Nenhum #,##0 11,732
Rótulo de dados (coluna agrupada) Auto 0 12K
Rótulo de dados (coluna agrupada) Nenhum 0 11,732
Novo cartão (formatação de valor) Auto 0.0" °C" 23.4K °C (indesejado)
Novo cartão (formatação de valores) Nenhum 0.0" °C" 23.4 °C

Dica

Se você quiser abreviações personalizadas , mas não a lógica K/M/B padrão, mantenha unidades de exibição: Nenhum 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.

Observação

O dimensionamento dinâmico com base no tamanho do valor (por exemplo, alternar entre sem sufixo, K, e M) requer uma medida que retorna texto (por exemplo, usando FORMAT() ou lógica condicional) ou uma medida de formato de cadeia de caracteres dinâmica. 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 aceita no Power BI.

Símbolos de data com suporte (sintaxe no estilo VBA utilizada em nível de modelo e elemento)

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

Importante

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

Símbolo Significado ou saída
d Dia do mês sem zero à esquerda (de 1 a 31).
dd Dia do mês com zero à esquerda (01–31).
m Número do mês sem zero à esquerda (1 a 12). Se imediatamente após h ou hh, ele é interpretado como minutos (veja "Símbolos de minuto" a seguir).
mm Número do mês com zero à frente (01-12). Se imediatamente após h ou hh, é interpretado como minutos com zero à esquerda (00–59).
mmm Nome do mês abreviado (Jan–Dez). (Nomes de mês hijri não têm abreviações.)
mmmm Nome completo do mês (janeiro a dezembro).
aa Ano de dois dígitos (00 a 99).
yyyy Ano de quatro dígitos (0001-9999).

Observação

Se você observar valores minutos inesperados onde esperaria ver meses, confirme se você inseriu o formato numa configuração de nível visual (no estilo atual do .NET) ou numa configuração de nível de modelo ou elemento (no estilo do VBA).

Símbolos de tempo com suporte (estilo VBA)

Símbolo Significado ou saída
h Hora sem zero à esquerda (0 a 23). Quando combinado com AM/PM, representa 1 a 12.
hh Hora com zero à esquerda (00 até 23). Quando combinado com AM/PM, representa 01 a 12.
n Minuto sem liderar zero (0 a 59).
nn Minuto com zero à esquerda (00-59).
m / mm Também minutos (0 a 59/00 a 59) somente quando seguirem hhh ou. Caso contrário, eles são tratados como símbolos de mês (consulte símbolos de data).
s Segundo sem liderar zero (0 a 59).
ss Em segundo lugar com zero à esquerda (00-59).

Dica

Prefira n / nn para minutos para evitar ambiguidade com símbolos de mês m / mm.

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 Anotações
m/d/yyy Estilo VBA (modelo) 9/4/25 Mês como número; dia sem zero à esquerda.
mm/dd/yyyyy Estilo de programação VBA (modelo) 09/04/2025 Zeros à esquerda.
mmm d, yyyyy Estilo tipo VBA (modelo) 4 de set de 2025 Mês abreviado.
mmmm d Formato VBA (modelo) Setembro de 4 Nome completo do mês.
h:nn:ss Estilo VBA (modelo) 15:07:08 Usa-se nn para evitar a ambiguidade de mês.
h:m:s Estilo VBA (padrão) 15:7:8 m interpretado como minutos (segue h).
m Estilo VBA (padrão) 9 Número isolado do mês.
M Nível visual do .NET 9 No .NET, maiúsculas M = mês.
m Nível visual do .NET 07 No .NET, o "m" minúsculo é utilizado para representar minutos.
mm/dd Uso indevido misto (nível visual do .NET) 07/04 Mostra minutos/dia quando o usuário espera mês/dia, causando confusão.

Observação

Se você vir um valor de minuto (como 07) onde esperava um mês (como 09), provavelmente inseriu um formato no estilo .NET (nível de visualização) pensando que era estilo VBA. Ajuste a caixa (M vs m) ou mova a formatação para o nível do modelo.

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

Cadeias de caracteres de formato personalizado não dão suporte a sequências hex ou escape (por exemplo \u00B0, 0xB0ou °). Para incluir um símbolo, insira (colar/digitar) o caractere Unicode real dentro de um literal entre aspas ou (para alguns formatos numéricos) sem aspas se for um literal no final.

Goal Cadeia de caracteres de formato (estilo de modelo/VBA) Exemplo de saída Anotações
Acrescentar Celsius com um espaço 0.0" °C" 23.4 °C O espaço está entre aspas para que seja preservado.
Adicionar texto percentual (não dimensionamento automático) 0.00" pct" 12.34 pct Diferente do placeholder % (que multiplica por 100).
Mostrar 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 anexada 0"°" 90° Nenhum espaço adicionado.
Sobrescrito ao quadrado 0" m²" 25 m² ² Cole (U+00B2).

Dica

Para inserir um símbolo:

  • Windows: Pressione Win + . (painel de emojis/símbolos) ou use um código ALT (por exemplo, mantenha pressionada a tecla Alt e digite 0176 no teclado numérico para °).
  • Copiar/colar de um mapa de caracteres.
    Depois que o literal estiver na cadeia de caracteres de formato, ele será tratado como texto simples.

Importante

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

Observação

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

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

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 pontos e vírgulas 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.

Veja a seguir os exemplos de diferentes formatos para diferentes cadeias de caracteres de valor:

Valores Cadeia de formato Cadeia de formato Cadeia de formato Cadeia de formato
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:

Nome do formato Descrição
Data Geral Exibe uma data e/ou hora, por exemplo, 3/4/93 17:34. Se não houver parte fracionária, exibe somente uma data, por exemplo, 3/4/93. Se não houver parte inteira, exibe apenas a hora, por exemplo, 17:34. A exibição da data é determinada pelas configurações do sistema.
Data por Extenso Exibe uma data de acordo com o formato de data por extenso do sistema.
Data Abreviada Exibe uma data usando o formato de data abreviado do sistema.
Hora Detalhada Exibe a hora usando o formato de hora detalhada do sistema; inclui horas, minutos e segundos.
Hora Abreviada Exibe uma hora usando o formato de 24 horas, por exemplo, 17:45.

Formatos numéricos nomeados

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

Nome do formato Descrição
Número Geral Exibir número sem separador de milhares.
Moeda Número de exibição com um separador de milhares. Exibe dois dígitos após o separador decimal. A saída se baseia nas configurações de localidade do sistema.
Fixo Exibe pelo menos um dígito antes e dois dígitos após o separador decimal.
Standard Número de exibição com um separador de milhares, pelo menos um dígito antes e dois dígitos após o separador decimal.
Percent Exibe o número multiplicado por 100 com um sinal de porcentagem (%). Sempre exibe dois dígitos após o separador decimal.
Científico Usa a notação científica padrão.

Outros caracteres de formatação de data/hora

Os seguintes caracteres complementares se aplicam (ainda não cobertos):

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

Observação

Outros tokens dia/mês/ano/hora/minuto/segundo já definidos seguem a semântica no estilo VBA no nível de modelo/elemento e a semântica do .NET, que diferencia maiúsculas de minúsculas, no nível visual.

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

Character Description
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, exibe-o. Caso contrário, exibe um zero nessa posição. Se o número tiver menos dígitos do que zeros (em qualquer lado do decimal) na expressão de formato, exibe zeros à esquerda ou à direita. Se o número tiver mais dígitos do que há de zeros após o separador decimal, arredonde o número para a mesma quantidade de casas decimais que o número de zeros. Se o número tiver mais dígitos do que há de zeros antes do separador decimal, 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. Este símbolo funciona como o espaço reservado de zero dígito. No entanto, os zeros no início e no final 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 antes e após o 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.
( , ) Milhares de separadores. Em algumas localidades, um período é usado como um 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 delimitado por marcadores de dígito ( 0 ou # ). Dois separadores de milhares adjacentes ou um separador de milhares imediatamente à esquerda do separador decimal (se uma decimal é especificada ou não) 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. Os números inferiores a 1 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 simplesmente indicam que é usado um separador de milhares. O caractere real usado como separador de milhares na saída formatada depende do Formato de Número reconhecido pelo 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 #) após 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 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 dentro de aspas duplas (por exemplo 0.0" °C"). Use uma contrabarra apenas para escapar do próximo caractere, caso ele seja interpretado de outra maneira (ele não introduz escapes hexadecimais ou escapes \u).
( \ ) Exibe o próximo caractere na cadeia de caracteres de formato. Para exibir um caractere que tem um significado especial como um caractere literal, coloque uma barra invertida (\) antes dele. 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 (\\). Os 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 string (@, &, <, >, !).
("ABC") Exibe a cadeia de caracteres entre aspas duplas (" ").

Considerações e limitações

  • Você não pode definir uma cadeia de caracteres de formato personalizado para campos que são do tipo cadeia de caracteres ou booliano.

Para saber mais, veja: