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 referir-se a quaisquer dados do visual, incluindo columns, 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.

  • Os cálculos visuais combinam a simplicidade do contexto das columns calculadas com a flexibilidade do 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 previous, 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 window 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 previous, para cada linha da matriz visual, o Valor de Vendas e o Custo Total do Produto atuais são subtraídos e 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 relacionamentos 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 columns 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 window dividindo a soma dos valores pelo tamanho da window. 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.
  • Versus previous. Compara um valor com um valor anterior, usando a função PREVIOUS.
  • Versus next. Compara um valor com um valor subsequente, usando a função NEXT.
  • Versus first. Compara um valor com o valor first usando a função FIRST.
  • Versus last. Compara um valor com o valor last usando a função LAST.

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.

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 first eixo no visual por padrão. Para muitos elementos visuais, o first 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 entre rows de cima para baixo.
COLUMNS Calcula horizontalmente em columns da esquerda para a direita.
ROWS COLUMNS Calcula verticalmente entre rows de cima para baixo, continuando coluna por coluna da esquerda para a direita.
COLUMNS ROWS Calcula horizontalmente em columns da esquerda para a direita, continuando linha por linha de cima para baixo.

Observação

Você só pode usar valores de eixo que estão disponíveis no visual em que você está trabalhando. Nem todos os visuais fornecem todos os eixos, e alguns visuais não fornecem eixos.

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. O parâmetro Reset é definido como None por padrão, o que significa que o cálculo visual nunca é reiniciado. A redefinição espera que haja vários níveis no eixo. Se houver apenas um nível no eixo, você poderá usar PARTITIONBY. A lista a seguir descreve os únicos valores válidos para o parâmetro Reset:

  • NONE é o valor padrão e não redefine o cálculo.
  • HIGHESTPARENT redefine o cálculo quando o valor do pai mais alto no eixo é alterado.
  • LOWESTPARENT redefine os cálculos quando o valor do pai mais baixo no eixo é alterado.
  • Um valor numérico, referente aos campos no eixo, sendo um o campo mais alto.

Para entender HIGHESTPARENT e LOWESTPARENT, considere um eixo que tenha três campos em vários níveis: Ano, Trimestre e Mês. HIGHESTPARENT é o Ano, enquanto o pai mais baixo é o Trimestre. Por exemplo, os seguintes cálculos visuais são equivalentes e retornam a soma do Valor das Vendas que começa em 0 para cada ano:

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

Por outro lado, os cálculos visuais a seguir retornam a soma do Valor das Vendas que começa em 0 para cada Trimestre:

RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], 2)

Por fim, esse cálculo visual não é redefinido e continua adicionando o valor do Valor de Vendas de cada mês aos previous valores, 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 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 columns 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 window DAX.

Observação

Use apenas as funções específicas de cálculos visuais mencionadas na tabela abaixo. Outras funções específicas de cálculos visuais são apenas para uso interno neste momento e não devem ser usadas. Consulte a tabela abaixo para obter atualizações das funções disponíveis para uso à medida que essa versão prévia progride.

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 à first linha de um eixo. ProfitVSFirst = [Profit] – FIRST([Profit]) INDEX(1)
ISATLEVEL Relata se uma coluna especificada está presente no nível atual. IsFiscalYearAtLevel = ISATLEVEL([Fiscal Year]) N/D
LAST Refere-se à last linha de um eixo. ProfitVSLast = [Profit] – LAST([Profit]) INDEX(-1)
MOVINGAVERAGE Adiciona uma média móvel em um eixo. MovingAverageSales = MOVINGAVERAGE([Sales Amount], 2) WINDOW
NEXT Refere-se a uma next linha de um eixo. ProfitVSNext = [Profit] – NEXT([Profit]) OFFSET(1)
PREVIOUS Refere-se a uma previous linha de um eixo. ProfitVSPrevious = [Profit] – PREVIOUS([Profit]) OFFSET(-1)
RANGE Refere-se a uma fatia de rows de um eixo. AverageSales = AVERAGEX(RANGE(1), [Sales Amount]) WINDOW
RUNNINGSUM Adiciona uma soma de execução em um eixo. RunningSumSales = RUNNINGSUM([Sales Amount]) 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.

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:
    • Mapa de árvore
    • Segmentação de Dados
    • R visual
    • 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.
  • 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 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 ver registros com elementos visuais que usam cálculos visuais ou campos ocultos.
  • Você não pode aplicar formatação condicional em cálculos visuais.
  • 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 o SQL Server Analysis Services.
  • 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.

Next etapas

Os seguintes artigos podem ser úteis ao aprender e usar cálculos visuais: