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 ( 3 years ago )
--------------------------------------------------------------------------------
    -----------------------------------   BASE CAMPANIA 0
    --------------------------------------------------------------------------------
    DROP TABLE IF EXISTS d_mdl_vpc_disc.STAGE_HM_BASE_CAMPANIA
    
    CREATE TABLE d_mdl_vpc_disc.STAGE_HM_BASE_CAMPANIA
    WITH ( format = 'Parquet', 
             parquet_compression = 'SNAPPY', 
             partitioned_by = ARRAY['p_periodo'],
             external_location= 's3://sagemaker-us-east-1-058528764918/vpc/aceptacion/athena_2/STAGE_HM_BASE_CAMPANIA/'
           )
    AS (           
     SELECT   D.periodo_campania, 
               substr(replace(substr(cast(date_add('month', -1, date_parse(D.periodo_campania ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6) periodo_ejecucion,
               D.NUM_RUC, D.flg_nuevos_ap, D.flg_nuevos_pre, D.flg_nuevos_ecosistemas, D.oferta, RR.oferta oferta_rr , D.plazo, D.bucket,
               D.flg_canal_b, D.flg_canal_c, D.tasa*100 tasa, D.tasa_piso*100 tasa_piso,
               RR.flg_nuevos_ap flg_nuevos_ap_rr, RR.flg_nuevos_pre flg_nuevos_pre_rr, RR.flg_nuevos_ecosistemas flg_nuevos_ecosistemas_rr, 
               RR.bucket bucket_rr, 
               CASE WHEN RR.bucket is not null then RR.bucket
                    WHEN D.bucket <> '' then CAST(D.bucket AS INT)
                    ELSE NULL END bucket_completado,
               RR.tasapiso_redondeado tasapiso_rr,
               CASE WHEN D.tasa_piso is null THEN RR.tasapiso_redondeado else D.tasa_piso*100 END tasa_piso_completada,
               CASE WHEN D.tasa_piso is null THEN RR.tasapiso_redondeado 
                    WHEN RR.tasapiso_redondeado is not null and RR.tasapiso_redondeado > D.tasa_piso*100 THEN RR.tasapiso_redondeado 
                    WHEN RR.tasapiso_redondeado is not null and RR.tasapiso_redondeado < D.tasa_piso*100 THEN D.tasa_piso*100 
                    ELSE D.tasa_piso*100 END tasa_piso_completada_mayor,
               CASE WHEN D.oferta is null THEN RR.oferta else D.oferta END oferta_completada,
               CASE WHEN D.oferta is null THEN RR.oferta 
                    WHEN RR.oferta is not null AND RR.oferta > D.oferta THEN RR.oferta 
                    WHEN RR.oferta is not null AND RR.oferta < D.oferta THEN D.oferta
                    ELSE D.oferta END oferta_completada_mayor,
               CASE WHEN D.flg_nuevos_ecosistemas = 1 THEN 'ECOSISTEMAS'
                    WHEN D.flg_nuevos_ap = 1 THEN 'NUEVOS AP'
                    WHEN D.flg_nuevos_pre = 1 THEN 'NUEVOS PRE'
                    ELSE 'X' END campania_priorizada,
               C.FLG_NPRE, C.FLG_NPRE_ACTIVO, C.FLG_NAP, C.FLG_NAP_ACTIVO,  C.FLG_ECO, C.FLG_ECO_ACTIVO,
               CASE WHEN COALESCE(C.FLG_ACEPTA_VPCONNECT,0) = 1 OR COALESCE(CC.flg_desembolso_nuevos, 0) = 1 then 1 else 0 end flg_acepta_vpconnect_completado,
               COALESCE(C.FLG_ACTIVO, 0) FLG_ACTIVO, 
               CASE WHEN D.NUM_RUC IS NOT NULL THEN 1 ELSE 0 END FLG_RIESGOS,
               --CASE WHEN CALC.empresa_id  IS NOT NULL THEN 1 ELSE 0 END FLG_CALCULADORA,
               COALESCE(C.FLG_CE_VPCONNECT,0) FLG_CE_VPCONNECT,
               COALESCE(C.FLG_ACEPTA_VPCONNECT,0) FLG_ACEPTA_VPCONNECT,
               COALESCE(C.FLG_ACEPTA_VISITA_VPCONNECT,0) FLG_ACEPTA_VISITA_VPCONNECT,
               COALESCE(C.FLG_LO_PENSARA_VPCONNECT,0) FLG_LO_PENSARA_VPCONNECT,
               COALESCE(C.FLG_DESISTIO_VPCONNECT,0) FLG_DESISTIO_VPCONNECT,
               COALESCE(C.FLG_NO_ACEPTA_VPCONNECT,0) FLG_NO_ACEPTA_VPCONNECT,
               COALESCE(C.FLG_NO_CALIFICA_VPCONNECT,0)  FLG_NO_CALIFICA_VPCONNECT,
               CASE WHEN COALESCE(C.FLG_CE_VPCONNECT,0) = 1 OR (COALESCE(TT.flg_ce, 0) = 1 AND TT.FLG_CREDITOS_NUEVOS_BPE = 1)THEN 1 ELSE 0 END FLG_CE_NUEVOS_TLV_OR_VPCONNECT,
               CASE WHEN COALESCE(C.FLG_CE_VPCONNECT,0) = 1 OR COALESCE(TT.flg_ce_bpe, 0) = 1 THEN 1 ELSE 0 END FLG_CE_TLV_OR_VPCONNECT,
               CASE WHEN COALESCE(C.FLG_CE_VPCONNECT,0) = 1 OR (COALESCE(TT.flg_ce_bpe, 0) = 1 AND  TT.FLG_CREDITOS_NUEVOS_BPE = 1) THEN 1 ELSE 0 END FLG_CE_TLV_NUEVOS_OR_VPCONNECT,
               CASE WHEN COALESCE(C.FLG_ACEPTA_VPCONNECT,0) = 1 OR (COALESCE(TT.flg_acepta_campana_bpe, 0) = 1  AND TT.FLG_CREDITOS_NUEVOS_BPE = 1) THEN 1 ELSE 0 END FLG_ACEPTA_TLV_NUEVOS_OR_VPCONNECT,
               CASE WHEN COALESCE(C.FLG_ACEPTA_VPCONNECT,0) = 1 OR (COALESCE(TT.flg_acepta_campana_bpe, 0) = 1 AND TT.FLG_CREDITOS_NUEVOS_BPE = 1 ) THEN 1 ELSE 0 END FLG_ACEPTA_TLV_OR_VPCONNECT,
               CASE WHEN COALESCE(C.FLG_LO_PENSARA_VPCONNECT,0) = 1 OR (COALESCE(TT.flg_lo_pensara, 0) = 1 AND TT.FLG_CREDITOS_NUEVOS_BPE = 1 ) THEN 1 ELSE 0 END FLG_LO_PENSARA_TLV_OR_VPCONNECT,
               CASE WHEN COALESCE(C.FLG_NO_ACEPTA_VPCONNECT,0) = 1 OR (COALESCE(TT.flg_no_acepta_campana, 0) = 1 AND TT.FLG_CREDITOS_NUEVOS_BPE = 1 )THEN 1 ELSE 0 END FLG_NO_ACEPTA_TLV_OR_VPCONNECT,
               CASE when TT.FLG_CREDITOS_NUEVOS_BPE = 1 THEN COALESCE(TT.flg_gestionado_bpe, 0) ELSE 0 END flg_gestionado_bpe_nuevos,
               CASE when TT.FLG_CREDITOS_NUEVOS_BPE = 1 THEN COALESCE(TT.flg_gestionado_bpe_estricto, 0)  ELSE 0 END flg_gestionado_bpe_estricto_nuevos,
               CASE when TT.FLG_CREDITOS_NUEVOS_BPE = 1 THEN COALESCE(TT.flg_gestionado_bpe_sin_reciclado, 0)  ELSE 0 END flg_gestionado_bpe_sin_reciclado_nuevos,
               CASE when TT.FLG_CREDITOS_NUEVOS_BPE = 1 THEN COALESCE(TT.flg_gestionado_bpe_estricto_sin_reciclado, 0)  ELSE 0 END flg_gestionado_bpe_estricto_sin_reciclado_nuevos,
               CASE when TT.FLG_CREDITOS_NUEVOS_BPE = 1 THEN COALESCE(TT.flg_ce_bpe, 0) ELSE 0 END flg_ce_bpe_nuevos,
               CASE when TT.FLG_CREDITOS_NUEVOS_BPE = 1 THEN COALESCE(TT.flg_acepta_campana_bpe, 0) ELSE 0 END flg_acepta_campana_bpe_nuevos,
               COALESCE(TT.flg_gestionado_bpe, 0) flg_gestionado_bpe_all,
               COALESCE(TT.flg_gestionado_bpe_estricto, 0) flg_gestionado_bpe_estricto_all,
               COALESCE(TT.flg_gestionado_bpe_sin_reciclado, 0) flg_gestionado_bpe_sin_reciclado_all,
               COALESCE(TT.flg_gestionado_bpe_estricto_sin_reciclado, 0) flg_gestionado_bpe_estricto_sin_reciclado_all,
               COALESCE(TT.flg_ce_bpe, 0) flg_ce_bpe_all,
               COALESCE(TT.flg_acepta_campana_bpe, 0) flg_acepta_campana_bpe_all,
               COALESCE(CC.flg_desembolso, 0) flg_desembolso,
               COALESCE(CC.flg_desembolso_nuevos, 0) flg_desembolso_nuevos,
               CASE WHEN COALESCE(CC.flg_desembolso, 0) = 0 AND (
                   COALESCE(C.FLG_ACEPTA_VPCONNECT,0) = 1 OR (COALESCE(TT.flg_acepta_campana_bpe, 0) = 1  AND TT.FLG_CREDITOS_NUEVOS_BPE = 1) 
                   ) THEN 1 ELSE 0 END FLG_ACEPTA_TLV_NUEVOS_OR_VPCONNECT_NO_DESEMBOLSA,
               TT.PRIMER_DIA, 
               TT.ULTIMO_DIA,
               COALESCE(TT.DIAS_CALENDARIOS_GESTION, 0) DIAS_CALENDARIOS_GESTION,
               COALESCE(TT.DIAS_UTILES_GESTION, 0) DIAS_UTILES_GESTION,
               COALESCE(TT.DIAS_UTILES_CON_CE, 0) DIAS_UTILES_CON_CE,
               COALESCE(TT.DIAS_UTILES_SIN_CE, 0) DIAS_UTILES_SIN_CE,
               COALESCE(TT.NRO_LLAMADAS_GESTION_SIN_CE, 0) NRO_LLAMADAS_GESTION_SIN_CE,
               COALESCE(TT.NRO_LLAMADAS_GESTION_ESTRICTO_SIN_CE, 0) NRO_LLAMADAS_GESTION_ESTRICTO_SIN_CE,
               COALESCE(TT.NRO_LLAMADAS_GESTION_SIN_RECICLADO_TAMPOCO_CE, 0) NRO_LLAMADAS_GESTION_SIN_RECICLADO_TAMPOCO_CE,
               COALESCE(TT.NRO_LLAMADAS_GESTIONADO_ESTRICTO_SIN_RECICLADO_SIN_CE, 0) NRO_LLAMADAS_GESTIONADO_ESTRICTO_SIN_RECICLADO_SIN_CE,
               D.periodo_campania p_periodo
    
        FROM d_mdl_vpc_disc.HM_DESPLIEGUE_CAMPANIAS_AGRUPADO  D
        LEFT JOIN d_mdl_vpc_disc.HM_RIESGOS_DATA_BPE_AGRUPADO RR
        ON D.NUM_RUC = RR.NUM_RUC AND D.PERIODO_CAMPANIA = RR.PERIODO_CAMPANIA
        LEFT JOIN d_mdl_vpc_disc.HM_CAMPHANAS_TOTAL_AGRUPADO  C
        ON D.NUM_RUC = C.NUM_RUC AND D.PERIODO_CAMPANIA = C.PERIODO_CAMPANIA
        --LEFT JOIN d_mdl_vpc_disc.HM_CALCULADORA_BPE CALC
        --ON C.id_empresa = CALC.empresa_id AND D.PERIODO_CAMPANIA = CALC.PERIODO_CAMPANIA
        LEFT JOIN d_mdl_vpc_disc.STAGE_HM_COLNETA CC
        ON D.NUM_RUC = CC.numero_documento_val AND D.PERIODO_CAMPANIA = CC.periodo_solicitud
        LEFT JOIN d_mdl_vpc_disc.HM_VMVP_FEEDBACK_RUC TT
        ON D.NUM_RUC = TT.num_documento AND D.PERIODO_CAMPANIA = TT.GESTION
        WHERE D.NUM_RUC NOT LIKE ''
        AND D.periodo_campania NOT LIKE ''
        ORDER BY D.periodo_campania DESC
    )
    
    
    SELECT periodo_campania, periodo_ejecucion, count(1), count(distinct(num_ruc)), sum(flg_gestionado_bpe_nuevos) gestionado_bpe_nuevo ,
           sum(flg_gestionado_bpe_estricto_nuevos) gestionado_bpe_estricto_nuevo ,
           sum(flg_ce_bpe_nuevos) ce_nuevo, sum(flg_acepta_campana_bpe_nuevos) acepta_nuevo
    FROM d_mdl_vpc_disc.STAGE_HM_BASE_CAMPANIA
    GROUP BY periodo_campania, periodo_ejecucion
    ORDER BY periodo_campania DESC, periodo_ejecucion
    
    
    SELECT * FROM d_mdl_vpc_disc.STAGE_HM_BASE_CAMPANIA 
    WHERE flg_gestionado_bpe_estricto_nuevos = 1
    --AND CAST(bucket AS INT) <> bucket_rr
    AND bucket_completado IS NULL
    AND periodo_campania >= '202206'
    LIMIT 100

 

Revise this Paste

Your Name: Code Language: