Compartilhar via


Uso de cálculos visuais (versão prévia)

Observação

Os cálculos visuais estão atualmente em versão prévia.

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 serem criados, o que resulta em um DAX mais simples, manutenção simplificada 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 fazer referência a qualquer dado no visual, 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álculos 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.

  • 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 de no 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.

  • Em comparação com as medidas, os cálculos visuais operam em dados agregados, em vez de no nível de detalhes, o que geralmente resulta em benefícios de desempenho.

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

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

  • Adicionar cálculos visuais aos seus relatórios
  • Ocultar determinados campos
  • Criar cálculos visuais rapidamente usando modelos
  • Fazer cálculos visuais flexíveis consultando os eixos do visual

As seções a seguir fornecem detalhes sobre como cada um dos elementos, descritos nos marcadores anteriores, funcionam com cálculos visuais.

Habilitar cálculos visuais

Antes de setembro de 2024, para usar cálculos visuais, era necessário habilitá-lo em Opções e Configurações>Opções>Versões prévias do recurso. Selecione Cálculos visuais e selecione OK. Os cálculos visuais são habilitados depois que o Power BI Desktop é reiniciado.

De setembro de 2024 em diante, essa etapa não é mais necessária, pois os cálculos visuais são habilitados por padrão. Enquanto eles ainda estão em versão preview, você pode usar as configurações acima para desabilitar os cálculos visuais, se preferir.

Como adicionar um cálculo visual

Para adicionar um cálculo visual, selecione um visual e, em seguida, selecione o botão Novo cálculo na faixa de opções:

Captura de tela da seleção do botão de novo cálculo de visual na faixa de opções.

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

  • A versão prévia do visual que mostra o visual com o qual você está trabalhando
  • Uma barra de fórmulas onde você 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 aplicado 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 das 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 tela da inserçã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, em cada linha da matriz visual, subtraem-se o Valor de Vendas Atual e o Custo Total do Produto , sendo o resultado retornado na coluna Lucro. Embora possível, não há necessidade de adicionar uma função de agregação como SUM como você 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 exibidos na lista de campos no visual.

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

Captura de tela dos cálculos visuais que estão 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, funções que dependem de relações de modelo, como USERELATIONSHIP, RELATED ou RELATEDTABLE , não podem ser usadas.

Como ocultar 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 no modo de exibiçã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 tela de ocultar elementos do modo de exibição de um visual.

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 é mostrado na matriz visual, mas não é mostrado no visual resultante. É recomendável incluir apenas campos ocultos se eles forem necessários para que seus cálculos visuais funcionem.

Usar 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 na faixa de opções clicando na parte inferior do botão Novo Cálculo Visual.

Os seguintes modelos estão disponíveis:

  • Soma em execução. 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.

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âmetro

Os seletores de parâmetro facilitam a seleção de valores para parâmetros em funções de cálculo visual. Por exemplo, aqui carregamos o modelo Pesquisar 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 Axis opcional, que só pode ser usado em cálculos visuais. Axis influencia 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 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 de 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, esse eixo será ignorado.

Reset

Muitas funções têm um parâmetro Reset opcional 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 ao atravessar a matriz visual. Isso é feito ao particionar a coluna de destino. À medida que os cálculos são realizados dentro de uma partição, a forma como a coluna é dividida em partições determina se um cálculo é redefinido. O parâmetro Reset é 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:

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 esse 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 NONEe HIGHESTPARENTLOWESTPARENT, você pode escolher entre esses dois modos por meio 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 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. Esses dois modos são descritos na seção a seguir:

Modo absoluto

