Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
[email protected] web/email 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 Plain Text by registered user vvillacorta ( 3 years ago )
DROP TABLE IF EXISTS ............HM_SEGMENTACION_MERCADO_BPE
              
              
        CREATE TABLE ............HM_SEGMENTACION_MERCADO_BPE
        WITH ( format = 'Parquet',
        parquet_compression = 'SNAPPY',
        partitioned_by = ARRAY['PERIODO'],
        external_location= 's3://....................../HM_SEGMENTACION_MERCADO_BPE/'

        )
        AS (


        SELECT 
        A.cod_sbs_val, A.monto_facturacion_mnt, 
        coalesce(P1.monto_facturacion_mnt, 0) monto_facturacion_mnt_p1, 
        coalesce(P2.monto_facturacion_mnt, 0) monto_facturacion_mnt_p2,
        coalesce(P3.monto_facturacion_mnt, 0) monto_facturacion_mnt_p3,
        coalesce(P4.monto_facturacion_mnt, 0) monto_facturacion_mnt_p4,
        coalesce(P5.monto_facturacion_mnt, 0) monto_facturacion_mnt_p5,
        coalesce(P6.monto_facturacion_mnt, 0) monto_facturacion_mnt_p6,
        coalesce(P7.monto_facturacion_mnt, 0) monto_facturacion_mnt_p7,
        coalesce(P8.monto_facturacion_mnt, 0) monto_facturacion_mnt_p8,

        (coalesce(A.monto_facturacion_mnt,0) + coalesce(P1.monto_facturacion_mnt,0) + coalesce(P2.monto_facturacion_mnt,0) ) / 3 monto_facturacion_prom_u3m, 
        (coalesce(A.monto_facturacion_mnt,0) + coalesce(P1.monto_facturacion_mnt,0) + coalesce(P2.monto_facturacion_mnt,0) + coalesce(P3.monto_facturacion_mnt,0) + coalesce(P4.monto_facturacion_mnt,0) + coalesce(P5.monto_facturacion_mnt,0)) / 6 monto_facturacion_prom_u6m,
        (coalesce(A.monto_facturacion_mnt,0) + coalesce(P1.monto_facturacion_mnt,0) + coalesce(P2.monto_facturacion_mnt,0) + coalesce(P3.monto_facturacion_mnt,0) + coalesce(P4.monto_facturacion_mnt,0) + coalesce(P5.monto_facturacion_mnt,0) + coalesce(P6.monto_facturacion_mnt,0) + coalesce(P7.monto_facturacion_mnt,0) + coalesce(P8.monto_facturacion_mnt,0)) / 9 monto_facturacion_prom_u9m,


        (coalesce(A.monto_deuda_agr_mnt,0) + coalesce(P1.monto_deuda_agr_mnt,0) + coalesce(P2.monto_deuda_agr_mnt,0) ) / 3 monto_deuda_agr_prom_u3m, 
        (coalesce(A.monto_deuda_agr_mnt,0) + coalesce(P1.monto_deuda_agr_mnt,0) + coalesce(P2.monto_deuda_agr_mnt,0) + coalesce(P3.monto_deuda_agr_mnt,0) + coalesce(P4.monto_deuda_agr_mnt,0) + coalesce(P5.monto_deuda_agr_mnt,0)) / 6 monto_deuda_agr_prom_u6m,
        (coalesce(A.monto_deuda_agr_mnt,0) + coalesce(P1.monto_deuda_agr_mnt,0) + coalesce(P2.monto_deuda_agr_mnt,0) + coalesce(P3.monto_deuda_agr_mnt,0) + coalesce(P4.monto_deuda_agr_mnt,0) + coalesce(P5.monto_deuda_agr_mnt,0) + coalesce(P6.monto_deuda_agr_mnt,0) + coalesce(P7.monto_deuda_agr_mnt,0) + coalesce(P8.monto_deuda_agr_mnt,0)) / 9 monto_deuda_agr_prom_u9m,

        (coalesce(A.monto_deuda_sf_mnt,0) + coalesce(P1.monto_deuda_sf_mnt,0) + coalesce(P2.monto_deuda_sf_mnt,0) ) / 3 monto_deuda_sf_prom_u3m, 
        (coalesce(A.monto_deuda_sf_mnt,0) + coalesce(P1.monto_deuda_sf_mnt,0) + coalesce(P2.monto_deuda_sf_mnt,0) + coalesce(P3.monto_deuda_sf_mnt,0) + coalesce(P4.monto_deuda_sf_mnt,0) + coalesce(P5.monto_deuda_sf_mnt,0)) / 6 monto_deuda_sf_prom_u6m,
        (coalesce(A.monto_deuda_sf_mnt,0) + coalesce(P1.monto_deuda_sf_mnt,0) + coalesce(P2.monto_deuda_sf_mnt,0) + coalesce(P3.monto_deuda_sf_mnt,0) + coalesce(P4.monto_deuda_sf_mnt,0) + coalesce(P5.monto_deuda_sf_mnt,0) + coalesce(P6.monto_deuda_sf_mnt,0) + coalesce(P7.monto_deuda_sf_mnt,0) + coalesce(P8.monto_deuda_sf_mnt,0)) / 9 monto_deuda_sf_prom_u9m,



        CASE WHEN (coalesce(P3.monto_facturacion_mnt,0) + coalesce(P4.monto_facturacion_mnt,0) + coalesce(P5.monto_facturacion_mnt,0)) = 0 THEN 0 
        ELSE (coalesce(A.monto_facturacion_mnt,0) + coalesce(P1.monto_facturacion_mnt,0) + coalesce(P2.monto_facturacion_mnt,0)) / (coalesce(P3.monto_facturacion_mnt,0) + coalesce(P4.monto_facturacion_mnt,0) + coalesce(P5.monto_facturacion_mnt,0))  END tendencia_monto_facturacion_utl_trim ,


        CASE WHEN coalesce(P1.monto_facturacion_mnt,0)  = 0 THEN 0 
        ELSE coalesce(A.monto_facturacion_mnt,0) / coalesce(P1.monto_facturacion_mnt,0) END tendencia_monto_facturacion_ult_mes,
                                                    
        CASE WHEN (coalesce(P3.monto_deuda_agr_mnt,0) + coalesce(P4.monto_deuda_agr_mnt,0) + coalesce(P5.monto_deuda_agr_mnt,0)) = 0 THEN 0 
        ELSE (coalesce(A.monto_deuda_agr_mnt,0) + coalesce(P1.monto_deuda_agr_mnt,0) + coalesce(P2.monto_deuda_agr_mnt,0))  / (coalesce(P3.monto_deuda_agr_mnt,0) + coalesce(P4.monto_deuda_agr_mnt,0) + coalesce(P5.monto_deuda_agr_mnt,0))  END tendencia_monto_deuda_agr_utl_trim ,
        CASE WHEN coalesce(P1.monto_deuda_agr_mnt,0)  = 0 THEN 0 
        ELSE coalesce(A.monto_deuda_agr_mnt,0) / coalesce(P1.monto_deuda_agr_mnt,0) END tendencia_monto_deuda_agr_ult_mes,                                                                                                                                      

        CASE WHEN (coalesce(P3.monto_deuda_sf_mnt,0) + coalesce(P4.monto_deuda_sf_mnt,0) + coalesce(P5.monto_deuda_sf_mnt,0)) = 0 THEN 0 
        ELSE (coalesce(A.monto_deuda_sf_mnt,0) + coalesce(P1.monto_deuda_sf_mnt,0) + coalesce(P2.monto_deuda_sf_mnt,0))  / (coalesce(P3.monto_deuda_sf_mnt,0) + coalesce(P4.monto_deuda_sf_mnt,0) + coalesce(P5.monto_deuda_sf_mnt,0))  END tendencia_monto_deuda_sf_utl_trim ,
        CASE WHEN coalesce(P1.monto_deuda_sf_mnt,0)  = 0 THEN 0 
        ELSE coalesce(A.monto_deuda_sf_mnt,0) / coalesce(P1.monto_deuda_sf_mnt,0) END tendencia_monto_deuda_sf_ult_mes,
                                     
        A.entidad_cnt, 
        (coalesce(A.entidad_cnt,0) + coalesce(P1.entidad_cnt,0) + coalesce(P2.entidad_cnt,0) ) / 3 entidad_cnt_prom_u3m, 
        (coalesce(A.entidad_cnt,0) + coalesce(P1.entidad_cnt,0) + coalesce(P2.entidad_cnt,0) + coalesce(P3.entidad_cnt,0) + coalesce(P4.entidad_cnt,0) + coalesce(P5.entidad_cnt,0)) / 6 entidad_cntn_prom_u6m,
        (coalesce(A.entidad_cnt,0) + coalesce(P1.entidad_cnt,0) + coalesce(P2.entidad_cnt,0) + coalesce(P3.entidad_cnt,0) + coalesce(P4.entidad_cnt,0) + coalesce(P5.entidad_cnt,0) + coalesce(P6.entidad_cnt,0) + coalesce(P7.entidad_cnt,0) + coalesce(P8.entidad_cnt,0)) / 9 entidad_cnt_prom_u9m,
        CASE WHEN coalesce(A.entidad_cnt, 0) > coalesce(P1.entidad_cnt, 0)  AND coalesce(A.entidad_cnt, 0)  > coalesce(P2.entidad_cnt, 0)  THEN 1 ELSE 0 END nro_entidades_mayor_actual_u3m ,
        coalesce(A.entidad_cnt, 0) - ((coalesce(P1.entidad_cnt, 0) + coalesce(P1.entidad_cnt, 0))/2)nro_entidades_diff_actual_u2m,  
        A.banca_mes_val, A.segmento_mes_val, A.departamento_fin_val, A.region_fin_val, A.banca_fin_val, A.segmento_fin_val  ,  
         
        CASE WHEN  A.banca_fin_val <> P1.banca_fin_val OR A.banca_fin_val <> P2.banca_fin_val  THEN 1 ELSE 0 END AS FLG_CAMBIO_BANCA_U3M , 

        CASE WHEN  A.banca_fin_val <> P1.banca_fin_val OR A.banca_fin_val <> P2.banca_fin_val OR A.banca_fin_val <> P3.banca_fin_val OR A.banca_fin_val <> P4.banca_fin_val  OR A.banca_fin_val <> P5.banca_fin_val then 1 else 0 end  FLG_CAMBIO_BANCA_U6M,
         
        CASE WHEN  A.banca_fin_val <> P1.banca_fin_val OR A.banca_fin_val <> P2.banca_fin_val OR A.banca_fin_val <> P3.banca_fin_val OR A.banca_fin_val <> P4.banca_fin_val  OR A.banca_fin_val <> P5.banca_fin_val OR A.banca_fin_val <> P6.banca_fin_val OR A.banca_fin_val <> P7.banca_fin_val OR A.banca_fin_val <> P8.banca_fin_val THEN 1 ELSE 0 END  FLG_CAMBIO_BANCA_U9M,

        (CASE WHEN  A.banca_fin_val <> P1.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P2.banca_fin_val THEN 1 ELSE 0 END )   CNT_CAMBIO_BANCA_U3M ,  

        (CASE WHEN  A.banca_fin_val <> P1.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P2.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN  A.banca_fin_val <> P3.banca_fin_val THEN 1 ELSE 0 END )  + (CASE WHEN  A.banca_fin_val <> P4.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P5.banca_fin_val THEN 1 ELSE 0 END ) CNT_CAMBIO_BANCA_U6M , 

        (CASE WHEN  A.banca_fin_val <> P1.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P2.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN  A.banca_fin_val <> P3.banca_fin_val THEN 1 ELSE 0 END )  + (CASE WHEN  A.banca_fin_val <> P4.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P5.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P6.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P7.banca_fin_val THEN 1 ELSE 0 END ) + (CASE WHEN   A.banca_fin_val <> P8.banca_fin_val THEN 1 ELSE 0 END ) CNT_CAMBIO_BANCA_U9M , 
          
        CASE WHEN  A.region_fin_val <> P1.region_fin_val OR A.region_fin_val <> P2.region_fin_val  THEN 1 ELSE 0 END FLG_CAMBIO_REGION_FIN_U3M ,

        CASE WHEN  A.region_fin_val <> P1.region_fin_val OR A.region_fin_val <> P2.region_fin_val OR A.region_fin_val <> P3.region_fin_val OR A.region_fin_val <> P4.region_fin_val  OR A.region_fin_val <> P5.region_fin_val THEN 1 ELSE 0 END FLG_CAMBIO_REGION_U6M ,

        CASE WHEN  A.region_fin_val <> P1.region_fin_val OR A.region_fin_val <> P2.region_fin_val OR A.region_fin_val <> P3.region_fin_val OR A.region_fin_val <> P4.region_fin_val  OR A.region_fin_val <> P5.region_fin_val  OR A.region_fin_val <> P6.region_fin_val  OR A.region_fin_val <> P7.region_fin_val  OR A.region_fin_val <> P8.region_fin_val  THEN 1 ELSE 0 END FLG_CAMBIO_REGION_U9M ,

        CASE WHEN  A.segmento_fin_val <> P1.segmento_fin_val OR A.segmento_fin_val <> P2.segmento_fin_val  THEN 1 ELSE 0 END FLG_CAMBIO_SEGEMNTO_FIN_U3M    ,
        CASE WHEN  A.segmento_fin_val <> P1.segmento_fin_val OR A.segmento_fin_val <> P2.segmento_fin_val OR A.segmento_fin_val <> P3.segmento_fin_val OR A.segmento_fin_val <> P4.segmento_fin_val  OR A.segmento_fin_val <> P5.segmento_fin_val  THEN 1 ELSE 0 END FLG_CAMBIO_SEGMENTO_U6M  ,
          
        cast(date_format(A.fecha_sbs_dt ,'%Y%m') as varchar)  PERIODO
           
         
        FROM .................t_vpc_segmentacion_merc A
        LEFT JOIN .................t_vpc_segmentacion_merc  P1
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 1, P1.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P1.cod_sbs_val 
        LEFT JOIN .................t_vpc_segmentacion_merc  P2
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 2, P2.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P2.cod_sbs_val 
        LEFT JOIN .................t_vpc_segmentacion_merc  P3
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 3, P3.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P3.cod_sbs_val 
        LEFT JOIN .................t_vpc_segmentacion_merc  P4
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 4, P4.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P4.cod_sbs_val 
        LEFT JOIN .................t_vpc_segmentacion_merc  P5
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 5, P5.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P5.cod_sbs_val 
        LEFT JOIN .................t_vpc_segmentacion_merc  P6
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 6, P6.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P6.cod_sbs_val 
        LEFT JOIN .................t_vpc_segmentacion_merc  P7
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 7, P7.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P7.cod_sbs_val 
        LEFT JOIN .................t_vpc_segmentacion_merc  P8
        ON date_format(A.fecha_sbs_dt ,'%Y%m')  = date_format(date_add('month', 8, P8.fecha_sbs_dt)  , '%Y%m')
        AND A.cod_sbs_val  = P8.cod_sbs_val 
        WHERE  1 =  1 
          AND (A.banca_fin_val = 'BPE'   OR A.banca_mes_val = 'BPE') 
          AND cast(date_format(A.fecha_sbs_dt ,'%Y%m') as varchar) >= '202008'
        )

 

Revise this Paste

Your Name: Code Language: