Share via


Criar cadeias de caracteres de formato dinâmico para medidas

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

Com cadeias de caracteres de formato dinâmico para medidas, você pode determinar como as medidas aparecem em elementos visuais aplicando condicionalmente uma cadeia de caracteres de formato com uma expressão DAX separada.

Nota

As cadeias de caracteres de formato dinâmico para medidas estão atualmente em Pré-visualização. Quando na Pré-visualização, é provável que a funcionalidade e a documentação sejam alteradas.

As cadeias de caracteres de formato dinâmico superam uma desvantagem inerente ao uso da função FORMAT. Ou seja, com FORMAT até mesmo tipos de dados numéricos são retornados como uma cadeia de caracteres, que pode não funcionar com elementos visuais que exigem valores numéricos, como gráficos. Ao usar cadeias de caracteres de formato dinâmico, a medida mantém seu tipo de dados e não é forçada a mudar para um tipo de dados de cadeia de caracteres. Isso aplica cadeias de caracteres de formato diferentes à medida, dependendo do contexto.

Cadeias de caracteres de formato dinâmico também podem ser usadas com grupos de cálculo. Os mesmos padrões DAX que trabalham com grupos de cálculo também podem ser utilizados em cadeias de caracteres de formato dinâmico para medidas, mas o escopo é limitado a medidas individuais em vez de todas as medidas no modelo. Para saber mais, consulte Grupos de cálculo - cadeias de caracteres de formato dinâmico.

Criar cadeias de caracteres de formato dinâmico

Para criar uma cadeia 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 caixa de listagem Formatar da seção Formatar da faixa >de opções > Ferramentas de medida, selecione Dinâmico. Uma nova caixa de listagem com Formato já selecionado aparece à esquerda da barra de fórmulas DAX. Esta lista suspensa é como você pode alternar entre a expressão DAX de medida estática e a expressão DAX de cadeia de caracteres de formato dinâmico. Qualquer que seja a cadeia de caracteres de formato estático que estava em uso antes de mudar para Dynamic é pré-preenchida como uma cadeia de caracteres na barra de fórmulas DAX.

    Captura de ecrã do menu pendente Formatar.

  3. Substitua a cadeia de caracteres por uma expressão DAX que produza a cadeia de caracteres de formato correta para sua medida. Por exemplo, a expressão a seguir procura a cadeia de caracteres de formato de moeda que queremos em uma tabela 'Cadeias de caracteres de formato de moeda de país':

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

  4. 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 caixa de listagem Formatar da seção> Formatação, selecione uma opção de formato diferente. Como não há como desfazer essa ação, uma caixa de diálogo é exibida perguntando se você deseja continuar. Se quiser voltar a usar uma cadeia de caracteres de formato dinâmico novamente, insira novamente a expressão DAX.

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

Exemplo

A melhor maneira de aprender sobre um novo recurso é experimentá-lo você mesmo. Você pode fazer exatamente isso com o arquivo PBIX de exemplo do Adventure Works 2020 disponível no modelo de exemplo DAX. Usando o modelo de exemplo, você pode adicionar conversão de moeda para mostrar o valor de vendas convertido 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, primeiro você precisa adicionar duas tabelas.

  1. Na faixa de opções Página Inicial, selecione Inserir dados.

  2. Na caixa de diálogo Criar tabela, digite o seguinte nome de tabela e copie e cole a tabela a seguir:

    Nome da tabela: Strings de formato de moeda do país

    País Moeda Formato
    Austrália Dólar AU$#,0.00
    Canadá Dólar C$#,0.00
    Dinamarca Coroa kr#,0
    Zona Euro Euro € #,0.00
    Japão Iene ¥ #,0
    Suécia Krona kr#,0
    Suíça Franco CHF#,0.00
    Reino Unido Libra £ #,0
    Estados Unidos da América Dólar EUA $ #,0.00
  3. Verifique se a tabela está correta e clique em Carregar.

    Captura de ecrã da caixa de diálogo Criar tabela.

  4. Repita as etapas anteriores para a tabela a seguir:

    Nome da tabela: Taxas de câmbio médias anuais

    País Moeda Anual 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 2022 7.077
    Dinamarca Coroa 2021 6.29
    Dinamarca Coroa 2020 6.538
    Dinamarca Coroa 2019 6.67
    Dinamarca Coroa 2018 6.319
    Dinamarca Coroa 2017 6.864
    Zona Euro Euro 2022 0.951
    Zona Euro Euro 2021 0.846
    Zona Euro Euro 2020 0.877
    Zona Euro Euro 2019 0.893
    Zona Euro Euro 2018 0.848
    Zona 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 Krona 2022 10.122
    Suécia Krona 2021 8.584
    Suécia Krona 2020 9.205
    Suécia Krona 2019 9.457
    Suécia Krona 2018 8.703
    Suécia Krona 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 Ano

Uma nova coluna Ano é necessária na tabela Data existente.

  1. Na vista Modelo , clique com o botão direito do rato na tabela Data e, em seguida, selecione Nova coluna.

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

    Captura de ecrã da fórmula Ano na barra de fórmulas DAX.

Criar relações

São necessárias relações entre as novas tabelas de Taxas de Câmbio Médias Anuais e Cadeias de Caracteres de Formato de Moeda de País e entre a tabela de Taxas de Câmbio Médias Anuais e a tabela Data existente.

  1. Se você tiver a Deteção Automática para relacionamentos ativados, a relação entre as Cadeias de Caracteres de Formato de Moeda do País e as Taxas de Câmbio Médias Anuais na coluna País pode ter sido criada para você. Caso contrário, crie esta relação:

    • Quadro 1: Taxas de câmbio médias anuais
    • Tabela 1 Coluna: País
    • Cardinalidade: Muitos para um
    • Tabela 2: Cadeias de caracteres de formato de moeda do país
    • Tabela 2 Coluna: País
    • Torne esta relação ativa: Sim
    • Direção do filtro cruzado: Simples

    A relação deve ter esta aparência:

    Captura de ecrã das propriedades de Relação entre Cadeias de Caracteres de Formato de Moeda do País e Taxas de Câmbio Médias Anuais.

  2. Se você tiver a Deteção Automática para relacionamentos ativados, uma relação entre as Cadeias de Caracteres de Formato de Moeda do País e o território de Vendas na coluna País pode ter sido criada. Essa relação, no entanto, não é correta para o nosso modelo. No modo de exibição Modelo , exclua essa relação.

  3. Em vez disso, crie uma relação entre as Taxas de Câmbio Médias Anuais e a coluna Data no Ano .

    • Quadro 1: Taxas de câmbio médias anuais
    • Tabela 1 Coluna: Ano
    • Cardinalidade: Muitos para Muitos
    • Quadro 2: Data
    • Tabela 2 Coluna: Ano
    • Torne esta relação ativa: Sim
    • Direção do filtro cruzado: Único ('Taxa de Câmbio Média Anual' filtra 'Data')

    A relação deve ter esta aparência:

    Captura de tela de Relacionamento.

  4. Guarde o seu modelo.

Criar uma tabela de grupo de medidas

Um grupo de medidas ajuda você a organizar diferentes medidas, colocando-as em uma única tabela.

  1. Na faixa de opções Página Inicial, selecione Inserir dados.

  2. Na caixa de diálogo Criar tabela, deixe os valores em branco. Nomeie a tabela Medidas de vendas e clique em Carregar. Este quadro contém as 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 DAX e pressione Enter:

    Sales Amount = SUM(Sales[Sales Amount])
    

    Deverá ter o seguinte aspeto:

    Captura de tela da fórmula DAX de medida de valor 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. Isso altera as medidas de vendas para um grupo de medidas, que agora aparece na parte superior do painel Dados com um ícone de grupo de medidas, da seguinte forma:

    Captura de ecrã da Coluna1 no grupo de medidas 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 Currency Format Strings'[Country] ) )
            || SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) = "United States",
        1,
        AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] )
    )
    
    

    Deve ter a seguinte aparência: Captura de tela da fórmula dax da taxa de câmbio no editor DAX.

  4. Agora você cria outra medida para converter a medida Valor de vendas para 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 ecrã da fórmula de medida do valor de vendas convertido.

Criar um relatório

  1. Vá para a visualização Relatório. Adicione uma nova página em branco ao relatório.

  2. Adicione um gráfico de linhas visual à sua nova página de relatório. Use esse 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 clicar em nenhum outro lugar, selecione também Ano na tabela Data .

    Captura de ecrã do gráfico de linhas visual na vista Relatório.

  4. Copie e cole o visual para ter dois visuais de gráfico de linhas. Altere o visual do segundo gráfico de linhas para um visual de tabela e, em seguida, mova-o abaixo do gráfico de linhas, da seguinte forma:

    Captura de ecrã de Copiar gráfico de linhas visual.

  5. Adicione um visual de segmentação de dados à página de relatório. Na faixa de opções Formatar, adicione País da tabela Cadeias de caracteres de formato de moeda do país à segmentação de dados.

    Screenshot da segmentação de dados País.

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

    Captura de ecrã de Reorganizar elementos visuais.

  7. Embora não seja necessário, você pode alterar as propriedades visuais para criar um relatório mais agradável:

    Segmentação de dados

    • Configurações da segmentação de dados: Seleção única
    • Tamanho e estilo, preenchimento: 10 px, todas as bordas
    • Tamanho e estilo, borda visual: cinza claro, cantos arredondados de 10 px
    • Configurações de segmentação de dados, Estilo: Bloco
    • Cabeçalho da segmentação de dados: Desativado
    • Valores, borda: Esquerda, #333333, 6 largura de linha

    Tabela

    • Tamanho e estilo, preenchimento: 10 px, todas as bordas
    • Tamanho e estilo, borda visual: cinza claro, cantos arredondados de 10 px
    • Grade, Linhas de grade horizontais: Branco, 2 largura
    • Grade, Linhas de grade verticais: Branco, 2 largura
    • Grade, borda: Branco
    • Grade, Opções: preenchimento de 2 linhas
    • Valores, Valores: Cor de fundo #F6F4F4
    • Valores, Valores: Cor de fundo alternativa #F6F4F4
    • Cabeçalhos de coluna, Texto: negrito, cor do texto branco, cor de fundo #0D6ABF

    Gráfico de linhas

    • Tamanho e estilo, preenchimento: 10 px, todas as bordas
    • Tamanho e estilo, borda visual: cinza claro, cantos arredondados de 10 px
    • Título, Legenda: On
    • Eixo Y, Título: Desligado
    • Eixo Y: Desligado
    • Marcadores: Ativado
    • Rótulos de dados: Ativado
    • Rótulos de dados, Valores: Negrito, Azul

    Lona (opcional)

    • Fundo da tela: cinza claro, 85% transparência

    Com essas propriedades visuais, você obtém uma boa página de relatório, como esta:

    Captura de tela do plano de fundo de tela cinza para visual.

Criar uma cadeia de caracteres de formato dinâmico

A seleção de nomes de países diferentes na segmentação de dados mostra o resultado da medida Valor de Vendas Convertido em elementos visuais, mas não no formato correto para esse país ou região.

  1. No painel >Dados Medidas de vendas, selecione Valor de vendas convertido.

  2. Na faixa de opções Ferramentas de medida, clique na lista suspensa Formatar e selecione Dinâmico.

  3. A caixa de listagem suspensa à esquerda da barra de fórmulas agora deve dizer Formatar, e a fórmula na barra de fórmulas deve ter uma cadeia de caracteres de formato. Substitua a cadeia de caracteres de formato pela seguinte expressão DAX e pressione Enter:

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

    Deverá ter o seguinte aspeto:

    Captura de ecrã da fórmula dinâmica Country Currency Format Strings.

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

    Captura de tela do visual Valor de vendas convertido.

  5. Guarde o seu modelo.

Problemas conhecidos e considerações

Durante a Pré-visualização, estão a ser abordados os seguintes problemas e limitações:

  • Os elementos 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 estiver a ser apresentada inesperadamente num visual, aceda às opções de Formato visual, procure unidades de visualização e altere-a de Automático para Nenhum.

    Captura de ecrã de unidades de visualização de automático para nenhum.

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

  • As cadeias de caracteres de formato dinâmico para medidas são apenas para medidas de modelo. As medidas de relatório que podem ser adicionadas a um relatório de conexão ao vivo não podem ter cadeias de caracteres de formato dinâmico para medidas.

  • Com o DirectQuery para Analysis Services, quando você clica em Fazer alterações nesse modelo em um relatório de conexão em tempo real, ele muda a conexão para o DirectQuery sobre o Analysis Services. Em geral, você pode fazer alterações nas cadeias de caracteres de formato das medidas de modelo remoto. Durante a Pré-visualização:

    • Medidas de modelo remoto com cadeias de caracteres de formato dinâmico definidas são impedidas de fazer alterações de cadeia de caracteres de formato estático para uma cadeia de caracteres de formato estático ou para uma expressão DAX de cadeia de caracteres de formato dinâmico diferente.
    • As medidas de modelo remoto não podem ser alteradas 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 são impedidas de usar cadeias de caracteres de formato dinâmico para medidas.