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 ( 4 years ago )
DROP TABLE IF EXISTS BANCO_PRIN_3

CREATE TABLE 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, banco_desc ORDER BY saldo_reajustado_amt asc) ORDEN
    FROM(
         SELECT B.periodo_campania, B.periodo_ejecucion, 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.BASE_RCC B          
        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')
    )
)
GROUP BY periodo_campania, periodo_ejecucion, num_documento
)

 

Revise this Paste

Your Name: Code Language: