Pular para o conteúdo principal
InicioTutoriaisPower BI

Tutorial do Power BI Calculate

Aprenda a usar a função CALCULATE do Power BI e dê exemplos de como você pode usá-la.
24 de abr. de 2024  · 6 min leer

A função CALCULATE é, sem dúvida, uma das funções DAX mais importantes (e mais populares) do Power BI. Ele é fácil de usar e extremamente versátil, permitindo que você expanda suas análises de dados e desenvolva relatórios do Power BI ainda mais valiosos.

Este tutorial se concentra no que é a função CALCULATE e em como usá-la e pressupõe que você já esteja familiarizado com os conceitos básicos do Power BI e DAX.

O que é a função Calcular do Power BI? 

De acordo com a documentação do Microsoft Power BI, a função CALCULATE faz parte da categoria de função de filtro e é definida como "avaliação de uma expressão em um contexto de filtro modificado". Uma expressão é essencialmente uma medida e inclui funções como SUM, AVERAGE e COUNT. Essa expressão é avaliada no contexto de um ou mais filtros. 

Como você deve saber, os filtros também podem ser aplicados a um relatório do Power BI simplesmente adicionando segmentações sem criar uma medida usando a função CALCULATE. No entanto, há muitos casos de uso em que a função CALCULATE é mais apropriada. É especialmente útil usá-lo como um componente de outra função. Veremos como isso funciona no exemplo abaixo para calcular a porcentagem de um total.

Sintaxe básica do DAX Calculate

A sintaxe DAX básica da função CALCULATE é:

CALCULATE( <expression> [, <filter1> [, <filter2> [, ...]]])

A função CALCULATE é composta por dois componentes principais:

  • A expressão - esse é o componente de agregação que é construído exatamente como uma medida usando funções como SUM, AVERAGE e COUNT.
  • Os filtros - esse componente permite que você especifique um ou mais filtros que controlam o contexto da agregação.

Há três tipos de filtros que podem ser usados na função CALCULATE:

  • Expressões de filtro booleano - esse é um filtro simples em que o resultado deve ser VERDADEIRO ou FALSO.
  • Expressões de filtro de tabela - esse é um filtro mais complexo em que o resultado é uma tabela.
  • Funções de modificação de filtro - filtros como ALL e KEEPFILTERS se enquadram nessa categoria e oferecem mais controle sobre o contexto do filtro que você deseja aplicar.

Você pode adicionar vários filtros ao componente de filtro da função CALCULATE, separando cada filtro com uma vírgula. Todos os filtros são avaliados juntos e sua ordem não importa. 

Você pode controlar como os filtros são avaliados usando operadores lógicos. Se você quiser que todas as condições sejam avaliadas como VERDADEIRAS, poderá usar AND (&&). Esse também é o comportamento padrão dos filtros, conforme mencionado acima. Como alternativa, com o operador OR (||), pelo menos uma condição deve ser avaliada como VERDADEIRA para que um resultado seja retornado.

Como usar o Power BI Calculate

Para usar o CALCULATE, basta adicionar uma medida à sua tabela. Você pode fazer isso navegando até a guia Modelagem na Faixa de Opções e selecionando "Nova medida". 

Modelagem

Abaixo está um exemplo simples da função CALCULATE usando SUM para encontrar a receita total e filtrando para Country = United Kingdom. Voltaremos a discutir esse exemplo com mais detalhes no final do tutorial.

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]), 

               'Online Retail'[Country] = "United Kingdom")

Quando visualizada em uma tabela, podemos ver que a medida da Receita do Reino Unido está simplesmente aplicando um filtro para País, além do contexto de filtro que já está presente na tabela para Mês. Usar a função CALCULATE dessa forma nos dá um controle mais refinado sobre o tipo de informação que é exibida em nosso visual. 

Receita

Um aspecto importante a ter em mente ao criar medidas é seguir boas práticas de modelagem de dados, especificamente em termos de velocidade e otimização de suas consultas. Por esse motivo, alguns usos da função CALCULATE são mais rápidos ou mais apropriados do que outros. 

Por exemplo, a documentação da Microsoft recomenda que você evite usar a função FILTER como argumento de outras funções (como na função CALCULATE). Em vez disso, é melhor usar expressões booleanas sempre que possível, pois elas são explicitamente otimizadas para essa finalidade.

No exemplo acima, usamos uma expressão booleana para definir nosso filtro para Country = United Kingdom. Essa é uma abordagem mais rápida e otimizada. Por outro lado, aqui está um exemplo da função FILTER em que obtemos o mesmo resultado, mas o cálculo é mais lento:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              FILTER('Online Retail',
                        'Online Retail'[Country] = "United Kingdom")

Exemplos da função Calcular do Power BI

Usando um conjunto de dados de comércio eletrônico do mundo real, exploraremos algumas maneiras importantes em que a função CALCULATE pode ser usada para resolver problemas de negócios. Para acompanhar este tutorial, você pode acessar o conjunto de dados de comércio eletrônico no Datacamp Workspaces.

Esse conjunto de dados contém informações sobre cada compra que um cliente faz: o país de onde foi comprado, a descrição do produto, a data e a hora da compra e a quantidade e o preço de cada produto comprado.

Responderemos às perguntas a seguir com a ajuda da função CALCULATE:

  • Como a receita mensal total no Reino Unido se compara à de todos os outros países?
  • Qual é a porcentagem da receita total proveniente do Reino Unido?
  • Qual é a receita diária acumulada?

Como a receita mensal total no Reino Unido se compara à de todos os outros países?

Para responder a essa pergunta, precisaremos criar duas medidas usando a função CALCULATE. Primeiro, usamos um filtro booleano simples para criar uma medida que retorna a receita total (usando uma função SUM) no Reino Unido:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              'Online Retail'[Country] = "United Kingdom")

Em seguida, criamos uma medida semelhante, mas desta vez usamos a função FILTER. Essa expressão de filtro percorre cada linha da coluna Country e retorna uma tabela contendo as linhas que correspondem à condição de filtro. A função FILTER é necessária aqui porque não podemos retornar um simples TRUE ou FALSE do filtro. Em vez disso, obtemos uma tabela com vários valores.

Non-UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                    FILTER('Online Retail',
                        'Online Retail'[Country] <>"United Kingdom")

Portanto, podemos ver que o Reino Unido representa a maior parte da receita dessa loja de comércio eletrônico em comparação com todos os outros países.

Receita por ano e mês

Qual é a porcentagem da receita total proveniente do Reino Unido?

Esse é um tipo de pergunta muito comum enfrentado pelos desenvolvedores e usuários do Power BI e é um caso perfeito para aplicar a função CALCULATE.

Para encontrar a porcentagem de um total, primeiro precisamos ser capazes de retornar o total sem que ele seja afetado por outros contextos de filtro no relatório. Para isso, usamos um modificador de filtro conhecido como função ALL. Usando essa função, especificamos para qual coluna gostaríamos que nosso cálculo ignorasse completamente qualquer filtro. 

Neste exemplo, estamos procurando a porcentagem da receita total no Reino Unido. Isso significa que nosso cálculo deve ignorar qualquer filtro na coluna Country.

Total Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                  ALL('Online Retail'[Country]))

Isso é relevante porque CALCULATE pode ser executado dentro de um contexto de filtro que já esteja filtrando Product[Color]. Nesse cenário, a presença de ALL significa que o filtro externo sobre Product[Color] é ignorado e substituído pelo novo filtro introduzido por CALCULATE. Isso fica evidente se, em vez de dividir por Marca, dividirmos por Cor na matriz.

Agora que conhecemos nossa receita total, podemos criar uma medida para mostrar a porcentagem da receita total. No entanto, como estamos interessados especificamente no Reino Unido, usaremos a função CALCULATE mais uma vez, mas dessa vez usaremos um filtro booleano simples.

UK % of Revenue = CALCULATE(SUM('Online Retail'[Revenue])/[Total Revenue],
                    'Online Retail'[Country] = "United Kingdom")

Agora podemos ver que o Reino Unido representa 84% da receita total dessa loja de comércio eletrônico.

84%

Qual é a receita diária acumulada?

A receita acumulada pode fornecer algumas informações sobre as tendências de receita. Ao traçar essa receita cumulativa em um gráfico, também podemos ver visualmente se a receita aumentou em um ritmo mais rápido ou não ao longo do tempo.

Para responder a essa pergunta, devemos criar uma medida usando a função CALCULATE, bem como essas funções de filtro: ALLSELECTED, FILTER e uma avaliação usando a função MAX.

Cumulative Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                FILTER( ALLSELECTED('Online Retail'[InvoiceDate]),
                'Online Retail'[InvoiceDate] <= MAX('Online Retail'[InvoiceDate])))

Vamos explicar por que esses filtros são importantes aqui:

  • A função FILTER permite que cada um dos dois filtros que especificamos seja avaliado linha por linha e retornará uma tabela nos casos em que houver uma correspondência.
  • A função ALLSELECTED redefine o filtro em InvoiceDate na consulta atual (no resultado abaixo da consulta atual está o gráfico de linhas) e, ao mesmo tempo, permite filtros externos (como os de slicers).
  • A função MAX é usada como parte de uma avaliação - queremos somar a receita de todas as datas que estão na data atual ou abaixo dela na consulta.

cumulativo por dados

Observações finais

Neste tutorial, discutimos o que é a função CALCULATE no Power BI e como usá-la. Também aplicamos a função CALCULATE a um conjunto de dados de comércio eletrônico do mundo real e a usamos para responder a algumas perguntas comerciais importantes.

CALCULAR é uma das funções mais úteis do Power BI e você provavelmente precisará usá-la com frequência ao criar relatórios e gerar insights mais profundos sobre seus dados. 

Esperamos que este tutorial o ajude não apenas a entender a sintaxe básica do CALCULATE, mas também como ele se relaciona com a solução de problemas reais de negócios como analista de dados do Power BI

Temas

Cursos para Power Bi

Course

Introduction to Power BI

4 hr
401.2K
Master the Power BI basics and learn to use the data visualization software to build impactful reports.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

tutorial

Tutorial do Power BI para iniciantes

Aprenda os conceitos básicos do Power BI e como criar um relatório básico com este tutorial passo a passo.
DataCamp Team's photo

DataCamp Team

16 min

tutorial

Como criar tabelas de datas no Power BI Tutorial

Saiba como criar tabelas de datas no Power BI com este tutorial visual passo a passo.
Kafaru Simileoluwa's photo

Kafaru Simileoluwa

12 min

tutorial

Tutorial de execução de scripts Python no Power BI

Descubra as diferentes maneiras de usar o Python para otimizar a análise, a visualização e a modelagem de dados no Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

tutorial

Como usar as funções SUMX do Power BI

Explore a função SUMX no Power BI, sua sintaxe, como ela funciona e as práticas recomendadas que você deve ter em mente.
Joleen Bothma's photo

Joleen Bothma

8 min

tutorial

Como instalar o Power BI

Saiba como instalar o Power BI em seu computador por meio da Microsoft Store ou do centro de download do Power BI.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Como criar um mapa de calor do Power BI

Entenda todos os detalhes de como criar mapas de calor do Power BI e suas aplicações
Zoumana Keita 's photo

Zoumana Keita

9 min

See MoreSee More