Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)
Paste
Pasted as SQL by registered user vvillacorta ( 2 years ago )
DELETE FROM DLAB_MODELOS.TMP_JTT_SEG_BPE_SALDO_DEPOSITOS;
INSERT INTO DLAB_MODELOS.TMP_JTT_SEG_BPE_SALDO_DEPOSITOS
WITH MAXIMA_FECHA_SALDOS as(
SELECT MAX(Fecha_Saldo_Dt) max_fec_del_mes
FROM E_DW_VIEWS.V_AGG_SALDOS_DIARIOS
WHERE PERIODO = (SELECT MAX(PERIODO) FROM DLAB_MODELOS.HM_LAST_MONTH)
),
C_SALDOS_DIARIOS AS
(
SELECT a.periodo_val, a.Codigo_Unico_Cliente_Cd
, count(distinct a.Moneda_Val) cant_monedas
, count(distinct a.Moneda_Val||a.Categoria_Prod_VPC_Dsc) cant_Prod_VPC
, sum(a.Saldo_Actual_Sol_Mto) Saldo_Actual_Sol_Mto
, sum(a.Saldo_Promedio_Sol_Mto) Saldo_Promedio_Sol_Mto
, case when sum(a.Saldo_Actual_Sol_Mto)>0 then 1 else 0 end Flg_Saldo_cierre
FROM E_DW_VIEWS.V_AGG_VPC_SALDOS_DIARIOS a
WHERE 1=1
and A.Fecha_Saldo_Dt = (SELECT MAX(max_fec_del_mes) FROM MAXIMA_FECHA_SALDOS)
AND Tipo_Prod_VPC_Dsc = 'DEPÓSITOS'
AND Categoria_Prod_VPC_Dsc in ('CUENTA NEGOCIO PJ','CUENTA NEGOCIO PN','AHORRO','VISTA')
group by 1, 2
)
, C_SALDOS_DIARIOS_SEG AS
(select (SELECT MAX(PERIODO) FROM DLAB_MODELOS.HM_LAST_MONTH) Periodo_Val
, Codigo_Unico_Cliente_Cd Cod_Unico_Val
, min(periodo_val) periodo_val_Min
, max(periodo_val) periodo_val_Ult
, count(periodo_val) cant_periodo
, max(cant_monedas) cant_Monedas_U6M
, max(cant_Prod_VPC) cant_Prod_VPC_U6M
, sum (Saldo_Actual_Sol_Mto) Saldo_Actual_Sol_Tot_U6M
, sum (Saldo_Promedio_Sol_Mto) Saldo_Promedio_Sol_Tot_U6M
, sum (Saldo_Actual_Sol_Mto)/6 Saldo_Actual_Sol_Avg_U6M
, sum (Saldo_Promedio_Sol_Mto)/6 Saldo_Promedio_Sol_Avg_U6M
, sum (case when periodo_val = (SELECT MAX(PERIODO) FROM DLAB_MODELOS.HM_LAST_MONTH) then Saldo_Actual_Sol_Mto else 0 end) Saldo_Actual_Sol_Mto_Ult
, sum (case when periodo_val = (SELECT MAX(PERIODO) FROM DLAB_MODELOS.HM_LAST_MONTH) then Saldo_Promedio_Sol_Mto else 0 end) Saldo_Promedio_Sol_Mto_Ult
, sum(Flg_Saldo_cierre) cant_Flg_Saldo_cierre
from C_SALDOS_DIARIOS
group by 1, 2
)
select a.*
, case
when Saldo_Promedio_Sol_Avg_U6M>=300000 then 'A'
when Saldo_Promedio_Sol_Avg_U6M>=50000 and Saldo_Promedio_Sol_Avg_U6M<300000 then 'B'
else 'C'
end AS SEGMENTO
, case
when Saldo_Promedio_Sol_Avg_U6M>=300000 then '1-Priority'
when Saldo_Promedio_Sol_Avg_U6M>=50000 and Saldo_Promedio_Sol_Avg_U6M<300000 then '3-Pasivero/Potencial'
end AS SEGMENTO_CICS
from C_SALDOS_DIARIOS_SEG a
--) WITH DATA PRIMARY INDEX (Periodo_Val, Cod_Unico_Val);
Revise this Paste