Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!

Paste

Pasted as SQL by registered user vvillacorta ( 2 years ago )
DECLARE @MIN_PERIODO AS VARCHAR(6) = (SELECT MIN(PERIODO) FROM ODS.HM_SIMPLE_DATE)
SELECT @MIN_PERIODO

SELECT TOP 5 * FROM TMP_VMVP_CREDITOS_REGRESION_POST_MODELO

IF OBJECT_ID('TMP_VMVP_CREDITOS_REGRESION_POST_MODELO','U') IS NOT NULL DROP TABLE TMP_VMVP_CREDITOS_REGRESION_POST_MODELO   
SELECT U.PERIODO,
        CAST(U.NUM_RUC AS VARCHAR) NUM_RUC,
        CAST(U.NUM_DOC AS VARCHAR) NUM_DOC,
        U.CAMPANIA,
        U.ULTIMA_CAMPANIA_DESPLEGADA,
        U.FLG_PASO_FILTRO_CAMPANIA,
        U.FLG_UNIVERSO_RIESGOS,
        U.PRIO,
        ISNULL(ISNULL(BB.TASAPISO_REDONDEADO, DD.TASA_PISO_DESPLIEGUE), U.TASA_PISO) TASA_PISO,
		CASE WHEN BB.SCOREFINAL_BUCKET = 1 THEN 1.0 ELSE 0.0 END FLG_RIESGO_BAJO,
		CASE WHEN BB.SCOREFINAL_BUCKET = 2 THEN 1.0 ELSE 0.0 END FLG_FLG_RIESGO_MEDIO_BAJO,
		CASE WHEN BB.SCOREFINAL_BUCKET = 3 THEN 1.0 ELSE 0.0 END FLG_RIESGO_MEDIO,  
        CASE WHEN BB.SCOREFINAL_BUCKET IS NULL THEN 1.0 ELSE 0.0 END FLG_NO_TIENE_BUCKET_RIESGO,
        U.CATEGORIA,
		U.FLG_NO_FRESCO_TLV_ALMENOS_P1_P2_P3_P4,
		U.FLG_NO_FRESCO_NUEVOS_RECURRENTE_P1_P2_P3_P4,
		U.FLG_NO_FRESCO_NUEVOS_ALMENOS_P1_P2_P3_P4,
		U.FLG_NO_FRESCO_TLV_RECURRENTE_P1_P2_P3_P4,
		U.FLG_NO_FRESCO_TLV_P1,
		U.FLG_NO_FRESCO_TLV_ALMENOS_P1_P2,
		U.FLG_NO_FRESCO_TLV_RECURRENTE_P1_P2,
		U.FLG_NO_FRESCO_TLV_ALMENOS_P1_P2_P3,
		U.FLG_NO_FRESCO_TLV_RECURRENTE_P1_P2_P3,
		U.FLG_NO_FRESCO_NUEVOS_P1,
		U.FLG_NO_FRESCO_NUEVOS_ALMENOS_P1_P2,
		U.FLG_NO_FRESCO_NUEVOS_RECURRENTE_P1_P2,
		U.FLG_NO_FRESCO_NUEVOS_ALMENOS_P1_P2_P3,
		U.FLG_NO_FRESCO_NUEVOS_RECURRENTE_P1_P2_P3,
		U.FLG_NO_FRESCO_ECOSISTEMAS_P1,
		U.FLG_NO_FRESCO_NUEVOS_PRE_P1,
		U.FLG_NO_FRESCO_NUEVOS_AP_P1,
		U.FLG_NO_FRESCO_RECURRENTE_NUEVOS_PRE_P1_P2_P3,
		U.FLG_NO_FRESCO_ALMENOS_NUEVOS_PRE_P1_P2_P3,
		U.FLG_NO_FRESCO_RECURRENTE_NUEVOS_AP_P1_P2_P3,
		U.FLG_NO_FRESCO_ALMENOS_NUEVOS_AP_P1_P2_P3,
		U.FLG_NO_FRESCO_RECURRENTE_ECOSISTEMAS_P1_P2_P3,
		U.FLG_NO_FRESCO_ALMENOS_ECOSISTEMAS_P1_P2_P3, 
		ISNULL(B.FLG_AGENDA, 0) FLG_AGENDA,
        ISNULL(B.CANT_B,0) CANT_B,
        ISNULL(B.CANT_AC,0)CANT_AC,
        ISNULL(B.CANT_G,0) CANT_G,
        ISNULL(B.CANT_CE,0) CANT_CE,
        ISNULL(B.CANT_ET,0) CANT_ET,
        ISNULL(B.CANAL_TLV,'-') CANAL_TLV,
        B.FEC_REGISTRO_TLV,
        CASE WHEN B.NUM_DOC IS NOT NULL THEN 1 ELSE 0 END FLG_TLV,
        ISNULL(B.NRO_LLAMADA, 0) NRO_LLAMADA,
        ISNULL(B.ESTRATEGIA_AGIL, 0) ESTRATEGIA_AGIL,
        ISNULL(B.FLG_AGENDADO_TRANSFERIDO,0) FLG_AGENDADO_TRANSFERIDO,
        ISNULL(B.FLG_CLIENTE_OCUPADO_NO_ESTA,0) FLG_CLIENTE_OCUPADO_NO_ESTA,
        ISNULL(B.FLG_SE_CORTO_LA_CONVERSACION,0) FLG_SE_CORTO_LA_CONVERSACION,
        ISNULL(B.FLG_INDICA_FALLECIO,0) FLG_INDICA_FALLECIO,
        ISNULL(B.FLG_TLF_NO_CORRESPONDE,0) FLG_TLF_NO_CORRESPONDE,
        ISNULL(B.FLG_NO_ACEPTA_CAMPANIA,0) FLG_NO_ACEPTA_CAMPANIA,
        DES_RESULTLLAMADA_ININ,
        CASE WHEN CANT_CE = 1 OR FLG_NO_ACEPTA_CAMPANIA = 1 OR FLG_AGENDADO_TRANSFERIDO = 1
                    OR FLG_CLIENTE_OCUPADO_NO_ESTA = 1 OR FLG_SE_CORTO_LA_CONVERSACION = 1
                    OR FLG_INDICA_FALLECIO = 1 OR FLG_TLF_NO_CORRESPONDE = 1 THEN 1 ELSE 0 END FLG_CONTESTO_LLAMADA,
        ISNULL(DD.FLG_RESULT, 0) FLG_RESULT,
        -1 FLG_TLV_EN,
        -1 OFERTA_APROBADA_EN,
        ISNULL(DD.CTD_DESPLEGADOS, 0) CTD_DESPLEGADOS,
        ISNULL(DD.FLG_CONTACTADO_EN, 0) FLG_CONTACTADO_EN,
        -1 FLG_DESEMBOLSADO_EN,
        -1 FLG_GESTIONADO_EN,
        -1 FLG_ACEPTA_EN,
        ISNULL(desembolso.FLG_DESEMBOLSO_BPE, 0) CTD_DESEMBOLSO,
        ISNULL(desembolso.COLOCACION_NETA, 0) COLOCACION_NETA,
		DD.FLG_FRESCURA,
		CASE WHEN DD.FLG_FRESCURA = 1 AND CANT_G = 1 THEN 1 ELSE 0 END FLG_FRESCURA_GESTION,
		DD.GESTION_TIPO_2,
		DD.GESTION_SUBTIPO,
		desembolso.TEA_APROBADA,
		desembolso.TEA_APROBADA / 100.0 TEA_APROBADA_PORC,
		CASE WHEN desembolso.COLOCACION_NETA IS NOT NULL AND desembolso.COLOCACION_NETA > 0 THEN desembolso.COLOCACION_NETA * (desembolso.TEA_APROBADA / 100.0) 
		    ELSE 0 END CALCULO_APORTE_X_COLOCACION,
        ISNULL(O.GRUPO_PROPENSION_SF, 0) GRUPO_PROPENSION_SF,
        ISNULL(O.SCORE_DESEMBOLSO_SF, 0) SCORE_DESEMBOLSO_SF,      
        ISNULL(S.grupo_propension, 0) GRUPO_PROPENSION_AGENDA,
        ISNULL(S.score_agenda, 0) SCORE_AGENDA,

        CASE WHEN O.GRUPO_PROPENSION_SF in ('A', 'B') THEN '1. MUY ALTO'
            WHEN O.GRUPO_PROPENSION_SF in ('C', 'D') THEN '2. ALTO'
            WHEN O.GRUPO_PROPENSION_SF in ('E', 'F') THEN '3. MEDIO'
            WHEN O.GRUPO_PROPENSION_SF in ('G', 'H') THEN '4. BAJO'
            WHEN O.GRUPO_PROPENSION_SF in ('I', 'J') THEN '5. MUY BAJO'
            ELSE '0. ' END PRIORIDAD_SF,
                
        CASE WHEN S.PRIORIDAD_ECOSISTEMA IS NOT NULL AND U.CAMPANIA = 'ECOSISTEMAS' THEN S.PRIORIDAD_ECOSISTEMA
            WHEN S.grupo_propension in ('A', 'B') THEN '1. MUY ALTO'
            WHEN S.grupo_propension in ('C', 'D') THEN '2. ALTO'
            WHEN S.grupo_propension in ('E', 'F') THEN '3. MEDIO'
            WHEN S.grupo_propension in ('G', 'H') THEN '4. BAJO'
            WHEN S.grupo_propension in ('I', 'J') THEN '5. MUY BAJO'
            ELSE '0. ' END PRIORIDAD_AGENDA,
                
        CASE WHEN S.grupo_propension in ('A', 'B') THEN '1. MUY ALTO'
            WHEN S.grupo_propension in ('C', 'D') THEN '2. ALTO'
            WHEN S.grupo_propension in ('E', 'F') THEN '3. MEDIO'
            WHEN S.grupo_propension in ('G', 'H') THEN '4. BAJO'
            WHEN S.grupo_propension in ('I', 'J') THEN '5. MUY BAJO'
            ELSE '0. ' END PRIORIDAD_AGENDA_OLD,

        CASE WHEN U.NUM_RUC LIKE '20%' AND LEN(U.NUM_RUC) = 11 THEN 1 ELSE 0 END persona_juridica,
            
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                WHEN U.NUM_RUC LIKE '20%' AND LEN(U.NUM_RUC) = 11 THEN 1 
                ELSE 0 END PERSONA_JURIDICA_GESTIONADO,
            
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                ELSE ISNULL(DD.FLG_FRESCURA , 0) END FLG_FRESCURA_GESTIONADO,
           
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                ELSE ISNULL(B.NRO_LLAMADA, 0) END NRO_LLAMADA_GESTIONADO,
                 
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                ELSE ISNULL(S.score_agenda, 0) END SCORE_AGENDA_GESTIONADO,   
           
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                ELSE ISNULL(O.SCORE_DESEMBOLSO_SF, 0) END SCORE_DESEMBOLSO_SF_GESTIONADO, 
                 
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                WHEN BB.SCOREFINAL_BUCKET = 1 THEN 1.0 ELSE 0.0 END FLG_RIESGO_BAJO_GESTIONADO,
                 
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                WHEN BB.SCOREFINAL_BUCKET = 2 THEN 1.0 ELSE 0.0 END FLG_FLG_RIESGO_MEDIO_BAJO_GESTIONADO,
            
        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                WHEN BB.SCOREFINAL_BUCKET = 3 THEN 1.0 ELSE 0.0 END FLG_RIESGO_MEDIO_GESTIONADO, 

        CASE WHEN B.NUM_DOC IS NULL THEN NULL
                WHEN BB.SCOREFINAL_BUCKET IS NULL THEN 1.0 ELSE 0.0 END FLG_NO_TIENE_BUCKET_RIESGO_GESTIONADO,     

        CASE WHEN PRI.NUM_RUC = 1 THEN 1 ELSE 0 END FLG_PRICING,
        PRI.TASA_PISO TASA_PISO_PRI,
        PRI.TASA_EJECUTIVO TASA_EJECUTIVO_PRI,
        PRI.TASA_PISO_CAMBIO_PBS TASA_PISO_CAMBIO_PBS_PRI,
        PRI.TASA_EJECUTIVO_CAMBIO_PBS TASA_EJECUTIVO_CAMBIO_PBS_PRI,
        PRI.TASA_PISO_NUEVA TASA_PISO_NUEVA_PRI,
        PRI.TASA_EJECUTIVO_NUEVA TASA_EJECUTIVO_NUEVA_PRI,
        CASE WHEN DD.NUM_DOC IS NOT NULL THEN 1 ELSE 0 END FLG_DESPLIEGUE,
        CASE WHEN DD.celular1 IS NOT NULL and DD.celular2 IS NOT NULL THEN 1 ELSE 0 END FLG_2_CELULARES_DESPLIEGUE,
        DD.TASA_PISO_DESPLIEGUE TASA_PISO_DESPLIEGUE,
        DD.MODELO_CONTACTO_DESPLIEGUE MODELO_CONTACTO_DESPLIEGUE,
        DD.SCOREFINAL_BUCKET_DESPLIEGUE SCOREFINAL_BUCKET_DESPLIEGUE,
        DD.SEI_MCDO_DESPLIEGUE SEI_MCDO_DESPLIEGUE,
        DD.PRIORIDAD_DESPLIEGUE PRIORIDAD_DESPLIEGUE,
        CASE WHEN CONTACT.num_ruc is null THEN '3. EXTERNO'
			    WHEN CONTACT.num_ruc = 1 THEN '1. PILOTO'
				WHEN CONTACT.num_ruc = 0 THEN '1. CONTROL'
				ELSE 'X' END gestion_contactabilidad
INTO TMP_VMVP_CREDITOS_REGRESION_POST_MODELO
FROM ODS.HM_VMVP_ADQ_NO_FRESCURA_BARRIDO U
LEFT JOIN ODS.HM_VMVP_ADQ_BARRIDO_DETALLE B
ON U.PERIODO = B.COD_MES AND 
	U.CAMPANIA = B.TIPO_CARGA AND
	U.NUM_DOC = B.NUM_DOC
LEFT JOIN ODS.HM_ADQ_RESULTADOS_EQUIPO_CAMAPANIA DD
ON U.PERIODO = DD.PERIODO AND 
	U.NUM_DOC = DD.NUM_DOC AND 
	U.CAMPANIA = DD.CAMPANIA
LEFT JOIN ODS.MM_VMVP_DESEMBOLSO_SF_RUC O
ON U.PERIODO = O.PERIODO_CAMPANIA AND 
	U.NUM_RUC = O.NUM_RUC
LEFT JOIN ODS.HM_PROPENSION_CREDITO S
ON U.PERIODO = S.PERIODO_CAMPANIA and 
	U.NUM_DOC = (CASE WHEN LEN(S.NUM_DOC) = 11 AND S.NUM_DOC LIKE '10%' THEN SUBSTRING(S.NUM_DOC, 3, 8) ELSE S.NUM_DOC END)
