Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Caros,
Tenho a seguinte situação: Hoje eu classifico meus clientes em:
clientes ATIVOS e clientes INATIVOS
e clientes NOVOS e clientes ANTIGOS
Clientes ATIVOS são clientes que efetuaram sua ULTIMA compra no prazo dos últimos 6 meses,
ao contrário são INATIVOS (Tipo Cliente)
Clientes NOVOS são clientes que efetuaram sua PRIMEIRA compra nos últimos 6 meses,
ao contrário são ANTIGOS (Status Cliente)
Meu código hoje funciona perfeitamente, mas ele não guarda o histórico do período anterior aos últimos seis meses de Today().
Tenho um gráfico de linha de tempo onde são apresentados na dimensão Mês/Ano o count destas classificações de Clientes.
Gostaria de saber como guardar esse histórico da quantidade de Clientes destas classificações.
Código:
TempStatusCliente:
LOAD
[CPF/CNPJ Cliente],
Max([Data/Hora]) AS ULTIMA_COMPRA,
Min([Data/Hora]) AS PRIMEIRA_COMPRA,
AddMonths(today(),-6) AS PRAZO
Resident Fato
Group by [CPF/CNPJ Cliente];
[StatusCliente]:
LOAD
[CPF/CNPJ Cliente],
IF(PRIMEIRA_COMPRA >= PRAZO, 'NOVO', 'ANTIGO') as [Status do Cliente],
IF(ULTIMA_COMPRA >= PRAZO, 'ATIVO','INATIVO') as [Tipo de Cliente]
Resident TempStatusCliente;
DROP Table TempStatusCliente;
Oi, Bruna.
Tanta algo assim:
Let vDataInicial = Num(MakeDate(2012, 1, 1));
Let vDataFinal = Num(MonthStart(Today()));
MesesTemp:
Load
Concat(Distinct MesTemp) as MesesTemp;
Load Distinct
Num(MonthStart($(vDataInicial) + RowNo() - 1)) as MesTemp
AutoGenerate $(vDataFinal) - $(vDataInicial) + 1;
For Each mes in Peek('MesesTemp')
[StatusCliente]:
LOAD
MonthName($(mes)) as [Mês de Referência],
[CPF/CNPJ Cliente],
IF(PRIMEIRA_COMPRA >= PRAZO, 'NOVO', 'ANTIGO') as [Status do Cliente],
IF(ULTIMA_COMPRA >= PRAZO, 'ATIVO','INATIVO') as [Tipo de Cliente];
LOAD
[CPF/CNPJ Cliente],
Max(MonthStart([Data/Hora])) AS ULTIMA_COMPRA,
Min(MonthStart([Data/Hora])) AS PRIMEIRA_COMPRA,
AddMonths($(mes),-6) AS PRAZO
Resident Fato
Where Num(MonthStart([Data/Hora])) <= $(mes)
Group by [CPF/CNPJ Cliente];
Next mes;
Oi, Bruna.
Tanta algo assim:
Let vDataInicial = Num(MakeDate(2012, 1, 1));
Let vDataFinal = Num(MonthStart(Today()));
MesesTemp:
Load
Concat(Distinct MesTemp) as MesesTemp;
Load Distinct
Num(MonthStart($(vDataInicial) + RowNo() - 1)) as MesTemp
AutoGenerate $(vDataFinal) - $(vDataInicial) + 1;
For Each mes in Peek('MesesTemp')
[StatusCliente]:
LOAD
MonthName($(mes)) as [Mês de Referência],
[CPF/CNPJ Cliente],
IF(PRIMEIRA_COMPRA >= PRAZO, 'NOVO', 'ANTIGO') as [Status do Cliente],
IF(ULTIMA_COMPRA >= PRAZO, 'ATIVO','INATIVO') as [Tipo de Cliente];
LOAD
[CPF/CNPJ Cliente],
Max(MonthStart([Data/Hora])) AS ULTIMA_COMPRA,
Min(MonthStart([Data/Hora])) AS PRIMEIRA_COMPRA,
AddMonths($(mes),-6) AS PRAZO
Resident Fato
Where Num(MonthStart([Data/Hora])) <= $(mes)
Group by [CPF/CNPJ Cliente];
Next mes;