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 ( 1 year ago )
---------------------------------------------------------------------------------------
------------------------------------------------------------------- COLOCACION NETA SDA
---------------------------------------------------------------------------------------
DROP TABLE IF EXISTS d_mdl_vpc_disc.STAGE_HM_COLNETA_DIARIO

CREATE TABLE d_mdl_vpc_disc.STAGE_HM_COLNETA_DIARIO
WITH ( format = 'Parquet', 
         parquet_compression = 'SNAPPY', 
         partitioned_by = ARRAY['p_periodo'],
         external_location= 's3://sagemaker-us-east-1-058528764918/vpc/contactabilidad/athena_2/STAGE_HM_COLNETA_DIARIO/'
       )
AS (
    SELECT CASE WHEN periodo_desembolso > periodo_solicitud THEN date_add('day', -1, date_add('month', +1, CAST(CONCAT(substr(cast(fecha_solicitud_dt as varchar), 1, 7), '-01')  AS DATE))) ELSE fecha_desemb_dt END fecha_seguimiento_desembolso_dt,
           CASE WHEN periodo_desembolso > periodo_solicitud THEN 1 ELSE 0 END  flg_desembolso_posterior_a_campania,
           date_add('day', -1, date_add('month', +1, CAST(CONCAT(substr(cast(fecha_solicitud_dt as varchar), 1, 7), '-01')  AS DATE))) ultimo_dia_mes_solicitud,
           CAST(split_part(CAST(fecha_desemb_dt - fecha_solicitud_dt as varchar),' ',1)  AS INT) demora_desembolso,
           BB.*
    FROM (
        SELECT numero_documento_val,
               CASE WHEN tipo_colocacion in ('1. Campaña Nuevos') THEN 'NUEVOS PRE'
                    WHEN tipo_colocacion in ( '103.Ecosistemas', '5. Campaña Express', '4. EN – Express') THEN 'NUEVOS AP'
                    WHEN  campana_val like '%Nuevos Pre%' OR campana_val like '%Nvo Pre%' OR campana_val like '%NvoPre%' THEN 'NUEVOS PRE'
                    WHEN  campana_val like '%Nuevos Apr%' OR campana_val like '%NVO APR%' OR campana_val like '%NvoApr%'  THEN 'NUEVOS AP'
                    WHEN flg_rectificado_nuevos_ap = 1 THEN 'NUEVOS AP'
                    WHEN flg_rectificado_nuevos_pre = 1 THEN 'NUEVOS PRE'
               ELSE 'X' END campania,
               min(fecha_desemb_dt) fecha_desemb_dt,
               min(fecha_solicitud_dt) fecha_solicitud_dt,
               substr(replace(cast(fecha_desemb_dt as varchar), '-', ''), 1, 6) periodo_desembolso,
               substr(replace(cast(fecha_solicitud_dt as varchar), '-', ''), 1, 6) periodo_solicitud,
               max(CASE WHEN colocacion_neta > 0 then 1 else 0 end) flg_desembolso,
               max(
                   CASE WHEN tipo_colocacion in ('1. Campaña Nuevos', '103.Ecosistemas', '5. Campaña Express', '4. EN – Express') THEN 1 
                        WHEN  campana_val like '%RECURRENTE%' THEN 0
                        WHEN  campana_val like '%Nuevos Pre%' OR campana_val like '%Nvo Pre%' OR campana_val like '%NvoPre%' THEN 1
                        WHEN  campana_val like '%Nuevos Apr%' OR campana_val like '%NVO APR%' OR campana_val like '%NvoApr%'  THEN 1
                        WHEN flg_rectificado_nuevos_ap = 1 THEN 1
                        WHEN flg_rectificado_nuevos_pre = 1 THEN 1
                        ELSE 0 END
                ) flg_desembolso_nuevos,
               sum(colocacion_neta) colocacion_neta,
               max(tea_aprobada_amt) tea_aprobada_amt,
               max(fecinformacion_dt) fecinformacion_dt,
               max(flg_rectificado_nuevos_ap) flg_rectificado_nuevos_ap,
               max(flg_rectificado_nuevos_pre) flg_rectificado_nuevos_pre,
               substr(replace(cast(fecha_solicitud_dt as varchar), '-', ''), 1, 6) p_periodo
        FROM (
            select ZZ.*, 
             ROW_NUMBER() OVER(PARTITION BY ZZ.credito_cd ORDER BY ZZ.fecha_solicitud_dt ASC, ZZ.periodo_val ASC, ZZ.fecinformacion_dt ASC) ORDEN
             FROM (
                    SELECT CC.*,
                           CASE WHEN CC.campana_val like '%Recurrente%' and GG.flg_recurrente = 0 AND flg_nuevos_ap = 1 then 1 else 0 end flg_rectificado_nuevos_ap,
                           CASE WHEN CC.campana_val like '%Recurrente%' and GG.flg_recurrente = 0 AND flg_nuevos_pre = 1 then 1 else 0 end flg_rectificado_nuevos_pre
                    FROM e_perm_aws.t_fact_vpc_colnetas CC
                    LEFT JOIN (
                          SELECT gestion , num_ruc_autocompletado_hash, 
                                 MAX(CASE WHEN campania = 'RECURRENTE' then 1 else 0 end) flg_recurrente,
                                 MAX(CASE WHEN campania = 'NUEVOS PRE' then 1 else 0 end) flg_nuevos_pre,
                                 MAX(CASE WHEN campania in ('NUEVOS AP', 'ECOSISTEMAS') then 1 else 0 end) flg_nuevos_ap,
                                 SUM(FLG_GESTIONADO_ESTRICTO) gestion_total,
                                 SUM(flg_ce) ce_total,
                                 SUM(flg_acepta_campana) ac_total
                          FROM  d_mdl_vpc_disc.TMP_CONTACTO_ORDEN_X_PESO_FEEDBACK_2 
                          WHERE CAMPANIA IN ('NUEVOS AP', 'ECOSISTEMAS', 'NUEVOS PRE', 'RECURRENTE')
                          GROUP BY gestion , num_ruc_autocompletado_hash
                    ) GG
                    ON substr(replace(cast(CC.fecha_solicitud_dt as varchar), '-', ''), 1, 6) = GG.gestion
                    AND CC.numero_documento_val = GG.num_ruc_autocompletado_hash
                    WHERE 1 = 1
                    AND CC.colocacion_neta > 0
                    AND CC.tipo_colocacion NOT LIKE '%Cima%'
                    AND CC.campana_val NOT like '%RECURRENTE%'
                    AND (
                        CC.tipo_colocacion in ('1. Campaña Nuevos', '103.Ecosistemas', '5. Campaña Express', '4. EN – Express') OR
                        CC.campana_val like '%Nuevos Pre%' OR CC.campana_val like '%Nvo Pre%' OR CC.campana_val like '%NvoPre%' OR
                        CC.campana_val like '%Nuevos Apr%' OR CC.campana_val like '%NVO APR%' OR CC.campana_val like '%NvoApr%' OR
                        (CC.campana_val like '%Recurrente%' and GG.flg_recurrente = 0 AND GG.flg_nuevos_ap = 1) OR
                        (CC.campana_val like '%Recurrente%' and GG.flg_recurrente = 0 AND GG.flg_nuevos_pre = 1)
                    )
                    AND CC.fecinformacion_dt in (
                        select fecinformacion_dt from (
                            SELECT periodo_val,
                            max(fecinformacion_dt) fecinformacion_dt
                            FROM e_perm_aws.t_fact_vpc_colnetas
                            GROUP BY periodo_val
                        )
                    )
            ) ZZ
        ) AA
        WHERE AA.ORDEN = 1
        GROUP BY substr(replace(cast(fecha_desemb_dt as varchar), '-', ''), 1, 6),
                 substr(replace(cast(fecha_solicitud_dt as varchar), '-', ''), 1, 6),
                 CASE WHEN tipo_colocacion in ('1. Campaña Nuevos') THEN 'NUEVOS PRE'
                    WHEN tipo_colocacion in ( '103.Ecosistemas', '5. Campaña Express', '4. EN – Express') THEN 'NUEVOS AP'
                    WHEN  campana_val like '%Nuevos Pre%' OR campana_val like '%Nvo Pre%' OR campana_val like '%NvoPre%' THEN 'NUEVOS PRE'
                    WHEN  campana_val like '%Nuevos Apr%' OR campana_val like '%NVO APR%' OR campana_val like '%NvoApr%'  THEN 'NUEVOS AP'
                    WHEN flg_rectificado_nuevos_ap = 1 THEN 'NUEVOS AP'
                    WHEN flg_rectificado_nuevos_pre = 1 THEN 'NUEVOS PRE'
                 ELSE 'X' END,
                 numero_documento_val
       ) BB
)

 

Revise this Paste

Your Name: Code Language: