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 que é 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 se referir a quaisquer dados no visual, incluindo colunas, medidas ou outros cálculos visuais, o que remove a complexidade do modelo semântico e simplifica o processo de gravação 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, o que 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 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 anteriores, funcionam com cálculos visuais.

Habilitar cálculos visuais

Para usar cálculos visuais, você deve 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.

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

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 o Valor das Vendas e o Custo Total do Produto por Ano Fiscal, você pode adicionar um cálculo visual que calcula o lucro de cada ano simplesmente 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, para cada linha da matriz visual, o Valor de Vendase 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 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 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.

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.

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 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 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 linhas de cima para baixo.
COLUMNS Calcula horizontalmente em 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 em colunas 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 Nenhum 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, um cálculo visual definido como RUNNINGSUM([Sales Amount], HIGHESTPARENT) ou RUNNINGSUM([Sales Amount], 1) retorna uma soma em execução do Valor das Vendas que começa em 0 para cada ano. Um cálculo visual definido como RUNNINGSUM([Sales Amount], LOWESTPARENT) ou RUNNINGSUM([Sales Amount], 2) retorna uma soma em execução de Valor das Vendas que começa em 0 para cada Trimestre. Por fim, um cálculo visual definido como RUNNINGSUM([Valor de Vendas])não é redefinido e continuará adicionando o Valor das Vendas de cada mês aos valores anteriores, sem reiniciar.

Axis e Reset versus 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 fixando referências de campo especificando explicitamente campos, onde Axis e Reset são agnósticos de campo – eles se referem à estrutura e a qualquer campo que esteja na estrutura que está sendo usada.

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.

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 folha = EXPANDALL(AVERAGE([Sales Amount]), ROWS) N/D
FIRST Refere-se à primeira linha de um eixo. ProfitVSFirst = [Profit] – FIRST([Profit]) ÍNDICE(1)
ISATLEVEL Relata se uma coluna especificada está presente no nível atual. IsFiscalYearAtLevel = ISATLEVEL([Fiscal Year]) N/D
LAST Refere-se à última linha de um eixo. ProfitVSLast = [Profit] – LAST([Profit]) ÍNDICE(-1)
MOVINGAVERAGE Adiciona uma média móvel em um eixo. MovingAverageSales = MOVINGAVERAGE([Sales Amount], 2) WINDOW
NEXT Refere-se a uma próxima linha de um eixo. ProfitVSNext = [Profit] – NEXT([Profit]) DESLOCAMENTO(1)
PREVIOUS Refere-se a uma linha anterior de um eixo. ProfitVSPrevious = [Profit] – PREVIOUS([Profit]) DESLOCAMENTO(-1)
RANGE Refere-se a uma fatia de linhas 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

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:
    • Gráfico de linhas e colunas empilhadas
    • Mapa de árvore
    • Mapeamento
    • Mapa de Formas
    • Mapa do Azure
    • Segmentação de Dados
    • R visual
    • Visual do Python
    • Principais Influenciadores
    • Árvore Hierárquica
    • Perguntas e respostas
    • Narrativa inteligente
    • Métrica
    • Relatório Paginado
    • Mapas ArcGIS
    • Power Apps
    • Power Automate
    • Múltiplos pequenos
  • 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.
  • Não é possível exportar dados subjacentes de elementos visuais que usam cálculos visuais ou campos ocultos.
  • 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 cadeias de caracteres de formato internas ou personalizadas em cálculos visuais.
  • 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.
  • Você não pode usar parâmetros de campo com cálculos visuais.
  • Mostrar itens sem dados não está disponível com cálculos visuais.

Próximas etapas

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