Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: