'flg_pj',
 'nro_tlv_ibk_p1_p2_p3',
 'nro_tlv_bpe_p1_p2_p3',
 'nro_lo_pensara_ibk_p1_p2_p3',
 'cant_clientes_principalidad_retail',
 'nro_acepta_campana_ibk_p1',
 'nro_no_acepta_campana_bpe_p1_p2_p3',
 'ciiu_val_encoder_target_desembolso',
 'promedio_edad_rrll',
 'saldo_prom_tot_activo_rrll',
 'producto_maximo_rrll',
 'nro_acepta_campana_ibk_p1_p2_p3',
 'tiempo_alta'
 
 'avg_nro_entidades_u12m',
 'avg_nroregs_coloc_directas_bcos_u6m',
 'avg_saldo_coloc_direct_vig_cmpt_u6m',
 'saldo_coloc_direct_tc',
 'deuda_sf_prom_ult3m_max',

 'saldo_coloc_direct_vig',
 'entidad_prin_desc_encoder_target_desembolso',
 'tend_facturacion_ult_mes_mnt',

-----------------------------   UNIVERSOOOOOOOOOOOOOOOOOO PREVIO --  BARRIDO -SUNAT -COLNETA





DROP TABLE IF EXISTS d_mdl_vpc_disc.UNIVERSO_PREVIO_3

CREATE TABLE d_mdl_vpc_disc.UNIVERSO_PREVIO_3
    WITH ( format = 'Parquet', 
             parquet_compression = 'SNAPPY', 
             partitioned_by = ARRAY['p_periodo'],
             external_location= 's3://sagemaker-us-east-1-058528764918/vpc/propension/athena/UNIVERSO_PREVIO_3/'
           )
    AS (

SELECT AA.periodo_campania
       ,AA.periodo_ejecucion
       ,AA.num_documento
       ,SUM(AA.nro_tlv_ibk_p1_p2_p3) nro_tlv_ibk_p1_p2_p3
       ,SUM(AA.nro_tlv_bpe_p1_p2_p3) nro_tlv_bpe_p1_p2_p3
       ,SUM(AA.nro_lo_pensara_ibk_p1_p2_p3) nro_lo_pensara_ibk_p1_p2_p3 
       ,MAX(SS.cant_clientes_principalidad_retail) cant_clientes_principalidad_retail
       ,SUM(AA.nro_acepta_campana_ibk_p1) nro_acepta_campana_ibk_p1
       ,SUM(AA.nro_no_acepta_campana_bpe_p1_p2_p3) nro_no_acepta_campana_bpe_p1_p2_p3
       ,MAX(SS.ciiu_val) ciiu_val
       ,MAX(SS.promedio_edad_rrll) promedio_edad_rrll
       ,MAX(SS.saldo_prom_tot_activo_rrll) saldo_prom_tot_activo_rrll
       ,MAX(SS.producto_maximo_rrll) producto_maximo_rrll
       ,SUM(AA.nro_acepta_campana_ibk_p1_p2_p3) nro_acepta_campana_ibk_p1_p2_p3 
       ,MAX(SS.tiempo_alta) tiempo_alta
       ,CASE WHEN MAX(SS.numruc_val) IS NOT NULL THEN 1 ELSE 0 END flg_tiene_info_sunat
       ,MAX(SS.flg_pj) flg_pj
       ,MAX(SS.flg_pn) flg_pn
        ,MAX(SS.cod_sbs_empresa_1) cod_sbs_empresa_1
        ,MAX(SS.cod_sbs_empresa_2) cod_sbs_empresa_2
        ,MAX(SS.cod_sbs_empresa_3) cod_sbs_empresa_3
        ,MAX(SS.cod_sbs_empresa_4) cod_sbs_empresa_4
        ,MAX(SS.cod_sbs_empresa_5) cod_sbs_empresa_5
        ,MAX(SS.cod_sbs_empresa_6) cod_sbs_empresa_6
        ,MAX(SS.cod_sbs_rrll_1) cod_sbs_rrll_1
        ,MAX(SS.cod_sbs_rrll_2) cod_sbs_rrll_2
        ,MAX(SS.cod_sbs_rrll_3) cod_sbs_rrll_3
        ,MAX(SS.cod_sbs_rrll_4) cod_sbs_rrll_4
        ,MAX(SS.cod_sbs_rrll_5) cod_sbs_rrll_5
        ,MAX(SS.cod_sbs_rrll_6) cod_sbs_rrll_6
        ,MAX(SS.cod_unico_val) cod_unico_val
        ,MAX(SS.tip_contribuyente_val) tip_contribuyente_val
       ,AA.periodo_ejecucion p_periodo
FROM(

    SELECT PRESENTE.periodo_val periodo_val
           ,PRESENTE.periodo_campania periodo_campania
           ,PRESENTE.periodo_ejecucion periodo_ejecucion
           ,PRESENTE.num_documento
           ,coalesce(P1.flg_tlv_ibk, 0) + coalesce(P2.flg_tlv_ibk, 0) +  coalesce(P3.flg_tlv_ibk, 0) nro_tlv_ibk_p1_p2_p3
           ,coalesce(P1.flg_tlv_bpe, 0) + coalesce(P2.flg_tlv_bpe, 0) +  coalesce(P3.flg_tlv_bpe, 0) nro_tlv_bpe_p1_p2_p3
           ,coalesce(P1.flg_lo_pensara_ibk, 0) + coalesce(P2.flg_lo_pensara_ibk, 0) +  coalesce(P3.flg_lo_pensara_ibk, 0) nro_lo_pensara_ibk_p1_p2_p3
           ,coalesce(P1.flg_acepta_campana_ibk, 0) nro_acepta_campana_ibk_p1
           ,coalesce(P1.flg_acepta_campana_ibk, 0) + coalesce(P2.flg_acepta_campana_ibk, 0) +  coalesce(P3.flg_acepta_campana_ibk, 0) nro_acepta_campana_ibk_p1_p2_p3
           ,coalesce(P1.flg_no_acepta_campana_bpe, 0) + coalesce(P2.flg_no_acepta_campana_bpe, 0) +  coalesce(P3.flg_no_acepta_campana_bpe, 0) nro_no_acepta_campana_bpe_p1_p2_p3
          ,PRESENTE.periodo_val p_periodo
              
    FROM (
          SELECT 
          substr(replace(substr(cast(date_add('month', +1, date_parse(periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6) periodo_val,
          substr(replace(substr(cast(date_add('month', +1, date_parse(periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6) periodo_campania,
          periodo_val periodo_ejecucion,
          numruc_val num_documento
          FROM e_perm_aws.T_FACT_VPC_UNIVERSO_BPE 
          WHERE 1 = 1
          AND periodo_val = '202207'--(SELECT MAX(periodo_val) FROM e_perm_aws.T_FACT_VPC_UNIVERSO_BPE)
          AND coalesce(Flg_baja, 0) = 0
          AND coalesce(flg_Baja_Estado, 0) = 0
          AND coalesce(Flg_Baja_Estado_Oficio, 0) = 0
          AND numruc_val is not null
          AND numruc_val != 'SV'
          GROUP BY numruc_val, periodo_val
    ) PRESENTE
    LEFT JOIN e_perm_aws.t_fact_vpc_tlv_feedback P1 
    ON PRESENTE.num_documento = P1.num_documento AND PRESENTE.periodo_val = substr(replace(substr(cast(date_add('month', +1, date_parse(P1.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
    LEFT JOIN e_perm_aws.t_fact_vpc_tlv_feedback P2 
    ON PRESENTE.num_documento = P2.num_documento AND PRESENTE.periodo_val = substr(replace(substr(cast(date_add('month', +2, date_parse(P2.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
    LEFT JOIN e_perm_aws.t_fact_vpc_tlv_feedback P3 
    ON PRESENTE.num_documento = P3.num_documento AND PRESENTE.periodo_val = substr(replace(substr(cast(date_add('month', +3, date_parse(P3.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
) AA
LEFT JOIN d_perm_aws.t_fact_vpc_agg_sunat_reniec SS  ----OJO solo por Agosto d_perm
ON AA.periodo_ejecucion = SS.periodo_val
   AND AA.num_documento = SS.numruc_val
GROUP BY AA.periodo_campania
        ,AA.periodo_ejecucion
        ,AA.num_documento
)



SELECT periodo_campania, COUNT(1)
FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3  -- 3740586  21/08/2022
GROUP BY periodo_campania

SELECT periodo_campania, cant_clientes_principalidad_retail, count(1) 
from d_mdl_vpc_disc.UNIVERSO_PREVIO_3
GROUP BY periodo_campania, cant_clientes_principalidad_retail

SELECT periodo_campania, promedio_edad_rrll, count(1) 
from d_mdl_vpc_disc.UNIVERSO_PREVIO_3
GROUP BY periodo_campania, promedio_edad_rrll

SELECT periodo_campania, producto_maximo_rrll, count(1) 
from d_mdl_vpc_disc.UNIVERSO_PREVIO_3
GROUP BY periodo_campania, producto_maximo_rrll
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------

DROP TABLE if exists d_mdl_vpc_disc.MM_BASE_RCC_AGENDA

CREATE TABLE d_mdl_vpc_disc.MM_BASE_RCC_AGENDA
WITH ( format = 'Parquet', 
         parquet_compression = 'SNAPPY', 
         partitioned_by = ARRAY['p_periodo'],
         external_location= 's3://sagemaker-us-east-1-058528764918/vpc/propension/athena/MM_BASE_RCC_AGENDA/'
       )
AS (
    SELECT * FROM
    (
          SELECT S.periodo_campania
                ,S.periodo_ejecucion
                ,R.periodo_val periodo_rcc
                ,R.fecha_sbs_dt
                ,S.num_documento
                ,R.cod_sbs_val,
                 S.periodo_ejecucion p_periodo
          FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 S 
          INNER JOIN e_perm_aws.t_fact_vpc_detalle_cliente_rcc R
          ON S.cod_sbs_empresa_1 =  R.cod_sbs_val
             AND S.periodo_ejecucion = substr(replace(substr(cast(date_add('month', +1, date_parse(R.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
          WHERE 1 = 1
          and S.num_documento is not null
          and S.cod_sbs_empresa_1 is not null
          and S.cod_sbs_empresa_1 not like ''
          and S.cod_sbs_empresa_1 != '.'
    )
    UNION
    (
          SELECT S.periodo_campania
                ,S.periodo_ejecucion
                ,R.periodo_val periodo_rcc
                ,R.fecha_sbs_dt
                ,S.num_documento
                ,R.cod_sbs_val,
                 S.periodo_ejecucion p_periodo
          FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 S 
          INNER JOIN e_perm_aws.t_fact_vpc_detalle_cliente_rcc R
          ON S.cod_sbs_empresa_2 =  R.cod_sbs_val
             AND S.periodo_ejecucion = substr(replace(substr(cast(date_add('month', +1, date_parse(R.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
          WHERE 1 = 1
          and S.num_documento is not null
          and S.cod_sbs_empresa_2 is not null
          and S.cod_sbs_empresa_2 not like ''
          and S.cod_sbs_empresa_2 != '.'
    )
    UNION
    (
          SELECT S.periodo_campania
                ,S.periodo_ejecucion
                ,R.periodo_val periodo_rcc
                ,R.fecha_sbs_dt
                ,S.num_documento
                ,R.cod_sbs_val,
                 S.periodo_ejecucion p_periodo
          FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 S 
          INNER JOIN e_perm_aws.t_fact_vpc_detalle_cliente_rcc R
          ON S.cod_sbs_empresa_3 =  R.cod_sbs_val
             AND S.periodo_ejecucion = substr(replace(substr(cast(date_add('month', +1, date_parse(R.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
          WHERE 1 = 1
          and S.num_documento is not null
          and S.cod_sbs_empresa_3 is not null
          and S.cod_sbs_empresa_3 not like ''
          and S.cod_sbs_empresa_3 != '.'
    )
    UNION
    (
          SELECT S.periodo_campania
                ,S.periodo_ejecucion
                ,R.periodo_val periodo_rcc
                ,R.fecha_sbs_dt
                ,S.num_documento
                ,R.cod_sbs_val,
                 S.periodo_ejecucion p_periodo
          FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 S 
          INNER JOIN e_perm_aws.t_fact_vpc_detalle_cliente_rcc R
          ON S.cod_sbs_empresa_4 =  R.cod_sbs_val
             AND S.periodo_ejecucion = substr(replace(substr(cast(date_add('month', +1, date_parse(R.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
          WHERE 1 = 1
          and S.num_documento is not null
          and S.cod_sbs_empresa_4 is not null
          and S.cod_sbs_empresa_4 not like ''
          and S.cod_sbs_empresa_4 != '.'
    )
    UNION
    (
          SELECT S.periodo_campania
                ,S.periodo_ejecucion
                ,R.periodo_val periodo_rcc
                ,R.fecha_sbs_dt
                ,S.num_documento
                ,R.cod_sbs_val,
                 S.periodo_ejecucion p_periodo
          FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 S 
          INNER JOIN e_perm_aws.t_fact_vpc_detalle_cliente_rcc R
          ON S.cod_sbs_rrll_1 =  R.cod_sbs_val
             AND S.periodo_ejecucion = substr(replace(substr(cast(date_add('month', +1, date_parse(R.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
          WHERE 1 = 1
          and S.flg_pn = 1
          and S.num_documento is not null
          and S.cod_sbs_rrll_1 is not null
          and S.cod_sbs_rrll_1 not like ''
          and S.cod_sbs_rrll_1 != '.'
          AND (cod_sbs_empresa_1 IS NULL OR cod_sbs_empresa_1 like '' OR cod_sbs_empresa_1 = '.')
    )
    UNION
    (
          SELECT S.periodo_campania
                ,S.periodo_ejecucion
                ,R.periodo_val periodo_rcc
                ,R.fecha_sbs_dt
                ,S.num_documento
                ,R.cod_sbs_val,
                 S.periodo_ejecucion p_periodo
          FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 S 
          INNER JOIN e_perm_aws.t_fact_vpc_detalle_cliente_rcc R
          ON S.cod_sbs_rrll_2 =  R.cod_sbs_val
             AND S.periodo_ejecucion = substr(replace(substr(cast(date_add('month', +1, date_parse(R.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
          WHERE 1 = 1
          and S.flg_pn = 1
          and S.num_documento is not null
          and S.cod_sbs_rrll_2 is not null
          and S.cod_sbs_rrll_2 not like ''
          and S.cod_sbs_rrll_2 != '.'
          AND (cod_sbs_empresa_1 IS NULL OR cod_sbs_empresa_1 like '' OR cod_sbs_empresa_1 = '.')
    )
    UNION
    (
          SELECT S.periodo_campania
                ,S.periodo_ejecucion
                ,R.periodo_val periodo_rcc
                ,R.fecha_sbs_dt
                ,S.num_documento
                ,R.cod_sbs_val,
                 S.periodo_ejecucion p_periodo
          FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 S 
          INNER JOIN e_perm_aws.t_fact_vpc_detalle_cliente_rcc R
          ON S.cod_sbs_rrll_3 =  R.cod_sbs_val
             AND S.periodo_ejecucion = substr(replace(substr(cast(date_add('month', +1, date_parse(R.periodo_val ,'%Y%m')) as varchar), 1, 10), '-', ''), 1, 6)
          WHERE 1 = 1
          and S.flg_pn = 1
          and S.num_documento is not null
          and S.cod_sbs_rrll_3 is not null
          and S.cod_sbs_rrll_3 not like ''
          and S.cod_sbs_rrll_3 != '.'
          AND (cod_sbs_empresa_1 IS NULL OR cod_sbs_empresa_1 like '' OR cod_sbs_empresa_1 = '.')
    )
)

SELECT periodo_campania, COUNT(1), count(distinct(cod_sbs_val))
FROM d_mdl_vpc_disc.MM_BASE_RCC_AGENDA
GROUP BY periodo_campania
ORDER BY periodo_campania DESC

SELECT * FROM d_mdl_vpc_disc.MM_BASE_RCC_AGENDA LIMIT 100

-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------


DROP TABLE IF EXISTS d_mdl_vpc_disc.BANCO_PRIN_3

CREATE TABLE d_mdl_vpc_disc.BANCO_PRIN_3
    WITH ( format = 'Parquet', 
             parquet_compression = 'SNAPPY', 
             partitioned_by = ARRAY['p_periodo'],
             external_location= 's3://sagemaker-us-east-1-058528764918/vpc/propension/athena/BANCO_PRIN_3/'
           )
    AS 
(
SELECT  periodo_campania, periodo_ejecucion, num_documento,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc != 'IBK' AND banco_desc NOT LIKE '%CAJA%' AND banco_desc NOT LIKE '%SIN%' THEN 1 ELSE 0 END) flg_banco_prin_no_ibk,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc LIKE '%CAJA%' THEN 1 ELSE 0 END) flg_entidad_prin_caja,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc LIKE '%SIN%' THEN 1 ELSE 0 END) flg_sin_colocacion,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc = 'BCP' THEN 1 ELSE 0 END) flg_banco_prin_bcp,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc = 'MBCO' THEN 1 ELSE 0 END) flg_banco_prin_mbco,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc = 'BBVA' THEN 1 ELSE 0 END) flg_banco_prin_bbva,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc = 'SCOTIA' THEN 1 ELSE 0 END) flg_banco_prin_scotia,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc = 'IBK' THEN 1 ELSE 0 END) flg_banco_prin_ibk,
        MAX(CASE WHEN ORDEN = 1 THEN banco_desc ELSE NULL END) entidad_prin_desc,
        MAX(CASE WHEN ORDEN = 1 AND banco_desc != 'IBK' THEN saldo_reajustado_amt ELSE 0 END) saldo_entidad_prin_no_ibk,
        periodo_ejecucion p_periodo
FROM(
    SELECT periodo_campania, periodo_ejecucion, num_documento, banco_desc, saldo_reajustado_amt,   
           ROW_NUMBER () OVER(PARTITION BY periodo_campania, periodo_ejecucion, num_documento ORDER BY saldo_reajustado_amt DESC) ORDEN
    FROM(
         SELECT B.periodo_campania, B.periodo_ejecucion, MAX(B.periodo_rcc), B.num_documento, coalesce(P.banco_desc, 'SIN COLOCACION') banco_desc, 
                sum(coalesce(P.saldo_reajustado_amt,0)) saldo_reajustado_amt
        FROM d_mdl_vpc_disc.MM_BASE_RCC_AGENDA B           --- UNIVERSO GESTION TELEVENTAS
        LEFT JOIN e_perm_aws.T_FACT_VPC_SALDOS_RCC_AJUST_AGG  P
        ON B.periodo_rcc = P.periodo_val
        AND B.cod_sbs_val = P.cod_sbs_val 
        AND P.tipo_producto_rcc_desc IN ('COL. DIRECTAS','REACTIVA') 
        AND P.situacion_rcc_desc ='VIGENTE'
        AND P.saldo_reajustado_amt > 0
        GROUP BY B.periodo_campania, B.periodo_ejecucion, B.num_documento,  coalesce(P.banco_desc, 'SIN COLOCACION')
    )
    WHERE num_documento = '5206BD0DD74A04E0E5299015BBDDB899B2D71E245A5EA95EF28C3DE48ECE2555'
)
GROUP BY periodo_campania, periodo_ejecucion, num_documento
)

SELECT * FROM d_mdl_vpc_disc.BANCO_PRIN_3 
where num_documento = '922B3F3EF340EE1FB0BBD77718EF5B9D274A4E01D39623C4E2167DA69389F66F'

-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
SELECT periodo_campania, periodo_ejecucion, count(1), count(distinct(num_documento)) 
FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 
GROUP BY periodo_campania, periodo_ejecucion

SELECT periodo_campania, periodo_ejecucion, periodo_rcc,count(1), count(distinct(num_documento)) 
FROM d_mdl_vpc_disc.MM_BASE_RCC_AGENDA
GROUP BY periodo_campania, periodo_ejecucion, periodo_rcc

SELECT periodo_campania, periodo_ejecucion, count(1), count(distinct(num_documento)) 
FROM d_mdl_vpc_disc.BANCO_PRIN_3
GROUP BY periodo_campania, periodo_ejecucion




DROP TABLE IF EXISTS d_mdl_vpc_disc.VPC_AGENDA_BPE

CREATE TABLE d_mdl_vpc_disc.VPC_AGENDA_BPE
WITH ( format = 'Parquet', 
         parquet_compression = 'SNAPPY', 
         partitioned_by = ARRAY['p_periodo'],
         external_location= 's3://interbank-datalake-dev-us-east-1-058528764918-stage/pre-stage/datascience/views/VPC_AGENDA_BPE/'
       )
AS (
    
    SELECT U.periodo_campania
          ,U.periodo_ejecucion
          ,U.num_documento
          ,MAX(U.flg_pj) flg_pj
          ,MAX(U.nro_tlv_ibk_p1_p2_p3) nro_tlv_ibk_p1_p2_p3
          ,MAX(U.nro_tlv_bpe_p1_p2_p3) nro_tlv_bpe_p1_p2_p3
          ,MAX(U.nro_lo_pensara_ibk_p1_p2_p3) nro_lo_pensara_ibk_p1_p2_p3
          ,MAX(U.cant_clientes_principalidad_retail) cant_clientes_principalidad_retail
          ,MAX(U.nro_acepta_campana_ibk_p1) nro_acepta_campana_ibk_p1
          ,MAX(U.nro_no_acepta_campana_bpe_p1_p2_p3) nro_no_acepta_campana_bpe_p1_p2_p3
          ,MAX(U.ciiu_val) ciiu_val
          ,MAX(U.promedio_edad_rrll) promedio_edad_rrll
          ,MAX(U.saldo_prom_tot_activo_rrll) saldo_prom_tot_activo_rrll
          ,MAX(U.producto_maximo_rrll) producto_maximo_rrll
          ,MAX(U.nro_acepta_campana_ibk_p1_p2_p3) nro_acepta_campana_ibk_p1_p2_p3
          ,MAX(U.tiempo_alta) tiempo_alta
          ,MAX(U.tip_contribuyente_val) tip_contribuyente_val
          ,CASE WHEN MAX(B.periodo_rcc) is not null THEN 1 ELSE 0 END flg_tiene_info_rcc
          ,MAX(B.periodo_rcc) periodo_rcc
          ,MAX(B.fecha_sbs_dt) fecha_sbs_dt
          ,MAX(coalesce(H.avg_nro_entidades_u12m, 0.0)) avg_nro_entidades_u12m
          ,MAX(coalesce(H.avg_nroregs_coloc_directas_bcos_u6m, 0.0)) avg_nroregs_coloc_directas_bcos_u6m
          ,MAX(coalesce(H.avg_saldo_coloc_direct_vig_cmpt_u6m, 0.0)) avg_saldo_coloc_direct_vig_cmpt_u6m
          ,SUM(coalesce(R.saldo_coloc_direct_tc, 0)) saldo_coloc_direct_tc
          ,SUM(coalesce(R.saldo_coloc_direct_vig, 0)) saldo_coloc_direct_vig
          ,MAX(coalesce(M.deuda_sf_prom_ult3m , 0)) deuda_sf_prom_ult3m_max
          ,MAX(coalesce(M.tend_facturacion_ult_mes_mnt, 0)) tend_facturacion_ult_mes_mnt
          ,MAX(coalesce(P.entidad_prin_desc, 'SIN COLOCACION')) entidad_prin_desc
          ,MAX(coalesce(P.flg_banco_prin_no_ibk , 0)) flg_banco_prin_no_ibk
          ,MAX(coalesce(P.flg_entidad_prin_caja , 0)) flg_entidad_prin_caja
          ,MAX(coalesce(P.saldo_entidad_prin_no_ibk , 0)) saldo_entidad_prin_no_ibk
          ,MAX(coalesce(P.flg_sin_colocacion , 0)) flg_sin_colocacion
        ,MAX(U.p_periodo) p_periodo
        
    FROM d_mdl_vpc_disc.UNIVERSO_PREVIO_3 U
    LEFT JOIN d_mdl_vpc_disc.MM_BASE_RCC_AGENDA B
    ON U.periodo_campania = B.periodo_campania 
       AND U.periodo_ejecucion = B.periodo_ejecucion
       AND U.num_documento = B.num_documento
    LEFT JOIN e_perm_aws.T_FACT_VPC_DESEMBOLSO_MERCADO M
    ON B.periodo_rcc = M.periodo
       AND B.cod_sbs_val = M.cod_sbs_val
    LEFT JOIN e_perm_aws.T_FACT_VPC_DETALLE_CLIENTE_RCC R
    ON B.cod_sbs_val = R.cod_sbs_val  
       AND B.periodo_rcc = R.periodo_val
    LEFT JOIN e_perm_aws.t_fact_vpc_historico_rcc H
    ON cast(B.cod_sbs_val as varchar)  = H.cod_sbs_val
       AND B.fecha_sbs_dt = H.fecha_sbs_dt
    --LEFT JOIN e_perm_aws.t_fact_vpc_tendencia_rcc T
    --ON B.cod_sbs_val = T.cod_sbs_val 
    --   AND B.periodo_rcc = cast(T.periodo_val as varchar)
    LEFT JOIN d_mdl_vpc_disc.BANCO_PRIN_3 P
    ON U.periodo_campania = P.periodo_campania 
       AND U.periodo_ejecucion = P.periodo_ejecucion
       AND U.num_documento = P.num_documento
    WHERE 1 = 1
    AND U.flg_tiene_info_sunat = 1
    GROUP BY U.periodo_campania
            ,U.periodo_ejecucion
            ,U.num_documento
)

SELECT COUNT(1) FROM  d_mdl_vpc_disc.VPC_AGENDA_BPE

DROP TABLE IF EXISTS d_mdl_vpc_disc.MM_VPC_AGENDA_BPE
CREATE TABLE d_mdl_vpc_disc.MM_VPC_AGENDA_BPE
WITH ( format = 'Parquet', 
         parquet_compression = 'SNAPPY', 
         partitioned_by = ARRAY['p_periodo'],
         external_location= 's3://sagemaker-us-east-1-058528764918/vpc/propension/athena/MM_VPC_AGENDA_BPE/'
       )
AS (

SELECT * FROM d_mdl_vpc_disc.VPC_AGENDA_BPE

)

Add a code snippet to your website: www.paste.org