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 )
---------------------------------------------------------------------------------------
------------------------------------------------------------------- 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