LEFT JOIN BDS.DE_EXP_PRICING PRI
ON U.PERIODO = PRI.PERIODO 
AND U.NUM_RUC = PRI.NUM_RUC
AND U.CAMPANIA = CASE WHEN PRI.CAMPANIA_VPC LIKE '%NUEVOS PRE%' THEN 'NUEVOS PRE'
	                    WHEN PRI.CAMPANIA_VPC LIKE '%ECOSISTEMA%' THEN 'ECOSISTEMA'
						ELSE 'NUEVOS AP' END
LEFT JOIN BDS.DE_EXP_CONTACTABILIDAD CONTACT
ON U.PERIODO = CONTACT.PERIODO 
AND U.NUM_RUC = CONTACT.NUM_RUC
AND U.CAMPANIA = CASE WHEN CONTACT.CAMPANA_RECURRENTE LIKE '%NUEVOS PRE%' THEN 'NUEVOS PRE'
	                    WHEN CONTACT.CAMPANA_RECURRENTE LIKE '%ECOSISTEMA%' THEN 'ECOSISTEMA'
						ELSE 'NUEVOS AP' END
LEFT JOIN ODS.HM_CAMPANIA_BPE BB
on U.PERIODO = BB.PERIODO AND U.NUM_DOC = BB.CODDOC AND 
	U.CAMPANIA = CASE WHEN BB.CAMPANIA IN ('Nuevos Preaprobados', 'Nuevo Pre-aprobado') THEN 'NUEVOS PRE'
	    WHEN BB.CAMPANIA IN ('Ecosistemas Corporativos', 'Ecosistemas', 'Eco BANK','Eco NB') THEN 'ECOSISTEMAS'
	    ELSE 'NUEVOS AP' END
LEFT JOIN (
	SELECT PERIODO, CAST(NUM_RUC AS VARCHAR) NUM_RUC, 
			1 FLG_DESEMBOLSO_BPE,
			MAX(COLOCACION_NETA) COLOCACION_NETA,
			MAX(TEA_APROBADA) TEA_APROBADA
	FROM ODS.HM_DESEMBOLSO_BPE 
	GROUP BY PERIODO, NUM_RUC

) desembolso
ON U.NUM_RUC = desembolso.NUM_RUC
	AND U.PERIODO = desembolso.PERIODO
WHERE U.PERIODO >= @MIN_PERIODO

 

Revise this Paste

Your Name: Code Language: