1. Ultimo Consumo de cada Cliente
2. Primer Consumo de cada Cliente
3. Si el Cliente consume en ultimo día del mes
4. Si el Cliente consume en primer día de la semana
5. Si el Cliente consume en ultimo día de semana
Una técnica podría ser crear campos tipo Flag, quedando como resultado:
Para lograr esto el scrip seria:
Ventas:
LOAD * INLINE [
Fecha, Cliente, Cantidad
1/31/2014, Juan, 80
1/26/2014, Juan, 100
1/13/2014, Juan, 300
1/2/2014, Pedro, 500
1/31/2014, Pedro, 500
1/5/2014, Pedro, 500
1/13/2014, Pedro, 200];
// 1. Flag para identificar ultimo
consumo de cada cliente
Left Join (Ventas)
LOAD Cliente ,
max(Fecha) as Fecha,
1 as Flag_UltimoConsumo
Resident Ventas Group By Cliente;
// 2. Flag para identificar primer consumo del cliente
Left Join (Ventas)
LOAD Cliente ,
min(Fecha) as Fecha,
1 as Flag_PrimerConsumo
Resident Ventas Group By Cliente;
//3. Flag_UltimoDiaMes para idenficar si el cliente consume ultimo dia del mes
//4. Flag_1erDiaSemana para idenficar si el cliente consume primer dia de la semana
//5. Flag_UltimoDiaSemana para idenficar si el cliente consume ultimo dia de la semana
Left Join (Ventas)
LOAD Distinct
Fecha ,
if(Fecha=Floor(MonthEnd(Fecha)),1) As Flag_UltimoDiaMes,
if(Fecha=Floor(WeekStart(Fecha)),1) As Flag_1erDiaSemana,
if(Fecha=Floor(WeekEnd(Fecha)),1) As Flag_UltimoDiaSemana
Resident Ventas;
Left Join (Ventas)
LOAD Cliente ,
max(Fecha) as Fecha,
1 as Flag_UltimoConsumo
Resident Ventas Group By Cliente;
// 2. Flag para identificar primer consumo del cliente
Left Join (Ventas)
LOAD Cliente ,
min(Fecha) as Fecha,
1 as Flag_PrimerConsumo
Resident Ventas Group By Cliente;
//3. Flag_UltimoDiaMes para idenficar si el cliente consume ultimo dia del mes
//4. Flag_1erDiaSemana para idenficar si el cliente consume primer dia de la semana
//5. Flag_UltimoDiaSemana para idenficar si el cliente consume ultimo dia de la semana
Left Join (Ventas)
LOAD Distinct
Fecha ,
if(Fecha=Floor(MonthEnd(Fecha)),1) As Flag_UltimoDiaMes,
if(Fecha=Floor(WeekStart(Fecha)),1) As Flag_1erDiaSemana,
if(Fecha=Floor(WeekEnd(Fecha)),1) As Flag_UltimoDiaSemana
Resident Ventas;
No hay comentarios:
Publicar un comentario