Aprenda a Usar CALCULATE e CALCULATETABLE no Power BI
Aprenda a usar CALCULATE e CALCULATETABLE no Power BI! São duas fórmulas muito importantes para realizar cálculos com filtros!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
CALCULATE e CALCULATETABLE no Power BI
Na aula de hoje, quero te mostrar qual a diferença entre a fórmula CALCULATE e CALCULATETABLE no Power BI, e quando usar cada uma delas.
Já vimos anteriormente como utilizar a fórmula CALCULATE, que nos permite realizar cálculos com filtros específicos. Além dela, temos a fórmula CALCULATETABLE, que também permite realizar cálculos com filtros específicos, mas, ao invés de retornar um único valor, retorna uma tabela inteira como resultado.
Podemos aplicar o CALCULATETABLE dentro de outras fórmulas e criamos a chamada tabela virtual no Power BI.
E aí, ficou curioso para saber como usar a função CALCULATETABLE? Então, faça o download do material disponível e vem comigo!
Apresentação da Base de Dados
No material disponível para download, você encontrará a base de dados que utilizaremos ao longo dessa aula. É uma base de dados fictícia com os dados de vendas dos cursos da Hashtag.

Nessa tabela, temos a identificação do aluno, o produto comprado, a empresa (se foi Treinamentos ou Programação), a forma de pagamento, o número de parcelas, o valor pago e a data da compra.
Fórmula CALCULATE no Power BI
Com a função CALCULATE, podemos realizar um cálculo baseado em alguma condição, ou seja, com algum filtro aplicado. Por exemplo, podemos utilizar a fórmula CALCULATE para calcular o faturamento da empresa Hashtag Treinamentos.
Podemos clicar com o botão direito do mouse sobre a tabela e criar uma nova medida.

Vamos chamar essa medida de Fat Hash Trein. e vamos utilizar a fórmula CALCULATE para somar os valores da coluna Valor Pago onde o nome da empresa é igual a Hashtag Treinamentos.
Fat Hash Trein. = CALCULATE(
SUM(BaseVendas[Valor Pago (nessa parcela)]),
BaseVendas[Empresa] = "Hashtag Treinamentos"
)Podemos visualizar o resultado dessa medida criando um cartão na nossa guia de Exibição de relatório e adicionando essa informação a ele.

Podemos inclusive comparar esse valor com o faturamento total, criando uma medida para o Faturamento Total e adicionando um segundo cartão com essa informação.
Fat Total = SUM(BaseVendas[Valor Pago (nessa parcela)])
Fórmula CALCULATETABLE no Power BI
Agora que relembramos como a fórmula CALCULATE funciona, podemos partir para a função principal dessa aula, a CALCULATETABLE, que nos permite criar uma tabela com base em um filtro específico.
Voltando para o Modo de exibição de tabela, temos na guia Página Inicial algumas formas de adicionarmos cálculos ao Power BI: Nova Medida, Nova Coluna e Nova Tabela.

Para utilizar a fórmula CALCULATETABLE, vamos selecionar a opção Nova Tabela e nosso objetivo é criar uma tabela apenas com as vendas da empresa Hashtag Treinamentos, sem considerar as vendas da Hashtag Programação.
Vamos chamar essa tabela de Vendas Hash Treinamentos e utilizar a função CALCULATETABLE, passando a tabela que queremos filtrar como primeiro argumento, e o critério que iremos filtrar como segundo argumento.
Vendas Hash Treinamentos = CALCULATETABLE(
BaseVendas,
BaseVendas[Empresa]="Hashtag Treinamentos"
)Ou seja, vamos filtrar a tabela BaseVendas, selecionando apenas as linhas em que BaseVendas[Empresa] for igual a Hashtag Treinamentos.

A função CALCULATETABLE essencialmente é isso. Ela te permite criar uma nova tabela com base nos critérios determinados. Mas vamos explorar como utilizá-la na prática e em conjunto com outras funções.
Utilizando a Função CALCULATETABLE em Outras Fórmulas
Além de utilizar a função CALCULATETABLE para criar uma tabela visível, podemos utilizá-la dentro de outras fórmulas que peçam uma tabela como argumento.
Dessa forma, utilizamos a fórmula CALCULATETABLE para criar uma tabela virtual que irá existir apenas dentro daquela função. Ela não precisa ser criada à parte para então realizarmos o cálculo.
Por exemplo, vamos calcular o Faturamento Total da Hashtag Treinamentos utilizando a função SUMX e passando como argumento de tabela a fórmula CALCULATETABLE.
Fat Hash Treinamentos 2 = SUMX(
CALCULATETABLE(BaseVendas,
BaseVendas[Empresa]="Hashtag Treinamentos"),
[Fat Total]
)
Perceba que chegamos no mesmo resultado obtido anteriormente. É claro que nessa abordagem não seria tão prático utilizar a fórmula CALCULATETABLE, mas esse é um bom exemplo para que você possa entender como a CALCULATETABLE funciona e pode ser usada para criar uma tabela virtual.
Em quais Casos Usar o CALCULATETABLE?
Vamos ver agora uma aplicação real em que podemos utilizar a função CALCULATETABLE. Na nossa base de dados, possuímos algumas vendas parceladas. Isso faz com que, se um aluno parcelou um curso em 10 vezes, ele aparecerá em 10 linhas diferentes da tabela.
Para algumas análises, ter essa repetição de linhas com os mesmos alunos aparecendo pode atrapalhar ou dificultar a visualização adequada dos dados.
Nesses casos, precisamos criar uma versão resumida da tabela para melhorar a visualização das informações contidas nela. Nessa versão, temos os alunos aparecendo apenas uma vez para cada curso, com o valor total das parcelas somados.
Desse modo, podemos determinar quanto cada aluno pagou em cada um dos cursos ofertados.
Para criar essa tabela resumo, utilizaremos a função SUMMARIZE do Power BI. Em seguida, podemos combiná-la com a função CALCULATETABLE para realizar esse resumo apenas para os cursos da Hashtag Treinamentos.
Função SUMMARIZE e CALCULATETABLE
Começaremos criando a nossa tabela resumo através da fórmula SUMMARIZE.
O primeiro argumento que passaremos para ela é a tabela base sobre a qual desejamos realizar o resumo.
Em seguida, definimos as colunas pelas quais queremos agrupar os dados. Podemos passar apenas uma coluna, mas como nesse caso queremos agrupar por aluno e curso, precisamos passar tanto a coluna Alunos quanto a coluna Produto.
O próximo passo é definir o nome que a nova coluna que será criada receberá. Como queremos a soma dos valores pagos pelos alunos, vamos definir o nome como Soma Valor Pago.
E por fim, definimos qual a função agregada, qual o cálculo que desejamos aplicar à coluna de resumo.
Vendas Resumidas = SUMMARIZE(
BaseVendas,
BaseVendas[Aluno],
BaseVendas[Produto],
"Soma Valor Pago",
[Fat Total]
)Essa fórmula aplicada à Nova tabela irá gerar a nossa tabela resumo.

No entanto, dentro dessa tabela resumo, teremos tanto os alunos da Hashtag Treinamentos como os alunos da Hashtag Programação.
Para criarmos uma tabela resumo apenas dos alunos da Hashtag Treinamentos, podemos utilizar a fórmula CALCULATETABLE para criar uma tabela virtual dentro da nossa fórmula SUMMARIZE.
Vendas Resumidas = SUMMARIZE(
CALCULATETABLE(BaseVendas,
BaseVendas[Empresa]="Hashtag Treinamentos"),
BaseVendas[Aluno],
BaseVendas[Produto],
"Soma Valor Pago",
[Fat Total]
)Feito isso, nossa tabela resumo terá apenas os produtos referentes aos cursos da Hashtag Treinamentos.

Dessa forma, fica muito mais fácil realizar análises específicas e direcionadas aos cursos da Hashtag Treinamentos.
Evitando um Erro Comum com a Fórmula CALCULATE
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Um dos erros mais frequentes ao usar a fórmula CALCULATE no Power BI ocorre quando tentamos aplicar um filtro baseado em uma medida, como, por exemplo, calcular quantos clientes geraram mais de R$ 10.000 de lucro.
A fórmula CALCULATE é projetada para trabalhar diretamente com colunas em seus filtros, mas não suporta medidas diretamente. Isso pode gerar erros ou resultados inesperados.
Por exemplo, suponha que você queira contar quantos clientes da sua tabela de clientes geraram um lucro total superior a R$ 10.000.
Você pode tentar criar uma medida como esta:
Clientes Mais de 10K = CALCULATE( COUNTROWS(Clientes), [Lucro Total] > 10000 )No entanto, essa fórmula resultará em erro, pois [Lucro Total] é uma medida, e a CALCULATE não permite usar medidas diretamente em seus filtros.
Solução: Usando a Fórmula FILTER com CALCULATE
Para corrigir esse problema, você pode usar a função FILTER dentro da CALCULATE.
A função FILTER permite aplicar filtros mais elaborados, incluindo aqueles que envolvem medidas, porque ela avalia cada linha da tabela individualmente (no chamado contexto de linha).
Assim, a fórmula correta seria:
Clientes Mais de 10K = CALCULATE( COUNTROWS(Clientes), FILTER( Clientes, [Lucro Total] > 10000 ) )Aqui, a função FILTER percorre a tabela Clientes, verifica linha por linha se o valor da medida [Lucro Total] é maior que R$ 10.000 e retorna apenas as linhas que atendem a essa condição.
A CALCULATE então conta o número de linhas resultantes com a função COUNTROWS.
Por que isso funciona?
A diferença principal está no comportamento das funções:
- A CALCULATE espera filtros simples baseados em colunas (ex.: Clientes[Região] = "Sudeste").
- A FILTER, por outro lado, avalia cada linha da tabela e permite usar medidas, pois calcula o valor da medida para cada linha no contexto de linha.
Essa abordagem é especialmente útil quando você precisa realizar análises avançadas, como contar clientes com base em condições dinâmicas ou agregadas, sem precisar criar colunas auxiliares.
Dica Extra: Quando Usar CALCULATETABLE com FILTER?
Se, em vez de contar clientes, você quisesse criar uma tabela com os clientes que geraram mais de R$ 10.000 de lucro, poderia usar a CALCULATETABLE com a função FILTER. Por exemplo:
Tabela Clientes 10K = CALCULATETABLE( Clientes, FILTER( Clientes, [Lucro Total] > 10000 ) )Essa fórmula cria uma tabela virtual contendo apenas os clientes que atendem ao critério, que pode ser usada em outras análises ou visualizações.
Conclusão – CALCULATE e CALCULATETABLE no Power BI
Na aula de hoje, eu te mostrei como usar a função CALCULATETABLE no Power BI e qual a diferença dela para a fórmula CALCULATE.
Vimos também que a combinação de CALCULATE e CALCULATETABLE com a função FILTER é uma ferramenta poderosa no Power BI para realizar cálculos e filtragens avançadas.
Entender quando e como usar essas funções, especialmente para evitar erros comuns como tentar filtrar medidas diretamente na CALCULATE, pode economizar tempo e simplificar suas análises.
Hashtag Treinamentos
Para acessar outras publicações de Power BI, clique aqui!


