Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:✅ Power BI Desktop e serviço do Power BI
Um cálculo visual é um cálculo DAX que você define e executa diretamente em um visual, em vez de adicioná-lo ao modelo semântico. Como um cálculo visual funciona com os dados já mostrados no visual, você pode expressar cálculos comerciais comuns - como totais de execução, médias móveis e comparações de período a período - sem navegar no contexto do filtro ou nas relações de modelo. O resultado geralmente é um DAX mais curto que é mais fácil de manter e geralmente tem um desempenho melhor do que uma medida equivalente.
Este artigo explica o que são cálculos visuais, como eles se comportam na matriz visual, como os parâmetros que os controlam funcionam e como eles diferem de medidas e colunas calculadas, para que você possa decidir quando um cálculo visual é a escolha certa.
Aqui está um exemplo de cálculo visual que define uma soma em execução para o Valor de Vendas. O DAX necessário é simples:
Running sum = RUNNINGSUM([Sales Amount])
Um cálculo pode fazer referência a qualquer dado na visualização, incluindo colunas, medidas ou outros cálculos visuais. Essa capacidade elimina a complexidade do modelo semântico e simplifica o processo de escrita do 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. Em vez disso, armazene-os no visual. Essa limitação significa que os cálculos visuais só podem se referir ao que está no visual. Você deve adicionar ao visual qualquer item do modelo antes que o cálculo visual possa fazer referência a isso. Essa restrição libera os cálculos visuais de se preocuparem com a complexidade do contexto de filtro e do modelo.
- Cálculos visuais combinam a simplicidade do contexto de colunas calculadas com a flexibilidade de cálculo sob demanda das medidas.
- Em comparação com as medidas, os cálculos visuais operam em dados agregados em vez do nível de detalhes, o que geralmente leva a benefícios de desempenho. Quando um cálculo pode ser alcançado por uma nova medida ou um cálculo visual, este último geralmente resulta em melhor desempenho.
- Traduzindo corretamente o sentido do texto original, ficaria assim: Como os cálculos visuais fazem parte do visual, eles podem se referir à estrutura visual, o que proporciona mais flexibilidade.
Para obter uma comparação mais detalhada de maneiras de adicionar cálculos em Power BI, 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.
Como você armazena um cálculo visual no visual, ele pode referenciar qualquer coisa no visual - colunas, medidas ou outros cálculos visuais - mas nada mais no modelo. A maioria dos cálculos visuais avalia linha por linha em relação à matriz visual, portanto, funções de agregação como SUM geralmente são desnecessárias. Você não pode usar funções que dependem de relações de modelo – USERELATIONSHIP, RELATED e RELATEDTABLE.
Depois de adicionar um cálculo visual, ele aparece na lista de campos no visual e é renderizado no próprio visual.
Funções DAX disponíveis em cálculos visuais
Muitas funções DAX existentes funcionam em cálculos visuais. 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 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([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 verticalmente ao longo das linhas de cima para baixo. |
|
COLUMNS | Calcula horizontalmente através das colunas da esquerda para a direita. |
|
ROWS COLUMNS | Calcula verticalmente entre 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. |
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. O Reset parâmetro controla se e quando a função redefine seu valor para 0 ou alterna para um escopo diferente ao atravessar a matriz visual. Ele controla esse comportamento particionando a coluna de destino. Como os cálculos ocorrem dentro de uma partição, a forma como a coluna é dividida em partições determina se o cálculo é reiniciado.
O valor padrão do parâmetro Reset é NONE, o que significa que o cálculo visual nunca reinicia.
O Reset parâmetro aceita diferentes tipos de valores:
- Inteiros
- Referências de coluna
- Sinônimos especiais: HIGHESTPARENT, , LOWESTPARENTNONE
Em todos os casos, o parâmetro especifica um único nível na hierarquia de cálculo visual (o nível de destino). No entanto, a forma como o cálculo interpreta esse nível pode variar.
O Reset comportamento opera em dois modos diferentes: absoluto e relativo.
Quando você usa valores inteiros para o parâmetro ou seus equivalentes NONE, HIGHESTPARENTe LOWESTPARENT, você pode escolher entre esses dois modos pelo 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 faz nenhuma redefinição, o comportamento padrão).
Se você especificar uma referência de coluna, estará operando também no modo absoluto. Esses valores determinam como a coluna de destino é particionada e, portanto, se ela será redefinida. As seções a seguir descrevem estes dois modos:
Modo de reinicialização absoluta
O modo absoluto é um comportamento do Reset parâmetro em cálculos visuais. Esse modo indica que o cálculo deve ser particionado pela coluna de destino e todas as colunas acima dele. Essa regra se aplica em todos os níveis do cálculo. Em níveis acima da coluna de destino (nos quais a coluna de destino não está presente, e possivelmente outras colunas também), o cálculo é particionado pelas colunas restantes disponíveis. O valor inteiro positivo identifica a coluna de destino a partir da parte superior (a coluna superior é 1, a próxima é 2 e assim por diante). Ele sobe para N (o número de colunas na hierarquia) e todos os valores mais altos são reduzidos. Como alternativa, você 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
O modo relativo é um comportamento do Reset parâmetro em cálculos visuais. Dado um valor inteiro negativo –X, em cada nível o cálculo é particionado por todas as colunas que estejam X níveis ou mais acima dele na hierarquia (ou não é particionado, se não existir tal nível). Os valores válidos para esse modo estão entre -1 e -N+1 (em que N é o número de colunas na hierarquia) e todos os valores inferiores são cortados. Novamente, 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 | 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
Considere um cálculo visual com esses níveis de hierarquia: Ano, Trimestre, Mês e Dia. Os cálculos visuais a seguir são equivalentes e retornam a soma do Valor de Vendas, que é reiniciada a cada ano, independentemente do nível em que o cálculo é avaliado (consulte modo de redefinição absoluta):
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
Por outro lado, os cálculos visuais a seguir retornam a soma de Valor de Vendas, que começa em 0 para cada pai imediato, dependendo do nível em que o cálculo é avaliado (consulte o modo de redefinição relativa).
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
Por fim, esse cálculo visual não é redefinido e continua adicionando o Valor de Vendas para cada dia aos valores anteriores, sem reiniciar do zero.
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 espera vários níveis no eixo, portanto, ele não funciona quando há apenas um campo ou quando existem vários campos em um único nível no eixo.
Seletores de parâmetro
Os seletores de parâmetro facilitam a seleção de valores para parâmetros em funções de cálculo visual. Por exemplo, na imagem a seguir, você vê o modelo Pesquisar um valor com totais carregado:
Você também pode ativar os seletores de parâmetros usando o atalho de teclado 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.
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. Localize um valor ou avalie uma expressão na matriz visual dentro do contexto atual, usando a LOOKUP função.
- Busque um valor incluindo totais. Localize um valor ou avalie uma expressão na matriz visual com totais, usando a LOOKUPWITHTOTALS função.
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.
Ocultar campos não os remove do visual ou da matriz visual, para que seus cálculos visuais ainda possam se referir a eles e continuar funcionando. Um campo oculto ainda aparece na matriz visual, mas não é mostrado no visual resultante. Inclua somente campos ocultos se forem necessários para que seus cálculos visuais funcionem.
Formatar um cálculo visual
Formate um cálculo visual usando tipos de dados e opções de formatação ou usando uma cadeia de caracteres de formato de nível visual personalizada. As opções de formato de dados na seção Geral do painel de formatação controlam o formato.
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
- Visões de Múltiplos Pequenos, Eixo de Animação no Gráfico de Dispersão
- Visuais personalizados
Recursos sem suporte
Os seguintes recursos não estão disponíveis com cálculos visuais:
- Filtragem, classificação ou alteração de agregações
- Auto-referenciação (um cálculo não pode se referenciar a si próprio)
- Copiar/colar ou reutilizar entre visuais
- Categorias de dados, limites de dados ou itens de exibição sem dados
- Cadeias de caracteres de formato dinâmico (não podem definir ou usar como cadeia de caracteres de formato)
- Personalização de cálculos visuais ou campos ocultos
- Você pode definir alertas em cálculos visuais, mas as alterações nos valores de cálculo visual não disparam os alertas.
- Visualize os registros com navegação detalhada
- IntelliSense no Power BI Embedded
Limitações de publicação e compartilhamento
- Não é possível fixar em dashboards
- Não é possível usar Publicar na Web
- As exportações de dados excluem os resultados do cálculo visual; campos ocultos aparecem apenas em exportações de dados subjacentes
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.
Conteúdo relacionado
Para obter mais informações sobre como usar cálculos visuais, consulte os seguintes recursos:
- Criar cálculos visuais
- Módulo de treinamento: criar cálculos visuais no Power BI Desktop
- Usar opções de cálculos no Power BI Desktop
- Criar medidas para análise de dados no Power BI Desktop
- Criar e formatar visualizações de tabela em Power BI – inclui totais personalizados, que são alimentados por cálculos visuais.