Partilhar via


Usando cálculos visuais (visualização)

Nota

Os cálculos visuais estão atualmente em pré-visualização.

Um cálculo visual é um cálculo DAX definido e executado diretamente em um visual. Os cálculos visuais facilitam a criação de cálculos que antes eram difíceis de criar, levando a DAX mais simples, manutenção mais fácil e melhor desempenho.

Aqui está um exemplo de cálculo visual que define uma soma em execução para o Valor de Vendas. Observe que o DAX necessário é simples:

Running sum = RUNNINGSUM([Sales Amount])

Captura de tela do DAX para cálculos visuais.

Um cálculo pode referir-se a quaisquer dados no visual, incluindo colunas, medidas ou outros cálculos visuais. Essa capacidade remove a complexidade do modelo semântico e simplifica o processo de escrever DAX. Você pode usar cálculos visuais para concluir cálculos comerciais comuns, como somas em execução ou médias móveis.

Os cálculos visuais diferem das outras opções de cálculo no DAX:

  • Os cálculos visuais não são armazenados no modelo e, em vez disso, são armazenados no visual. Isso significa que os cálculos visuais só podem se referir ao que está no visual. Qualquer coisa no modelo deve ser adicionada ao visual antes que o cálculo visual possa se referir a ele, liberando os cálculos visuais de se preocuparem com a complexidade do contexto do filtro e do modelo.

  • Os cálculos visuais combinam a simplicidade do contexto das colunas calculadas com a flexibilidade de cálculo sob demanda das medidas.

  • Em comparação com as medidas, os cálculos visuais operam com base em dados agregados em vez do nível de detalhe, muitas vezes levando a benefícios de desempenho. Quando um cálculo pode ser realizado através de uma nova medida ou de um cálculo visual, este último conduz frequentemente a um melhor desempenho.

  • Como os cálculos visuais fazem parte do visual, eles podem se referir à estrutura visual, o que leva a mais flexibilidade.

Para obter uma comparação mais aprofundada das formas de adicionar cálculos no Power BI, consulte Usando opções de cálculos no Power BI Desktop.

Depois de ativar os cálculos visuais, você pode:

  • Adicionar cálculos visuais aos seus relatórios
  • Ocultar determinados campos
  • Crie cálculos visuais rapidamente usando modelos
  • Faça cálculos visuais flexíveis referindo-se aos eixos do visual

As secções seguintes fornecem detalhes sobre como cada um dos elementos descritos nos tópicos anteriores funcionam com cálculos visuais.

Ativar cálculos visuais

Antes de setembro de 2024, para usar cálculos visuais, você deve habilitá-lo nos recursos de visualização de opções>>. Selecione Cálculos visuais e selecione OK. Os cálculos visuais são habilitados depois que o Power BI Desktop é reiniciado.

A partir de setembro de 2024, esta etapa não é mais necessária, pois os cálculos visuais são habilitados por padrão. Enquanto eles ainda estão em visualização, você pode usar as configurações acima para desativar os cálculos visuais, se preferir.

Adicionando um cálculo visual

Para adicionar um cálculo visual, selecione um visual e, em seguida, selecione o botão Novo cálculo visual no friso:

Captura de ecrã a mostrar a seleção do novo botão de cálculo visual no friso.

A janela de cálculos visuais é aberta no modo Editar . A tela Modo de edição consiste em três seções principais, conforme mostrado de cima para baixo na imagem a seguir:

  • A pré-visualização visual que mostra o visual com o qual está a trabalhar
  • Uma barra de fórmulas onde pode adicionar cálculos visuais
  • A matriz visual que mostra os dados no visual e exibe os resultados dos cálculos visuais à medida que você os adiciona. Qualquer estilo ou tema que você aplique ao seu visual não é aplicado à matriz visual.

Captura de tela mostrando áreas da tela de edição de cálculos visuais.

Para adicionar um cálculo visual, digite a expressão na barra de fórmulas. Por exemplo, em um visual que contém Valor de Vendas e Custo Total do Produto por Ano Fiscal, você pode adicionar um cálculo visual que calcula o lucro de cada ano digitando:

Profit = [Sales Amount] – [Total Product Cost]

Captura de ecrã a mostrar a introdução de um cálculo visual.

Por padrão, a maioria dos cálculos visuais em um visual é avaliada linha por linha, como uma coluna calculada. No exemplo anterior, para cada linha da matriz visual, subtraem-se o Valor de Vendas atual e o Custo Total do Produto , sendo o resultado retomado na coluna Lucro. Embora possível, não há necessidade de adicionar uma função de agregação como SOMA como faria em uma medida. Na verdade, é melhor não adicionar esses agregados quando eles não são necessários, para que você possa distinguir mais facilmente entre medidas e expressões de cálculo visual.

À medida que você adiciona cálculos visuais, eles são mostrados na lista de campos no visual:

Captura de tela dos cálculos visuais sendo exibidos na lista de campos no visual.

Além disso, o cálculo visual é mostrado no visual:

Captura de tela dos cálculos visuais sendo exibidos no visual.

Você pode usar muitas funções DAX existentes em cálculos visuais. Funções específicas para cálculos visuais também estão disponíveis. Como os cálculos visuais funcionam dentro dos limites da matriz visual, as funções que dependem de relações de modelo, como USERELATIONSHIP, RELATED ou RELATEDTABLE , não podem ser usadas.

Ocultando campos do visual

No modo de edição de cálculos visuais, você pode ocultar campos do visual da mesma forma que pode ocultar colunas e tabelas na visualização de modelagem. Por exemplo, se você quiser mostrar apenas o cálculo visual de Lucro, poderá ocultar o Valor de Vendas e o custo de Lucro Total da exibição:

Captura de ecrã a ocultar elementos da vista de um visual.

Ocultar campos não os remove do visual ou da matriz visual, portanto, seus cálculos visuais ainda podem se referir a eles e continuar a funcionar. Um campo oculto ainda é mostrado na matriz visual, mas não é mostrado no visual resultante. É uma prática recomendada incluir apenas campos ocultos se eles forem necessários para que seus cálculos visuais funcionem.

Utilizar modelos

Os cálculos visuais incluem modelos para facilitar a escrita de cálculos comuns. Você pode encontrar modelos selecionando o botão de modelo e escolhendo um modelo para trabalhar:

Captura de tela do uso de modelos para cálculos visuais.

Você também pode criar um cálculo visual de modelo a partir da faixa de opções clicando na parte inferior do botão Novo Cálculo Visual .

Estão disponíveis os seguintes modelos:

  • Soma corrente. Calcula a soma dos valores, adicionando o valor atual aos valores anteriores. Usa a RUNNINGSUM função.
  • Média móvel. Calcula uma média de um conjunto de valores em uma determinada janela dividindo a soma dos valores pelo tamanho da janela. Usa a MOVINGAVERAGE função.
  • Percentagem de pais. Calcula a porcentagem de um valor em relação ao pai. Usa a COLLAPSE função.
  • Percentagem do total geral. Calcula a porcentagem de um valor em relação a todos os valores, usando a COLLAPSEALL função.
  • Média de crianças. Calcula o valor médio do conjunto de valores filho. Usa a EXPAND função.
  • Comparado com o anterior. Compara um valor com um valor anterior, usando a PREVIOUS função.
  • Contra o próximo. Compara um valor com um valor subsequente, usando a NEXT função.
  • Contra primeiro. Compara um valor com o primeiro valor, usando a função FIRST.
  • Comparado com o último. Compara um valor com o último valor, usando a função LAST.
  • Procure um valor com base no contexto. Encontre um valor ou avalie uma expressão na matriz visual dentro do contexto atual, usando a LOOKUP função.
  • Procure um valor com totais. Encontre um valor ou avalie uma expressão na matriz visual com totais, usando a LOOKUPWITHTOTALS função.

