Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde pessoal!
Gostaria da ajuda de vocês, estou trabalhando numa informação de Clientes Recuperados, ou seja, clientes que estavam a mais de 12 meses sem comprar, mas que voltaram a comprar no mês atual (Mês de análise). Utilizei o método abaixo para marcar os clientes inativos, porém não deu muito certo, me trouxe apenas resultados de jan, fev e mar 2024 ↓↓↓
ClientesInativos:
LOAD
PedidoVendaCódigoCliente,
1 as PedidoVendaIndicadorInativo // Marca clientes que estavam inativos
Resident UltimoPedidoTotal
Where Monthstart(PedidoVendaUltimaDataFaturamentoPedido) < Monthstart(AddMonths(Today(), -12));
Oi @AdminLoghaus !
Achei interessante seu caso e fiz alguns testes. Não sei se ainda tem a mesma questâo, mas veja se essa abordagem funciona pra vc.
O ponto chave é que precisamos de duas condições:
Passo 1 — Última compra por cliente
Agrupamos os pedidos por cliente e pegamos a data máxima de faturamento. Fazemos um Left Join na tabela principal para trazer esse campo.
Passo 2 — Penúltima compra por cliente
Com a UltimaDataCompra já disponível na tabela, filtramos apenas as datas anteriores a ela e pegamos o máximo — que resulta na penúltima compra de cada cliente.
Passo 3 — Mapping de clientes recuperados
Criamos um Mapping que aplica a lógica: se a última compra foi no mês atual E a penúltima foi há mais de 12 meses, o cliente recebe flag 1. Caso contrário, 0.
Passo 4 — Flag na tabela principal
Aplicamos o Mapping na tabela principal via ApplyMap com default 0 — isso garante que todo cliente receba uma flag, mesmo os que compraram pela primeira vez e não têm penúltima compra.
Resultado:
Espero que ainda ajude 🙂
Oi @AdminLoghaus !
Achei interessante seu caso e fiz alguns testes. Não sei se ainda tem a mesma questâo, mas veja se essa abordagem funciona pra vc.
O ponto chave é que precisamos de duas condições:
Passo 1 — Última compra por cliente
Agrupamos os pedidos por cliente e pegamos a data máxima de faturamento. Fazemos um Left Join na tabela principal para trazer esse campo.
Passo 2 — Penúltima compra por cliente
Com a UltimaDataCompra já disponível na tabela, filtramos apenas as datas anteriores a ela e pegamos o máximo — que resulta na penúltima compra de cada cliente.
Passo 3 — Mapping de clientes recuperados
Criamos um Mapping que aplica a lógica: se a última compra foi no mês atual E a penúltima foi há mais de 12 meses, o cliente recebe flag 1. Caso contrário, 0.
Passo 4 — Flag na tabela principal
Aplicamos o Mapping na tabela principal via ApplyMap com default 0 — isso garante que todo cliente receba uma flag, mesmo os que compraram pela primeira vez e não têm penúltima compra.
Resultado:
Espero que ainda ajude 🙂