Cálculos visuais

Aplica-se a:✅ Power BI Desktop e serviço do Power BI

Um cálculo visual é um cálculo DAX (Data Analysis Expressions) que é executado diretamente em um visual em vez de no modelo semântico. Ele usa os dados mostrados no visual, para que você possa criar totais em execução, médias móveis e comparações de período a período sem gerenciar relações de modelo ou contexto de filtro. Cálculos visuais são fórmulas DAX que se concentram nos dados do visual em vez de todo o modelo semântico.

Este artigo explica como os cálculos visuais funcionam, como seus parâmetros controlam o fluxo de cálculo e como eles diferem de outros cálculos DAX.

O seguinte cálculo visual define uma soma em execução para o Valor de Vendas:

Running sum = RUNNINGSUM([Sales Amount])

Uma captura de tela do DAX para cálculos visuais.

Um cálculo visual pode se referir a colunas, medidas ou outros cálculos visuais no mesmo visual.

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

  • Você armazena cálculos visuais em um visual, não no modelo. Adicione um campo de modelo ao visual antes de fazer referência a ele em um cálculo visual.
  • Cálculos visuais combinam a simplicidade do contexto de colunas calculadas com a flexibilidade de cálculo sob demanda das medidas.
  • Os cálculos visuais operam em dados agregados em vez de dados de nível de detalhes, portanto, eles geralmente têm um desempenho melhor do que as medidas equivalentes.
  • Como os cálculos do visual fazem parte do visual, eles podem se referir à sua estrutura.

Para obter uma comparação detalhada das opções de cálculo, consulte Usar opções de cálculos no Power BI Desktop.

Os visuais de tabela e matriz também oferecem cálculos visuais por meio do recurso de totais personalizados, que permite alterar o que a linha de total exibe sem escrever DAX. Para obter mais informações, consulte os artigos visuais de tabela e matriz .

Para saber como adicionar ou editar um cálculo visual, consulte Criar cálculos visuais.

Como funcionam os cálculos visuais

Você cria cálculos visuais no modo Editar , que é aberto pelo visual selecionado. A superfície de edição tem três partes: uma visualização do visual, uma barra de fórmulas para a expressão DAX e uma matriz visual que exibe os resultados conforme você digita.

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

A maioria dos cálculos visuais avalia cada linha na matriz visual, portanto, as funções de agregação, como SUM, geralmente são desnecessárias. Funções que dependem de relações de modelo, incluindo USERELATIONSHIP, RELATED e RELATEDTABLE, não estão disponíveis.

Depois de adicionar um cálculo visual, ele aparece na lista de campos no visual e é renderizado no próprio visual.

Captura de tela dos cálculos visuais que estão sendo exibidos no visual.

Funções DAX disponíveis em cálculos visuais

Muitas funções DAX existentes funcionam em cálculos visuais. Os cálculos visuais também fornecem funções que atuam como atalhos 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([Sales Amount], COLLAPSE([Sales Amount], ROWS)) N/D
COLLAPSEALL O cálculo é avaliado no nível total do eixo. Porcentagem do total geral = DIVIDE([Sales Amount], COLLAPSEALL([Sales Amount], ROWS)) N/D
EXPAND O cálculo é avaliado em um nível inferior do eixo. Média de filhos = EXPAND(AVERAGE([Sales Amount]), ROWS) N/D
EXPANDALL O cálculo é avaliado no nível de folha do eixo. Média do nível da folha = EXPANDALL(AVERAGE([Valor das vendas]), ROWS) N/D
FIRST Refere-se à primeira linha de um eixo. ProfitVSFirst = [Lucro] - FIRST([Lucro]) INDEX(1)
ISATLEVEL Relata se uma coluna especificada está presente no nível atual. IsFiscalYearAtLevel = ISATLEVEL([Ano Fiscal]) N/D
LAST Refere-se à última linha de um eixo. ProfitVSLast = [Lucro] - LAST([Lucro]) INDEX(-1)
LOOKUP Avalia uma expressão na matriz visual usando o contexto atual. LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]), [Year], "2025") N/D
LOOKUPWITHTOTALS Avalia uma expressão na matriz visual que inclui totais. LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SUM([Vendas]), [Ano], "2025") N/D
MOVINGAVERAGE Adiciona uma média móvel em um eixo. MovingAverageSales = MOVINGAVERAGE([Valor de 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((RANGE1), [Valor de Vendas]) WINDOW
RUNNINGSUM Adiciona uma soma de execução em um eixo. RunningSumSales = RUNNINGSUM([Valor de Vendas]) WINDOW

Parâmetros que controlam o fluxo de cálculo

Algumas funções de cálculo visual aceitam parâmetros opcionais que controlam como o cálculo percorre a matriz visual:

  • Axis e Reset são específicos para cálculos visuais. Eles fazem referência à estrutura visual em vez de campos específicos.
  • OrderBy e PartitionBy também funcionam em colunas e medidas calculadas. Eles referenciam os campos diretamente.

As seções a seguir descrevem cada parâmetro e quando usar um sobre o outro.

Axis

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

Ícone Axis nome Axis Descrição
ROWS Calcula ao longo das linhas.
COLUMNS Calcula em várias colunas.
ROWS COLUMNS Calcula ao longo das linhas e, em seguida, das colunas.
COLUMNS ROWS Calcula ao longo das colunas e depois das linhas.
ROWPAGES Calcula em múltiplos pequenos.
ROWS ROWPAGES Calcula entre linhas e, em seguida, múltiplos pequenos.
COLUMNS ROWPAGES Calcula entre colunas e, em seguida, múltiplos pequenos.
ROWPAGES ROWS Calcula entre múltiplos pequenos e, em seguida, linhas.
ROWPAGES COLUMNS Calcula entre múltiplos pequenos e, em seguida, colunas.
ROWS COLUMNS ROWPAGES Calcula entre linhas, colunas e, em seguida, múltiplos pequenos.
ROWS ROWPAGES COLUMNS Calcula ao longo das linhas, nos múltiplos pequenos e, em seguida, nas colunas.
COLUMNS ROWS ROWPAGES Calcula entre colunas, linhas e, em seguida, múltiplos pequenos.
COLUMNS ROWPAGES ROWS Calcula entre colunas, múltiplos pequenos e linhas.
ROWPAGES ROWS COLUMNS Calcula entre múltiplos pequenos, linhas e colunas.
ROWPAGES COLUMNS ROWS Calcula em múltiplos pequenos, colunas e linhas.

Os cálculos visuais oferecem suporte a visuais que usam múltiplos pequenos. Na matriz visual, o campo no campo De múltiplos pequenos aparece no ROWPAGES eixo. Use ROWPAGES para calcular em todos os múltiplos pequenos ou combine-o com ROWS e COLUMNS para controlar a ordem de percurso.

Observação

Se você especificar um eixo que não está presente no visual, o cálculo ignorará esse eixo.

Reset

Muitas funções incluem um parâmetro opcional Reset que você só pode usar em cálculos visuais. Esse parâmetro particiona a coluna alvo para determinar quando a função é redefinida para 0 ou muda de escopo durante a passagem da matriz visual.

O valor padrão é NONE, o que significa que o cálculo não é redefinido.

O Reset parâmetro aceita estes valores:

  • Um número inteiro.
  • Uma referência de coluna.
  • Um sinônimo: HIGHESTPARENT, LOWESTPARENT, ou NONE.

Cada valor especifica um nível de destino na hierarquia de cálculo visual. O cálculo interpreta esse nível no modo absoluto ou relativo .

O sinal de um inteiro determina o modo. Os valores positivos usam o modo absoluto, os valores negativos usam o modo relativo e 0 não redefine o cálculo. Os sinônimos fornecem valores equivalentes.

Uma referência de coluna usa o modo absoluto.

Modo de reinicialização absoluta

O modo absoluto particiona pela coluna de destino e todas as colunas acima dela. Se a coluna de destino não estiver presente em um nível, o cálculo será particionado pelas colunas disponíveis restantes.

Um inteiro positivo identifica a coluna de destino a partir do topo da hierarquia. A primeira coluna é 1, a próxima coluna é 2 e o valor máximo é N, o número de colunas na hierarquia. Valores maiores que N usam N. Você também pode especificar a coluna diretamente.

Por exemplo, considere um cálculo visual com esses níveis de hierarquia: Ano, Trimestre, Mês e Dia. A tabela a seguir mostra como o cálculo é 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 do dia Ano Trimestre e Ano Mês, Trimestre e Ano Dia, Mês, Trimestre e Ano
Nível mensal Ano Trimestre e Ano Mês, Trimestre e Ano Mês, Trimestre e Ano
Nível do trimestre Ano Trimestre e Ano Trimestre e Ano Trimestre e Ano
Nível de ano Ano Ano Ano Ano
Nível total geral Nenhum Nenhum Nenhum Nenhum

Modo de reinicialização relativa

Para um inteiro negativo -X, o modo relativo particiona por colunas que estão X ou mais níveis acima do nível atual. Se nenhuma coluna atender a essa condição, o cálculo não é particionado. Os valores válidos variam de -1 a -N+1, em que N é o número de colunas na hierarquia. Os valores abaixo desse intervalo usam -N+1.

A tabela a seguir mostra o modo relativo para uma hierarquia com Ano, Trimestre, Mês e Dia:

Nível/valor Reset = -1 Reset = -2 Reset = -3
Nível do dia Mês, Trimestre e Ano Trimestre e Ano Ano
Nível mensal Trimestre e Ano Ano Nenhum
Nível do trimestre Ano Nenhum Nenhum
Nível de ano Nenhum Nenhum Nenhum
Nível total geral Nenhum Nenhum Nenhum

Redefinir sinônimos de parâmetro

O Reset parâmetro 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 um reset absoluto no nível mais alto e é equivalente a 1.
  • LOWESTPARENT realiza uma redefinição relativa diretamente pelo pai imediato, sendo equivalente a -1.

Exemplos de como usar o parâmetro Reset

Para uma hierarquia com Ano, Trimestre, Mês e Dia, os cálculos a seguir são equivalentes. Eles retornam a soma do Valor de Vendas e reiniciam para cada ano em cada nível de avaliação:

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

Os cálculos a seguir reiniciam a soma de Valor de Vendas em 0 para cada pai imediato. O elemento pai depende do nível de avaliação:

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

O cálculo a seguir não é reiniciado. Ele adiciona o Valor de Vendas de cada dia aos valores anteriores:

RUNNINGSUM([Sales Amount])

OrderBy e PartitionBy

O OrderBy parâmetro aceita ORDERBYe o PartitionBy parâmetro aceita PARTITIONBY. Ao contrário Axis e Reset, você pode usar esses parâmetros em colunas calculadas, medidas e cálculos visuais, e eles se referem a campos diretamente.

Nem todas as funções fornecem esses parâmetros. As funções exclusivas de cálculo visual não fornecem um PartitionBy parâmetro. As funções de janela só fornecem um parâmetro Reset se você usá-las em um cálculo visual. O Relation parâmetro em funções de janela está disponível se você o usa ou não em um cálculo visual, mas ele só aceita um Axis se você usá-lo em um cálculo visual.

Escolha entre esses parâmetros

Você não precisa especificar todos esses parâmetros e pode combiná-los. Para decidir qual parâmetro usar:

  • Prefira Axis e Reset quando quiser um comportamento independente de campo que siga a estrutura visual. Fazer referência à estrutura visual é mais flexível do que referenciar explicitamente campos.
  • Use OrderBy e PartitionBy quando quiser fixar o cálculo em campos específicos, independentemente do layout visual.
  • Use PartitionBy em vez de Reset quando o eixo tiver apenas um nível. Reset requer vários níveis, portanto, ele não funciona com um campo ou com vários campos em um único nível.

Seletores de parâmetro

Use seletores de parâmetro para selecionar valores para parâmetros de função de cálculo visual. A imagem a seguir mostra o modelo Pesquisar um valor com totais :

Captura de tela mostrando o seletor de parâmetros.

Para ativar seletores de parâmetro, pressione Ctrl+Space.

Modelos de cálculo visual

Os cálculos visuais incluem modelos para facilitar a escrita de cálculos comuns. O botão de modelo no modo de edição de cálculos visuais abre um menu de modelos disponíveis.

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

Os seguintes modelos estão disponíveis:

  • Soma acumulada Calcula a soma dos valores, adicionando o valor atual aos valores anteriores. Usa a função RUNNINGSUM.
  • 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 função MOVINGAVERAGE.
  • Porcentagem do pai. Calcula a porcentagem de um valor em relação ao seu pai. Usa a função COLLAPSE.
  • Percentual do total geral. Calcula a porcentagem de um valor em relação a todos os valores, usando a função COLLAPSEALL.
  • Média de filhos. Calcula o valor médio do conjunto de valores filho. Usa a função EXPAND.
  • Em comparação com o anterior. Compara um valor com um valor anterior, usando a função PREVIOUS.
  • Em comparação com o próximo. Compara um valor com um valor subsequente, usando a função NEXT.
  • Em comparação com o primeiro. Compara um valor com o primeiro valor, usando a função FIRST.
  • Em comparação com o último. Compara um valor com o último valor, usando a função LAST.
  • Busque um valor levando em consideração o contexto. Localiza um valor ou avalia uma expressão na matriz visual dentro do contexto atual. Usa a função LOOKUP.
  • Busque um valor incluindo totais. Localiza um valor ou avalia uma expressão na matriz visual com totais. Usa a função LOOKUPWITHTOTALS.

Ocultar campos no visual

No modo de edição de cálculos visuais, você pode ocultar campos do visual da mesma forma que oculta colunas e tabelas no modo de exibição de modelagem. Por exemplo, para mostrar apenas o cálculo visual lucro , oculte o Valor de Vendas e o Custo Total do Produto da exibição.

Captura de tela ocultando elementos na exibição de um visual.

Os campos ocultos permanecem na matriz visual, portanto, os cálculos visuais ainda podem se referir a eles. Eles não aparecem no visual resultante. Inclua campos ocultos somente quando os cálculos visuais exigirem.

Formatar um cálculo visual

Formate um cálculo visual com tipos de dados, opções de formatação ou uma cadeia de caracteres de formato de nível visual personalizado. As opções de formato de dados na seção Geral do painel de formatação controlam 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.

Considerações e limitações

Tipos visuais sem suporte

Cálculos visuais e campos ocultos não funcionam com os seguintes visuais:

  • Slicer, visual R, visual do Python
  • Principais influenciadores, árvore de decomposição, Q&A, narrativa inteligente
  • Métricas, Relatório Paginado, Power Apps, Power Automate
  • Visuais personalizados

Recursos sem suporte

Os seguintes recursos não estão disponíveis com cálculos visuais:

Limitações de publicação e compartilhamento

Outras limitações

  • Os parâmetros de campo funcionam com cálculos visuais, mas têm algumas limitações.
  • As conexões dinâmicas com o SQL Server Analysis Services exigem a versão 2025 ou posterior.