Função EARLIER no Power BI – Como Usar Essa Função?
Você sabe como utilizar a função EARLIER no Power BI? Sabe como ela pode te ajudar nos seus cálculos e análises?
A função EARLIER no Power BI (DAX) recupera o valor da linha atual quando a fórmula já está dentro de outro contexto de linha, como o criado pela função FILTER. É usada em colunas calculadas para comparar cada linha com as demais — por exemplo, contar quantas compras o cliente já tinha feito até aquela venda.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula ensina a usar a função EARLIER do DAX numa coluna calculada para numerar as compras de cada cliente e descobrir o produto de entrada. Você aprende a combinar CALCULATE, COUNTROWS e FILTER com uma coluna de índice, entender por que sem EARLIER a conta devolve a tabela inteira e buscar o primeiro produto com LOOKUPVALUE.
Neste vídeo (37 min):
- 1:00 - Tabela de vendas ordenada pelo número da venda e o objetivo: saber qual foi o primeiro produto que cada cliente comprou
- 4:40 - Por que
LOOKUPVALUEnão resolve direto: a mesma cliente aparece em várias compras e é preciso numerar cada ocorrência - 7:00 - Criando uma coluna de índice sequencial no Power Query, em Adicionar Coluna, começando do 1
- 10:00 - A lógica da ocorrência: filtrar pelo código do cliente, e não pelo nome, e contar as linhas com índice menor ou igual ao da linha atual
- 14:00 - Nova coluna Ocorrência com
CALCULATEeCOUNTROWSsobre a tabela de vendas - 16:30 - Simulação com filtros: o Gustavo Gomes, na linha 2428, tinha feito cinco compras até ali
- 19:10 -
FILTERcom duas condições unidas por&&e, semEARLIER, a contagem devolvendo as 9.998 linhas da tabela - 21:00 -
EARLIERno código do cliente e no índice faz a coluna numerar as compras 1, 2, 3 de cada cliente - 23:20 - Índice em ordem decrescente e a ocorrência continua certa, porque a fórmula compara índices e não a posição da linha
- 26:10 - Coluna que concatena código do cliente e ocorrência com
& " " &, e o espaço evita que 89 e 1 virem 891 - 28:45 - Coluna Produto de entrada com
LOOKUPVALUEbuscando o código do cliente seguido de" 1" - 33:30 - Matriz com a contagem de vendas por produto de entrada: o Apple Watch aparece com 99 vendas atribuídas
Trechos do vídeo:
EARLIERdevolve o valor da linha atual quando a fórmula já está dentro de outro contexto de linha, como o criado porFILTERnuma coluna calculada- Sem
EARLIER, a condição compara a coluna com ela mesma, é sempre verdadeira e a contagem passa a considerar a tabela inteira - Filtrar pelo código do cliente, e não pelo nome, evita juntar as compras de duas pessoas com o mesmo nome
- Como a fórmula compara índices, a numeração das ocorrências não depende da ordem em que as linhas aparecem na visualização de dados
- Dentro do
LOOKUPVALUEde uma coluna calculada, citar a coluna direto já pega o valor da linha atual, sem precisar deEARLIER
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Função EARLIER no Power BI
Você já ouviu falar na fórmula EARLIER no Power BI? Sabe o que ela faz ou como ela pode te auxiliar nos seus cálculos?
Eu quero te mostrar como ela funciona em um case real em Power BI, assim você vai ver o funcionamento dela e como pode utilizá-la no seu dia a dia.
Função EARLIER
Para o nosso case prático no Power BI nós vamos querer descobrir qual foi o primeiro produto comprado por um cliente.
Isso é importante em algumas análises para saber qual foi o produto de entrada desse cliente na empresa, assim podemos verificar se esse é um produto de entrada de mais clientes ou fazer outros tipos de análises.

Para isso nós temos uma base de dados de vendas, com diversas vendas que foram feitas, mas vamos querer saber qual foi o primeiro produto comprado por cada um dos clientes.
A ideia é pegar um cliente e a partir desse cliente nós vamos ver todas as compras que foram feitas e com isso conseguimos descobrir qual foi o primeiro produto dessa pessoa.
Isso é relativamente simples, mas dentro do Power BI nós vamos precisar criar essa lógica.
Nós temos uma função no Power BI que permite com que você traga uma determinada informação, ou seja, permite com que você faça uma busca de informações.
Essa é a função LOOKUPVALUE, que funciona como um PROCV do Excel!
IMPORTANTE: Para o que nós vamos fazer é importante que você tenha uma coluna com índices, ou sejam, números das vendas igual temos na imagem, ou alguma coluna que consiga fazer essa contagem. Se não tiver você pode entrar no Power Query, ir até a guia Adicionar Coluna e selecionar a opção Coluna de Índice.

No nosso caso já temos a coluna de vendas, mas caso não tenha você pode fazer esse procedimento para criar essa coluna.
A ideia da nossa análise é verificar linha por linha e em cada uma delas nós vamos verificar quantas compras aquela pessoa fez até esse momento.
Então se a pessoa tem 10 compras, mas estamos analisando uma linha onde ela está na terceira compra, nós vamos querer que apareça como resultado o valor 3, e assim por diante.

Essa é a fórmula que vamos utilizar para fazer esse cálculo. A ideia é utilizar a função EARLIER para que ele consiga pegar o código atual do cliente e o índice atual da venda.
Como assim atual? Como nós estamos utilizando a função FILTER para fazer o cálculo da quantidade de linhas, nós vamos fazer esse cálculo linha a linha da tabela.
Então na primeira linha nós vamos calcular a quantidade de linhas de vendas, mas com o filtro da função FILTER.
Nesse caso a nossa função vai filtrar as informações da tabela de vendas onde o código do cliente é igual ao código atual do cliente, então se estamos verificando a linha do cliente 138 a função EARLIER vai trazer esse valor.
E além disso vamos querer filtrar em conjunto as informações onde o índice tem que ser igual ou menor do que o nosso índice atual (também com a função EARLIER).
Então a ideia dessa fórmula é contar a quantidade de linhas de vendas que nós temos do cliente da linha analisada, até o índice daquele momento.
Calma que tudo isso vai fazer sentido. Agora pense que você está andando linha a linha na sua tabela, mas está analisado o que foi comprado de um cliente até aquele momento.
Então se ele fez uma compra o resultado vai ser 1, mas a partir do momento que temos a segunda compra desse cliente, nessa linha já vamos ter o registro 2.
Isso acontece porque estamos contando as linhas do cliente, seria basicamente uma conta de quantas compras ele fez, ou seja, quantas vezes apareceu o código daquele cliente até a linha que estamos analisando.

Aqui fizemos um filtro do cliente 297 para que fique mais claro esse filtro. Vamos em cada linha verificar quantas compras ela tem até aquele momento.
Então se estivermos na linha 10, quer dizer que até o momento ela teve 10 compras, e em cada uma delas vamos ter o número de compras registrado.
A partir do momento que outra compra for feita nós vamos ter esses números atualizados.
Essa fórmula é importante, pois não queremos saber de cada qual o total de produtos que a pessoa comprou, nós queremos saber qual é o número da compra.
Você lembra que nós queremos saber qual é o primeiro produto que cada cliente comprou? Se eu sei o número de cada uma das compras, basta pegar a compra de número 1 de cada cliente que eu consigo saber qual é o produto não é mesmo?
Então nós vamos ter uma coluna com todas as ocorrências de compra de cada um desses clientes, assim fica mais fácil saber qual foi a primeira compra de cada um deles.
Para trazer a primeira compra de cada cliente nós vamos utilizar a função LOOKUPVALUE, agora que já temos a primeira compra basta trazer essa informação de cada um dos clientes.
Para fazer essa função funcionar não podemos simplesmente buscar pelo código do cliente, pois se fizermos isso ele vai ter mais de um produto para trazer, pois o cliente pode ter feito 10 compras.
Então o Power BI não saberia qual é a compra que ele precisa trazer. Para resolver isso nós podemos criar uma coluna com o código do cliente e o número da ocorrência.

Assim podemos buscar apenas o cliente que depois do seu código tem o número 1 na frente, assim saberemos que vamos trazer apenas a primeira compra.

Aqui vamos apenas fazer essa busca, pois agora temos uma única informação para procurar e não várias ocorrências do mesmo cliente.

Aqui nós filtramos o cliente 129 para que você veja que em todas as ocorrências desse cliente nós vamos trazer apenas o primeiro produto que ele comprou, que é exatamente o Smart Watch MI, que é o produto da ocorrência de número 1.

Dá só uma olhada nas análises que nós podemos fazer. Primeiro temos o produto de entrada de cada cliente, então temos o primeiro produto que essa pessoa comprou.
Depois nós temos uma análise de quantas vendas esse produto de entrada gerou para a empresa. Como assim?
Vamos supor que você vá em uma loja e compre um celular, só que nessa loja você viu que os preços são melhores, ou que o atendimento foi muito bom, que teve um tratamento especial depois da compra…
Isso geralmente faz com que você volte nessa loja para comprar novamente, é exatamente isso que estamos calculando na segunda tabela.
Então a venda do primeiro produto, pode abrir portas para outras vendas na sua loja.
Outro exemplo que pode facilitar é se você comprou um curso aqui na Hashtag Treinamentos, gostou da didática, gerou resultados pra você, conseguiu impressionar no trabalho, ganhou uma promoção…
Todos esses são motivos para que você volte e compre outro curso, pois sabe que é bom, você gosta e te traz resultados.
Então a partir desse primeiro produto nós podemos fazer uma análise de quantas outras vendas ele nos gerou.
Então no nosso exemplo, podemos ter um produto como o iPad 32GB Wifi que não gerou tantas compras, então pode ser um produto que não é bom o suficiente para fazer com que você volte a loja e compre outros produtos.
Claro que essa é apenas uma das várias análises que podemos fazer.
Perguntas frequentes
1. Para que serve a função EARLIER no Power BI?
Ela serve para acessar o valor da linha que está sendo calculada quando existe um segundo contexto de linha por cima, criado por funções como FILTER. Com isso dá para responder perguntas do tipo quantas vendas esse mesmo cliente teve até este índice, direto em uma coluna calculada.
2. Qual a diferença entre EARLIER e LOOKUPVALUE?
EARLIER devolve o valor da linha atual dentro de um cálculo aninhado, funcionando como referência. LOOKUPVALUE busca um valor em outra parte da tabela a partir de uma chave, como o PROCV do Excel. No case da aula os dois se completam: EARLIER numera as compras e LOOKUPVALUE traz o primeiro produto.
3. Como contar a ocorrência de compras de cada cliente com EARLIER?
Crie uma coluna calculada que conte as linhas da tabela de vendas filtradas por FILTER, com duas condições: o código do cliente igual ao código da linha atual e o índice menor ou igual ao índice da linha atual, ambos obtidos com EARLIER. O resultado é a posição daquela compra.
4. A função EARLIER vale para colunas calculadas e para medidas?
Ela depende de contexto de linha, então o uso natural é em colunas calculadas; em medidas só funciona dentro de iteradores como SUMX ou FILTER, que criam esse contexto. Em modelos mais recentes muita gente prefere guardar o valor da linha em uma variável VAR, que deixa a fórmula mais legível.
Conclusão – Função EARLIER no Power BI
Nessa aula eu te mostrei como usar a função EARLIER no Power BI em um caso prático.
Agora você já sabe como utilizar essa função para obter uma informação atual que está sendo analisada e ainda viu uma aplicação prática dessa função!
O que você precisa fazer agora? Praticar! Pegue essa mesma base de dados e tente reproduzir o que aprendeu aqui na aula!
Hashtag Treinamentos
Para acessar outras publicações de Power BI, clique aqui!