Esse modo indica que o cálculo deve ser particionado pela coluna de destino e todos aqueles acima dele, e isso se aplica em todos os níveis no cálculo. Em níveis acima do destino (em que a coluna de destino 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 da parte superior (a coluna superior é 1, a próxima é 2, etc.). Ele sobe para N (o número de colunas na hierarquia) e todos os valores mais altos são reduzidos. Como alternativa, também é possível 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 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 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 relativo

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 na hierarquia (ou não particionado, caso tal nível não exista). 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 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 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

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 um reset absoluto pelo nível superior e é equivalente a 1.
  • LOWESTPARENT realiza uma redefinição relativa diretamente pelo pai imediato, sendo equivalente a -1.

Exemplos de uso Reset

Por exemplo, considere o cálculo visual descrito anteriormente. Os cálculos visuais são equivalentes e retornam a soma de Valor de Vendas que é reiniciada para cada ano, independentemente do nível em que o cálculo é avaliado (consulte o 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 de Valor de Vendas que inicia do zero para cada nível superior imediato, dependendo do nível em que o cálculo é avaliado (consulte a seção sobre modo relativo).

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])

Axis e Reset vs ORDERBY e PARTITIONBY

Axis, Reset, ORDERBY e PARTITIONBY são quatro funções que podem ser usadas em pares ou juntas para influenciar 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. A referência à estrutura visual é mais flexível do que a referência explícita a campos usando ORDERBY ou PARTITIONBY.

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

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

Você pode pensar no par ORDERBY e PARTITIONBY como se estivesse fixando referências de campo ao especificar explicitamente campos, enquanto Axis e Reset são independentes de campos – eles se referem à estrutura e a qualquer campo que esteja nessa estrutura que está sendo utilizada.

Funções disponíveis

Você pode usar muitas 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 relacionamentos 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 facilitam o uso de 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 mais baixo do eixo. Média de filhos = EXPAND(AVERAGE([Sales Amount]), ROWS) N/D
EXPANDALL O cálculo é avaliado no nível 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 Avalie a expressão na matriz visual usando o contexto atual. LookupSalesFor2025WithContext = LOOKUP(SOMA([Vendas]) e [Ano], "2025") N/D
LOOKUPWITHTOTALS Avaliar a expressão em uma matriz visual com 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. LucroVSPróximo = [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

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 string de formato em nível de visual personalizado. Use as opções de Formato de dados na seção Geral do painel de formatação do 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 Hex para formatação condicional

Etapa 1: Selecione o visual em que você deseja usar a formatação condicional em:

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

Etapa 2: Selecione o botão Novo cálculo visual na Guia Página Inicial :

Captura de tela do botão para criar um cálculo visual na Guia Inicial do Power BI.

Etapa 3: escrever seu cálculo visual. Aqui está uma instrução IF para retornar verde ou vermelho com base em uma medida que seja maior que 0,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 cálculo visual do texto.

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

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

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

Captura de tela de uma janela de formatação condicional em que o cálculo visual é selecionado.

Etapa 8: Saia do editor de cálculo visual clicando no botão Voltar para 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.

Etapa 9: Aproveite seu visual formatado condicionalmente!

Captura de tela da tabela da primeira imagem, agora com a aplicação de formatação condicional.

Considerações e limitações

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

  • Nem todos os tipos de visuais têm suporte. Use o modo de edição de cálculos visuais para alterar o tipo de 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 não funcionam com cálculos visuais ou campos ocultos:
    • Segmentação de Dados
    • Visual R
    • Visual do Python
    • Principais Influenciadores
    • Árvore Hierárquica
    • Perguntas e respostas
    • Narrativa inteligente
    • Métrica
    • 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 representa o 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 se referir a si mesmo no mesmo nível de detalhe ou em nível de detalhe diferente.
  • A personalização de cálculos visuais ou campos ocultos não está disponível.
  • Você não pode fixar em um dashboard um visual que usa cálculos visuais ou campos ocultos.
  • 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 visuais, os resultados do cálculo visual não são incluídos nos dados subjacentes exportados. 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 ver registros 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 dos cálculos visuais.
  • O Power BI Embedded não tem suporte para relatórios que usam cálculos visuais ou campos ocultos.
  • Não há suporte para conexões dinâmicas 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.
  • Você não pode usar limites de dados com cálculos visuais.
  • Você não pode definir uma cadeia de caracteres de formato dinâmica em um cálculo visual, nem usar um cálculo visual como uma cadeia de caracteres de formato dinâmica para um campo ou medida.

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