A seleção de um modelo insere o modelo na barra de fórmulas. Você pode usar esses modelos como pontos de partida. Você também pode adicionar suas próprias expressões sem depender de modelos.

Seletores de parâmetros

Os seletores de parâmetros facilitam a seleção de valores para parâmetros em funções de cálculos visuais. Por exemplo, aqui carregámos o modelo Pesquisar um valor com totais :

Captura de tela mostrando o seletor de parâmetros.

Você também pode ativar os seletores de parâmetros usando o atalho de teclado CTRL+SPACE .

Axis

Muitas funções têm um parâmetro opcional Axis , que só pode ser usado em cálculos visuais. Axis influencia a forma como o cálculo visual atravessa a matriz visual. O parâmetro Axis é definido como o primeiro eixo no visual por padrão. Para muitos elementos visuais, o primeiro eixo é ROWS, o que significa que o cálculo visual é avaliado linha a linha na matriz visual, de cima para baixo. A tabela a seguir mostra os valores válidos para o Axis parâmetro:

Axis ícone Axis Designação Descrição
ROWS Calcula verticalmente através das linhas de cima para baixo.
COLUMNS Calcula horizontalmente através das colunas da esquerda para a direita.
ROWS COLUMNS Calcula verticalmente em linhas de cima para baixo, continuando coluna por coluna da esquerda para a direita.
COLUMNS ROWS Calcula horizontalmente entre colunas da esquerda para a direita, continuando linha por linha de cima para baixo.

Nota

Se você especificar um eixo que não está presente no visual, esse eixo será ignorado.

Reset

Muitas funções têm um parâmetro opcional Reset que está disponível apenas em cálculos visuais. Reset influencia se e quando a função redefine seu valor para 0 ou alterna para um escopo diferente enquanto atravessa a matriz visual. Ele faz isso particionando a coluna de destino. Como os cálculos são realizados dentro de uma partição, como a coluna é dividida em partições define se um cálculo é redefinido. O Reset parâmetro é definido como NONE por padrão, o que significa que o cálculo visual nunca é reiniciado. O Reset parâmetro aceita diferentes tipos de valores:

  • Números inteiros
  • referências de coluna
  • Sinónimos especiais: HIGHESTPARENT, LOWESTPARENT,NONE

Em todos os casos, ele especifica um único nível na hierarquia de cálculo visual (vamos chamá-lo de nível de destino). No entanto, a forma como este nível é interpretado no cálculo pode variar. O Reset comportamento opera em dois modos diferentes: absoluto e relativo.

Ao usar valores inteiros para o parâmetro ou seus equivalentes NONE, HIGHESTPARENT e LOWESTPARENT, você pode escolher entre esses dois modos através do sinal do inteiro: valores positivos executam uma redefinição no modo absoluto e valores negativos executam uma redefinição no modo relativo (e zero não redefine nada, o comportamento padrão).

Se você especificar uma referência de coluna, também estará operando no modo absoluto. Esses valores determinam como a coluna de destino é particionada e, assim, se ela será redefinida. Esses dois modos são descritos na seção a seguir:

Modo absoluto

Este modo indica que o cálculo deve ser particionado pela coluna de destino e por todas as que estão acima dela, e isso se aplica em todos os níveis do cálculo. Em níveis acima do alvo (onde a coluna alvo não está presente, e possivelmente outras), o cálculo é particionado pelas colunas restantes disponíveis. O valor inteiro positivo identifica a coluna de destino a partir do topo (a coluna superior é 1, a próxima é 2, etc.). Ele sobe para N (o número de colunas na hierarquia), e quaisquer valores mais altos são cortados. Alternativamente, pode-se também especificar a coluna diretamente.

Por exemplo, considere um cálculo visual com estes níveis de hierarquia: Ano, Trimestre, Mês e Dia. A tabela a seguir mostra como o cálculo será particionado em cada nível, dependendo do valor de Reset:

Nível / valor Reset = 1 ou Ano Reset = 2 ou Trimestre Reset = 3 ou Mês Reset = 4 ou Dia
Nível diário Ano Trimestre e Ano Mês, Trimestre e Ano Dia, Mês, Trimestre e Ano
Nível do mês Ano Trimestre e Ano Mês, Trimestre e Ano Mês, Trimestre e Ano
Nível trimestral Ano Trimestre e Ano Trimestre e Ano Trimestre e Ano
Nível escolar Ano Ano Ano Ano
Nível total geral Nenhum Nenhum Nenhum Nenhum

Modo relativo

Dado um valor inteiro negativo –X, em cada nível o cálculo é particionado por todas as colunas que estão X níveis ou mais acima dele na hierarquia (ou não é particionado de todo se não existir tal nível). Os valores válidos para este modo estão entre -1 e -N+1 (onde N é o número de colunas na hierarquia), e quaisquer valores inferiores são cortados. Novamente, considere o cálculo visual descrito anteriormente. A tabela abaixo mostra como o cálculo será particionado em cada nível, dependendo do valor de Reset:

Nível / valor Reset = -1 Reset = -2 Reset = -3
Nível diário Mês, Trimestre e Ano Trimestre e Ano Ano
Nível do mês Trimestre e Ano Ano Nenhum
Nível trimestral Ano Nenhum Nenhum
Nível escolar Nenhum Nenhum Nenhum
Nível total geral Nenhum Nenhum Nenhum

SINÔNIMOS

Reset também fornece os seguintes sinônimos:

  • NONE é o valor padrão. Ele não redefine o cálculo e é equivalente a 0.
  • HIGHESTPARENT executa uma reinicialização absoluta ao nível mais alto e é equivalente a 1.
  • LOWESTPARENT Executa uma redefinição relativa pelo pai imediato e é equivalente a -1.

Exemplos de utilização Reset

Por exemplo, considere o cálculo visual descrito anteriormente. Os cálculos visuais são equivalentes e devolvem a soma do Valor de Vendas que recomeça para cada ano, independentemente do nível em que o cálculo é avaliado (consulte modo absoluto):

RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])

Em contraste, os cálculos visuais a seguir retornam a soma do Valor de Vendas que começa em 0 para cada pai imediato, o que depende do nível no qual o cálculo é avaliado (consulte o modo relativo).

RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)

Por fim, esse cálculo visual não é redefinido e continua adicionando o valor Valor de vendas de cada dia aos valores anteriores, sem reiniciar.

RUNNINGSUM([Sales Amount])

Axis e Reset vs ORDERBY e PARTITIONBY

Axis, Reset, ORDERBY, e PARTITIONBY são quatro funções que podem ser usadas em pares ou em conjunto para influenciar a forma como um cálculo é avaliado. Eles formam dois pares que são frequentemente usados juntos:

  • Axis e Reset
  • ORDERBY e PARTITIONBY

Axis e Reset só estão disponíveis para funções que podem ser usadas em cálculos visuais e só podem ser usadas em um cálculo visual, pois fazem referência à estrutura visual. ORDERBY e PARTITIONBY são funções que podem ser usadas em colunas calculadas, medidas e cálculos visuais e se referem a campos. Embora desempenhem a mesma função, são diferentes no nível de abstração fornecido; referindo-se à estrutura visual é mais flexível do que a referência explícita a campos usando ORDERBY ou PARTITIONBY.

Reset espera que haja vários níveis no eixo. Caso você não tenha vários níveis no eixo, porque há apenas um campo ou vários campos em um único nível no eixo, você pode usar PARTITIONBY.

Especificar qualquer par funciona bem, mas você também pode especificar Axis, e/ou PARTITIONBY juntos, caso em que os valores especificados para ORDERBY e PARTITIONBY substituem os valores ditados por ORDERBYAxis . Reset não pode ser combinado com ORDERBY e PARTITIONBY.

Você pode pensar no ORDERBY par e PARTITIONBY como referências de campo de fixação especificando explicitamente campos, onde Axis e Reset são agnósticos de campo – eles se referem à estrutura e qualquer campo que esteja na estrutura que está sendo usada.

Funções disponíveis

Você pode usar muitas das funções DAX existentes em cálculos visuais. Como os cálculos visuais funcionam dentro dos limites da matriz visual, funções que dependem de relações de modelo, como USERELATIONSHIP, RELATED ou RELATEDTABLE , não estão disponíveis.

Os cálculos visuais também introduzem um conjunto de funções específicas para cálculos visuais. Muitas dessas funções são atalhos mais fáceis de usar para funções de janela DAX.

Função Descrição Exemplo Atalho para
COLLAPSE O cálculo é avaliado em um nível mais alto do eixo. Porcentagem do pai = DIVIDE([Valor das vendas], COLLAPSE([Valor das vendas], ROWS)) N/A
COLLAPSEALL O cálculo é avaliado ao nível total do eixo. Porcentagem do total geral = DIVIDIR([Valor das vendas], COLLAPSEALL([Valor das vendas], ROWS)) N/A
EXPAND O cálculo é avaliado a um nível inferior do eixo. Média de filhos = EXPAND(MÉDIA([Valor das vendas]), ROWS) N/A
EXPANDALL O cálculo é avaliado ao nível foliar do eixo. Média do nível foliar = EXPANDALL(MÉDIA([Valor das Vendas]), ROWS) N/A
FIRST Refere-se à primeira linha de um eixo. ProfitVSFirst = [Lucro] – FIRST([Lucro]) INDEX(1)
ISATLEVEL Informa se uma coluna especificada está presente no nível atual. IsFiscalYearAtLevel = ISATLEVEL([Ano fiscal]) N/A
LAST Refere-se à última linha de um eixo. ProfitVSLast = [Lucro] – LAST([Lucro]) INDEX(-1)
LOOKUP Avalie a expressão em matriz visual usando o contexto atual. LookupSalesFor2025WithContext = LOOKUP(SOMA([Vendas]) [Ano], "2025") N/A
LOOKUPWITHTOTALS Avaliar a expressão numa matriz visual que inclui totais. LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SOMA([Vendas]), [Ano], "2025") N/A
MOVINGAVERAGE Adiciona uma média móvel em um eixo. MovingAverageSales = MOVINGAVERAGE([Valor das vendas], 2) WINDOW
NEXT Refere-se a uma próxima linha de um eixo. ProfitVSNext = [Lucro] – NEXT([Lucro]) OFFSET(1)
PREVIOUS Refere-se a uma linha anterior de um eixo. ProfitVSPrevious = [Lucro] – PREVIOUS([Lucro]) OFFSET(-1)
RANGE Refere-se a uma fatia de linhas de um eixo. AverageSales = AVERAGEX(RANGE(1), [Valor das vendas]) WINDOW
RUNNINGSUM Adiciona uma soma em execução em um eixo. RunningSumSales = RUNNINGSUM([Valor das vendas]) WINDOW

Formatação de cálculos visuais

Você pode formatar um cálculo visual usando tipos de dados e opções de formatação. Você também pode definir uma cadeia de caracteres de formato de nível visual personalizada. Use as opções de formato de dados na seção Geral do painel de formatação para seu visual para definir o formato:

Captura de tela do modo de edição de cálculos visuais mostrando um cálculo visual que retorna uma porcentagem formatada como uma porcentagem.

Exemplo 1: Usando o cálculo visual para retornar um código de cor hexadecimal para formatação condicional

Passo 1: Selecione o visual no qual você gostaria de usar a formatação condicional:

Captura de ecrã de um visual de tabela com duas colunas Valor e Progresso.

Passo 2: Selecione o botão Novo cálculo visual no separador Base :

Captura de ecrã do botão para criar um cálculo visual no separador Base do Power BI.

Passo 3: Escreva o seu cálculo visual. Aqui está uma instrução IF para retornar verde ou vermelho com base em uma medida superior a .5:

Captura de tela do código DAX listado no editor de cálculo visual.

Conditional Hex Code = IF ( [Progress] > .5, "#5BA300", "#E91C1C" )

Etapa 4: expanda o painel Formatação e selecione Propriedades:

Captura de tela do painel de formatação mostrando que você deve selecionar propriedades.

Etapa 5: expanda a seção Formato de Dados , selecione seu cálculo visual e defina o Tipo de Dados e o formato como Texto:

Captura de tela do painel de formatação mostrando que você deve aplicar um tipo de dados ao seu cálculo visual de texto.

Etapa 6: Antes de sair do editor de cálculo visual, selecione o ícone ocultar ao lado do cálculo visual na seção de compilação para ocultá-lo:

Captura de tela do painel de compilação mostrando como selecionar um botão para ocultar o cálculo visual que você está criando.

Etapa 7: Use-o em uma seção de formatação condicional:

Captura de ecrã de uma janela de formatação condicional onde o cálculo visual está selecionado.

Etapa 8: Saia do editor de cálculo visual clicando no botão Voltar ao relatório :

Captura de tela do botão que você pressiona para sair do editor de cálculo visual. O texto é: Voltar ao relatório.

Passo 9: Aproveite o seu visual formatado condicional!

Screenshot da tabela da primeira captura de tela, agora com formatação condicional aplicada.

Considerações e limitações

Os cálculos visuais estão atualmente em visualização e, durante a visualização, você deve estar ciente das seguintes considerações e limitações:

  • Nem todos os tipos visuais são suportados. Use o modo de edição de cálculos visuais para alterar o tipo visual. Além disso, os visuais personalizados não foram testados com cálculos visuais ou campos ocultos.
  • Os seguintes tipos visuais e propriedades visuais foram testados e descobriram que não funcionam com cálculos visuais ou campos ocultos:
    • Segmentação de dados
    • Visualização R
    • Visual Python
    • Principais influenciadores
    • Árvore de Decomposição
    • Perguntas e Respostas
    • Narrativa inteligente
    • Métricas
    • Relatório Paginado
    • Power Apps
    • Power Automate
    • Múltiplos pequenos
    • Eixo de reprodução no gráfico de dispersão
  • O desempenho desse recurso não é representativo do produto final.
  • A reutilização de cálculos visuais usando copiar/colar ou outros mecanismos não está disponível.
  • Não é possível filtrar cálculos visuais.
  • Um cálculo visual não pode referir-se a si mesmo no mesmo nível de detalhe ou em níveis diferentes.
  • A personalização de cálculos visuais ou campos ocultos não está disponível.
  • Não é possível fixar um visual que usa cálculos visuais ou campos ocultos para um painel.
  • Não é possível usar a funcionalidade Publicar na Web com relatórios que usam cálculos visuais ou campos ocultos.
  • Ao exportar dados de elementos visuais, os resultados do cálculo visual não são incluídos na exportação de dados subjacente . Os campos ocultos nunca são incluídos na exportação, exceto ao exportar os dados subjacentes.
  • Não é possível usar a funcionalidade de detalhamento de registros de visualização com elementos visuais que usam cálculos visuais ou campos ocultos.
  • Não é possível definir categorias de dados em cálculos visuais.
  • Não é possível alterar agregações em cálculos visuais.
  • Não é possível alterar a ordem de classificação para cálculos visuais.
  • O Power BI Embedded não é suportado para relatórios que utilizam cálculos visuais ou campos ocultos.
  • Não há suporte para conexões em tempo real com versões do SQL Server Analysis Services lançadas antes da versão 2025.
  • Embora você possa usar parâmetros de campo com cálculos visuais, eles têm algumas limitações.
  • Mostrar itens sem dados não está disponível com cálculos visuais.
  • Não é possível usar limites de dados com cálculos visuais.
  • Não é possível definir uma cadeia de caracteres de formato dinâmico em um cálculo visual nem usar um cálculo visual como uma cadeia de caracteres de formato dinâmico para um campo ou medida.

Para obter mais informações sobre como usar cálculos visuais, consulte os seguintes recursos: