Compartilhar via


Criar cadeias de caracteres de formato dinâmico para medidas

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

Usando cadeias de caracteres de formato dinâmico para medidas, você pode controlar como as medidas aparecem nos visuais. Aplique condicionalmente uma cadeia de caracteres de formato usando uma fórmula DAX (Expressão de Análise de Dados) separada.

Cadeias de caracteres de formato dinâmico resolvem um problema com a função FORMAT. FORMAT retorna todos os resultados como cadeias de caracteres, até mesmo tipos de dados numéricos. Esse comportamento pode causar problemas com visuais como gráficos que precisam de valores numéricos.

Quando você usa cadeias de caracteres de formato dinâmico, a medida mantém seu tipo de dados e não é alterada para um tipo de dados de cadeia de caracteres. Você aplica cadeias de caracteres de formato diferentes à medida, dependendo do contexto.

Você também pode usar cadeias de caracteres de formato dinâmico com grupos de cálculo. Os mesmos padrões DAX que funcionam com grupos de cálculo também funcionam em cadeias de caracteres de formato dinâmico para medidas. No entanto, o escopo é limitado a medidas individuais em vez de todas as medidas no modelo. Para obter mais informações, consulte Grupos de cálculo – cadeias de caracteres de formato dinâmico.

Criar cadeias de caracteres de formato dinâmico

  1. No painel Dados, selecione a medida para a qual você deseja especificar uma cadeia de caracteres de formato dinâmico.
  2. Na barra de ferramentas Ferramentas de Medição, na seção Formatação, selecione Dinâmico na lista suspensa Formato. Uma nova lista suspensa com Formato já selecionada aparece à esquerda da barra de fórmulas DAX. Essa lista suspensa permite alternar entre a expressão DAX de medida estática e a expressão DAX de string de formato dinâmico. A cadeia de caracteres de formato estático que você usou antes de alternar para Dinâmico é pré-preenchida como uma cadeia de caracteres na barra de fórmulas DAX.

Usar a parte de valor de uma caixa de texto

Ao trabalhar com caixas de texto em seus relatórios, você pode exibir valores de medida com formatação dinâmica. Para usar a parte de valor de uma caixa de texto:

  1. Selecione a caixa de texto no relatório.

  2. No painel Formatar , em Valores, selecione o botão de campo (ícone fx).

  3. Escolha a medida que tem uma cadeia de caracteres de formato dinâmico aplicada.

  4. A caixa de texto exibe o valor da medida usando a cadeia de caracteres de formato dinâmico.

    Para obter mais informações sobre caixas de texto e conteúdo dinâmico, consulte Adicionar caixas de texto e formas aos relatórios do Power BI.

    Captura de tela do menu suspenso Formato.

  5. Substitua a cadeia de caracteres por uma expressão DAX que gera a cadeia de caracteres de formato correta para sua medida. Por exemplo, a expressão a seguir pesquisa a cadeia de caracteres de formato de moeda desejada de uma tabela Cadeias de caracteres de formato de moeda de país/região :

    Captura de tela da expressão de medida de formato dinâmico.

  6. Verifique se a cadeia de caracteres de formato dinâmico funciona em um visual.

    Para excluir a cadeia de caracteres de formato dinâmico e voltar a usar uma cadeia de caracteres de formato estático, na seção Formatação lista suspensa >Formatar, selecione uma opção de formato diferente. Como não há como desfazer essa ação, uma caixa de diálogo será exibida perguntando se você deseja continuar. Se desejar voltar a usar uma cadeia de caracteres de formato dinâmico novamente, insira novamente a expressão DAX.

    Captura de tela do aviso de alteração de formato.

Exemplo

A melhor maneira de aprender sobre um novo recurso é experimentá-lo por conta própria. Você pode fazer isso com o arquivo de exemplo do Adventure Works 2020 PBIX disponível no modelo de exemplo DAX. Usando o modelo de amostra, você pode adicionar a conversão de moeda para mostrar o valor das vendas convertidas por ano. Após o download, abra o arquivo no Power BI Desktop.

Criar novas tabelas

O modelo de exemplo não contém todos os dados necessários para criar e usar cadeias de caracteres de formato dinâmico. Para começar, você precisa adicionar duas tabelas.

  1. Na faixa de opções Início, selecione Inserir dados.

  2. Na caixa de diálogo Criar Tabela , insira cadeias de caracteres de formato de moeda país/região no campo Nome e copie e cole a seguinte tabela:

    País/Região Moeda Formatar
    Austrália Dólar AUD#, 0,00
    Canadá Dólar C$#, 0,00
    Dinamarca Coroa norueguesa kr#,0
    Zona do Euro Euro € #,0,00
    Japão Iene R$ #,0
    Suécia Coroa sueca kr#,0
    Suíça Franco CHF #, 0,00
    Reino Unido Libra Libras Esterlinas £ #,0
    Estados Unidos Dólar USD#,0,00
  3. Verifique se a tabela parece correta e selecione Carregar.

    Captura de tela da caixa de diálogo Criar tabela.

  4. Repita as etapas anteriores para a seguinte tabela:

    Nome da tabela: Taxas de Câmbio Médias Anuais

    País/Região Moeda Year Taxa de Câmbio Média Anual
    Austrália Dólar 2022 1,442
    Austrália Dólar 2021 1,332
    Austrália Dólar 2020 1,452
    Austrália Dólar 2019 1,439
    Austrália Dólar 2018 1.34
    Austrália Dólar 2017 1,358
    Canadá Dólar 2022 1,301
    Canadá Dólar 2021 1,254
    Canadá Dólar 2020 1,341
    Canadá Dólar 2019 1,327
    Canadá Dólar 2018 1,297
    Canadá Dólar 2017 1,35
    Dinamarca Coroa norueguesa 2022 7,077
    Dinamarca Coroa norueguesa 2021 6.29
    Dinamarca Coroa norueguesa 2020 6,538
    Dinamarca Coroa norueguesa 2019 6,67
    Dinamarca Coroa norueguesa 2018 6,319
    Dinamarca Coroa norueguesa 2017 6,864
    Zona do Euro Euro 2022 0,951
    Zona do Euro Euro 2021 0,846
    Zona do Euro Euro 2020 0,877
    Zona do Euro Euro 2019 0,893
    Zona do Euro Euro 2018 0,848
    Zona do Euro Euro 2017 0,923
    Japão Iene 2022 131,454
    Japão Iene 2021 109,817
    Japão Iene 2020 106,725
    Japão Iene 2019 109,008
    Japão Iene 2018 110,424
    Japão Iene 2017 116,667
    Suécia Coroa sueca 2022 10,122
    Suécia Coroa sueca 2021 8,584
    Suécia Coroa sueca 2020 9,205
    Suécia Coroa sueca 2019 9,457
    Suécia Coroa sueca 2018 8,703
    Suécia Coroa sueca 2017 8,894
    Suíça Franco 2022 0.955
    Suíça Franco 2021 0,914
    Suíça Franco 2020 0,939
    Suíça Franco 2019 0,994
    Suíça Franco 2018 0,979
    Suíça Franco 2017 1.024
    Reino Unido Libra 2022 0,811
    Reino Unido Libra 2021 0.727
    Reino Unido Libra 2020 0,779
    Reino Unido Libra 2019 0,784
    Reino Unido Libra 2018 0,75
    Reino Unido Libra 2017 0,808

Criar uma coluna de Ano

Adicione uma nova coluna de Ano à tabela Data existente.

  1. No modo modelo , clique com o botão direito do mouse na tabela Data e selecione Nova coluna.

  2. Na barra de fórmulas DAX, insira a seguinte expressão: Year = YEAR([Date])e pressione Enter.

    Captura de tela da fórmula Year na barra de fórmulas DAX.

Criar relações

Crie relações entre suas novas tabelas de cadeias de caracteres de formato de moeda para países/regiões e entre a tabela de Taxas de Câmbio Médias Anuais e a tabela de Datas existente.

  1. Se você ativar a Detecção Automática para relações (na guia Ferramentas de Coluna , selecione Gerenciar relações e selecione Autodetect), a relação entre cadeias de caracteres de formato de moeda país/região e taxas de câmbio médias anuais na coluna País/Região poderá ser criada para você. Caso contrário, crie essa relação usando o botão Novo relacionamento nas ferramentas De coluna>Gerenciar relações:

    • Tabela 1: Taxas de Câmbio Médias Anuais
    • Coluna da Tabela 1: País/Região
    • Cardinalidade: Muitos para um
    • Tabela 2: Cadeias de caracteres de formato de moeda de país/região
    • Coluna da Tabela 2: País/Região
    • Tornar esse relacionamento ativo: Sim
    • Direção do filtro cruzado: Único

    O relacionamento deve ter a seguinte aparência:

    Captura de tela das propriedades de relação entre cadeias de caracteres de formato de moeda de país/região e taxas de câmbio médias anuais.

  2. Se você ativar a Detecção Automática para relações, uma relação entre Formatos de Moeda por País/Região e território de vendas na coluna País/Região poderá ser criada. Exclua essa relação porque ela não está correta para o modelo.

  3. Em vez disso, crie uma relacionamentos entre as Taxas de Câmbio Médias Anuais e a Data na coluna Ano.

    • Tabela 1: Taxas de Câmbio Médias Anuais
    • Tabela 1 Coluna: Ano
    • Cardinalidade: Muitos para Muitos
    • Tabela 2: Data
    • Tabela 2 Coluna: Ano
    • Tornar esse relacionamento ativo: Sim
    • Direção do filtro cruzado: Único ('Taxa de Câmbio Média Anual' filtra 'Data')

    O relacionamento deve ter a seguinte aparência:

    Captura de tela do Relacionamento.

  4. Salvar o modelo.

Criar uma tabela de grupos de medidas

Um grupo de medidas ajuda você a organizar diferentes medidas ao colocá-las em uma única tabela.

  1. Na faixa de opções Início, selecione Inserir dados.
  2. Na caixa de diálogo Criar Tabela, deixe os valores em branco. Nomeie a tabela medidas de vendas e selecione Carregar. Essa tabela contém suas novas medidas.

Criar medidas

  1. No painel Dados , expanda e clique com o botão direito do mouse em Medidas de Vendas e selecione Nova medida. Insira a seguinte expressão DAX na barra de fórmulas do DAX e pressione Enter:

    Sales Amount = SUM(Sales[Sales Amount])
    

    Ele deverá ser parecido com:

    Captura de tela da fórmula DAX da medida de quantidade de vendas.

  2. Em Medidas de Vendas, clique com o botão direito do mouse em Coluna1 e selecione Ocultar no modo de exibição de relatório. Essa alteração torna as medidas vendas um grupo de medidas, que agora aparece na parte superior do painel Dados com um ícone de grupo de medidas, desta forma:

    Captura de tela da Coluna 1 do grupo de medidas de Vendas.

  3. Agora você pode criar uma medida para calcular a taxa de câmbio. Clique com o botão direito do mouse em Medidas de Vendas, selecione Nova medida, insira a seguinte expressão na barra de fórmulas DAX e pressione Enter:

    Exchange Rate (Yearly Avg) = 
    IF (
        ISBLANK ( SELECTEDVALUE ( 'Country/Region Currency Format Strings'[Country/Region] ) )
            || SELECTEDVALUE ( 'Country/Region Currency Format Strings'[Country/Region] ) = "United States",
        1,
        AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] )
    )
    
    

    Deve ter esta aparência: captura de tela da fórmula DAX de taxa de câmbio no editor da DAX.

  4. Agora, crie outra medida para converter a medida Valor de Vendas em outras moedas. Clique com o botão direito do mouse em Medidas de Vendas, selecione Nova medida, insira a seguinte expressão na barra de fórmulas DAX e pressione Enter:

        Converted Sales Amount = 
        SUMX('Date',
        CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
    
    

    O grupo de medidas de Vendas agora deve ter esta aparência: captura de tela da fórmula de medida de quantidade de vendas convertida.

Criar um relatório

  1. Acesse o Modo de exibição de relatório. Adicione uma nova página em branco ao relatório.

  2. Adicionar um visual de gráfico de linhas à sua nova página de relatório. Use este visual para ver sua medida antes de adicionar a cadeia de caracteres de formato dinâmico para medidas.

  3. No painel Dados>Medidas de vendas, selecione Valor de vendas convertido. Sem selecionar nenhum outro lugar, selecione Ano na tabela Data .

    Captura de tela do visual do gráfico de linhas no modo de exibição Relatório.

  4. Copie e cole o visual para que você tenha dois visuais de gráfico de linhas. Altere o visual do gráfico de segunda linha para um visual de tabela e mova-o para baixo do gráfico de linhas, desta forma:

    Captura de tela do visual de gráfico de linhas a ser copiado.

  5. Adicione um visual de segmentação de dados à página de relatório selecionando Segmentação de dados lista no painel Visualizações. No painel Dados, selecione País/Região na tabela Cadeias de Caracteres de Formato de Moeda de País/Região para adicioná-lo à segmentação de dados.

    Captura de tela do filtro de país/região.

  6. Reorganize os visuais até que eles tenham um layout melhor, algo assim:

    Captura de tela de Rearrange visuals.

  7. Embora não seja necessário, você pode alterar as propriedades visuais para fazer um relatório mais agradável. Use o botão Formatar seu visual no painel Visualizações para fazer as seguintes alterações:

    Segmentação de dados

    • Visual de guia >Configurações de Cortador>Seleção única>Ativada
    • Guia geral >Propriedades>Padding: 10 px, todas as bordas
    • Guia>Geral>Borda Visual: Ligado, cinza claro, cantos arredondados de 10 px
    • Título da guia >Geral: Desativado
    • Guia>Borda dos botões>: #333333, largura da linha: 6

    Tabela

    • Guia geral >Propriedades>Padding: 10 px, todas as bordas
    • Geral guia >Efeitos>Borda visual: ativada, cinza claro, cantos arredondados de 10 px
    • Aba Visual>Grade>Linhas de grade horizontais: Ligado, Branco, largura 2
    • Aba>Grade> linhas de grade verticais : Ligado, Branco, largura 2
    • Visual guia >Grade>Borda: Branco
    • Opções de > da guia >visual: preenchimento de 2 linhas
    • Guia Visual>Valores>Cor de Fundo: #F6F4F4
    • Visual guia >Valores>Cor de fundo alternativa: #F6F4F4
    • Visual> guia Cabeçalhos de coluna>Texto: Negrito, Cor do texto branca, Cor do plano de fundo #0D6ABF

    Gráfico de linhas

    • Guia geral >Propriedades>Padding: 10 px, todas as bordas
    • Geral guia >Efeitos>Borda visual: Ativado, cinza claro, cantos arredondados de 10 px
    • Geral guia >Propriedades>Título>Legenda: Ativado
    • Guia> Título do eixo Y>: Desativado
    • Guia visual>eixo Y>Valores: Desativado
    • Marcadores da guia >Visual: Ativado
    • Guia Visual>Rótulos de dados: Ativado
    • Guia Visual >Rótulos de Dados>Valor: Negrito, Azul

    Canvas (opcional)

    • Configurações de tela>Tela de fundo: cinza claro, 85% transparência

    Usando essas propriedades visuais, você cria uma página de relatório semelhante a esta:

    Captura de tela de fundo cinza de tela para visualização.

Criar uma cadeia de caracteres de formato dinâmico

Quando você seleciona nomes de país/região diferentes na segmentação, os visuais mostram o resultado da métrica Valor Convertido de Vendas, mas não no formato certo para esse país/região.

  1. No painel Dados , em Medidas de Vendas, selecione Valor de Vendas Convertido.

  2. Na faixa de opções Measure Tools, selecione Dinâmico na lista suspensa Formatar.

  3. A lista suspensa à esquerda da barra de fórmulas agora diz Formatar e a fórmula na barra de fórmulas tem uma cadeia de caracteres de formato. Substitua a cadeia de caracteres de formato pela seguinte expressão DAX e pressione Enter:

    SELECTEDVALUE ( 'Country/Region Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
    

    Ele deverá ser parecido com:

    Captura de tela da fórmula dinâmica Cadeias de Caracteres de Formato de Moeda de País/Região.

  4. Selecione um país/região diferente no fatiador. Os visuais de tabela e gráfico de linhas agora mostram o valor da moeda convertida, no formato correto, para esse país/região ou região. Tente selecionar um país/região diferente na segmentação de dados para ver como os recursos visuais são alterados.

    Captura de tela da visualização do valor das vendas convertidas.

  5. Salvar o modelo.

Problemas e considerações conhecidos

  • Os visuais têm opções de formatação que podem afetar a forma como a cadeia de caracteres de formato é exibida. Se a formatação aparecer inesperadamente em um visual, vá para as opções Visualizações>Formatar visual, pesquise unidades de exibição e altere-as de Auto para Nenhum.

    Captura de tela das unidades de exibição de automático para nenhuma.

  • Você pode referenciar a medida em si em sua cadeia de caracteres de formato dinâmico diretamente usando seu nome, como [Medida A], ou indiretamente usando SELECTEDMEASURE().

  • Cadeias de caracteres de formato dinâmico para medidas se aplicam apenas a medidas de modelo. Você não pode adicionar cadeias de caracteres de formato dinâmico para medidas de relatório em um relatório de conexão ao vivo.

  • Usando o DirectQuery for Analysis Services, ao selecionar Fazer alterações nesse modelo em um relatório de conexão dinâmica, você desloca a conexão para o DirectQuery pelo Analysis Services. Em geral, você pode fazer alterações nas cadeias de formato das medidas do modelo remoto. Usando cadeias de caracteres de formato dinâmico para medidas:

    • As medidas do modelo remoto com cadeias de caracteres de formato dinâmico definidas são impedidas de fazer alterações da cadeia de caracteres de formato para uma cadeia de caracteres de formato estático ou para uma expressão DAX de cadeia de caracteres de formato dinâmico diferente.
    • Você não pode alterar medidas de modelo remoto de uma cadeia de caracteres de formato estático para uma expressão DAX de cadeia de caracteres de formato dinâmico definida no modelo local.
    • As medidas do modelo local estão impedidas de usar cadeias de caracteres de formato dinâmico para medidas.