A função EARLIER no Power BI é uma daquelas que dá um nó na cabeça de quem tá começando, mas é uma mão na roda quando a gente entende o jeitinho dela. Se eu fosse dar um nome mais mineiro pra ela, chamaria de “Função Cutuca-Lá-Do-Passado”, porque ela vai buscar valores que já foram calculados antes, trazendo de volta pra resolver contas complicadas. É quase como se ela estivesse dizendo: “Ô cê lembra daquele trem que já passei antes? Então, preciso dele de novo pra fechar esse cálculo aqui.”
Pra entender na prática, bora pros exemplos, uai:
Exemplo 1: Calculando a diferença entre a venda atual e a venda do mês anterior
Imagina que cê tem uma tabela de vendas, e quer calcular a diferença da venda atual pra do mês passado. Com a função EARLIER, cê consegue fazer isso assim:
Venda Anterior = CALCULATE(SUM(TabelaVendas[ValorVenda]), PREVIOUSMONTH(TabelaVendas[DataVenda]))
E aí cê pode calcular a diferença com:
Diferença = TabelaVendas[ValorVenda] - EARLIER(TabelaVendas[Venda Anterior])
Exemplo 2: Criando Ranking Dinâmico
Vai que cê quer fazer um ranking dos melhores vendedores, mas considerando o contexto de cada linha. A EARLIER faz isso bonitinho:
Ranking = RANKX(FILTER(TabelaVendedores, TabelaVendedores[Região] = EARLIER(TabelaVendedores[Região])), TabelaVendedores[Vendas], , DESC)
Aqui, a função vai “cutucar” a região da linha anterior e comparar pra te dar o ranking de cada vendedor dentro da sua própria região.
Exemplo 3: Contando vendas por categoria
Se quiser contar quantos produtos de uma categoria foram vendidos numa tabela de vendas, cê pode usar assim:
Contagem Categoria = CALCULATE(COUNT(TabelaVendas[Produto]), FILTER(TabelaVendas, TabelaVendas[Categoria] = EARLIER(TabelaVendas[Categoria])))
Ela vai puxar o valor da categoria que já foi calculado antes e contar quantos produtos se encaixam.
Exemplo 4: Percentual de cada vendedor em relação ao total
Aqui, cê calcula quanto cada vendedor vendeu em relação ao total da empresa:
Percentual Vendas = TabelaVendas[ValorVenda] / CALCULATE(SUM(TabelaVendas[ValorVenda]), ALL(TabelaVendas)) * 100
A EARLIER vai ajudar a manter a linha de cada vendedor dentro do contexto correto.
Exemplo 5: Verificando duplicatas
Cê pode usar a EARLIER pra verificar duplicatas numa tabela de clientes:
Duplicata = IF(COUNTROWS(FILTER(TabelaClientes, TabelaClientes[CPF] = EARLIER(TabelaClientes[CPF]))) > 1, "Duplicado", "Único")
Ela vai pegar o CPF de cada linha e conferir se já apareceu antes.
Exemplo 6: Criando colunas calculadas dependentes
Quando uma coluna depende do valor de outra que tá no passado, tipo comparar valores anteriores pra ver aumento ou diminuição:
Variação = TabelaVendas[ValorVenda] - EARLIER(TabelaVendas[ValorVenda])
Ela vai comparar o valor atual com o anterior e te dizer se subiu ou desceu.
Exemplo 7: Soma cumulativa
Pra fazer uma soma cumulativa, cê usa a EARLIER pra ir somando o que já foi feito antes:
Soma Cumulativa = CALCULATE(SUM(TabelaVendas[ValorVenda]), FILTER(TabelaVendas, TabelaVendas[DataVenda] <= EARLIER(TabelaVendas[DataVenda])))
Ela vai buscar as datas passadas e somar tudo até a data atual.
Exemplo 8: Analisando tendências de crescimento
Se cê quiser saber se a empresa tá crescendo mês a mês:
Crescimento = (TabelaVendas[ValorVenda] - EARLIER(TabelaVendas[ValorVenda])) / EARLIER(TabelaVendas[ValorVenda])
Aqui ela vai comparar o valor atual com o anterior e te dizer a porcentagem de crescimento.
Exemplo 9: Criando chaves compostas
Quer criar uma chave composta de cliente e data de venda? Use a EARLIER pra ajudar a concatenar:
Chave Composta = TabelaVendas[ClienteID] & "-" & EARLIER(TabelaVendas[DataVenda])
Vai gerar uma chave única por cliente e data.
Exemplo 10: Encontrando o primeiro registro
Pra achar o primeiro registro numa tabela ordenada por data, cê pode usar:
Primeiro Registro = CALCULATE(FIRSTNONBLANK(TabelaVendas[DataVenda], 1), FILTER(TabelaVendas, TabelaVendas[DataVenda] <= EARLIER(TabelaVendas[DataVenda])))
Ela vai comparar todas as datas até a atual e te dar a primeira registrada.
No fim das contas, a função EARLIER parece até que tá espiando pelo retrovisor da sua tabela e sempre buscando o que já passou pra fazer a próxima conta. Quem diria que um “cutuca do passado” ia ser tão útil no meio de tanta matemática!