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 )
SELECT a.*, b.*,
    e.COD_UNICO,
    e.DES_TRANSAC_GRUPO_N2,
    e.DES_TRANSAC_GRUPO_N3,
    e.SERVICIOS,
    e.Monto_Cash_in,  
    e.Monto_Cash_out,
    e.cant_cash_in,
    e.cant_cash_out,
    e.fecha_1er_trx,
    e.fecha_ult_trx
FROM (
      select y.*, 
             CODIGO_UNICO Codigo_Unico_final ,
             CASE WHEN SELECCIONADO_GAT = 'servicios' then 'bucket_pago_servicios'
                  WHEN SELECCIONADO_GAT = 'trading' then 'bucket_trading'
                  WHEN SELECCIONADO_GAT = 'planillas' then 'bucket_pago_planillas'
                  WHEN SELECCIONADO_GAT = 'sunat_nps' then 'bucket_pago_servicios_nps'
                  else '-' end bucket_corregido 
             FROM t_jv_model_gat y
        WHERE MODELO = 'GATILLADOR'
            AND SELECCIONADO_GAT IS NOT NULL
            and PERIODO_CAMPANIA = '{periodo}'
) a
LEFT JOIN (
    SELECT 
        P.COD_UNICOCLIENTE,
        P.CANT_G,
        P.CANT_CE,
        P.CANT_AC,
        P.CANT_LEADS,
        CASE
 
            WHEN COD_MES = 202310 THEN 202309 
            WHEN COD_MES = 202311 THEN 202310
            WHEN COD_MES = 202312 THEN 202311 
            WHEN COD_MES = 202401 THEN 202312 
            WHEN COD_MES = 202402 THEN 202401 
            WHEN COD_MES = 202403 THEN 202402 
            WHEN COD_MES = 202404 THEN 202403 
            WHEN COD_MES = 202405 THEN 202404 
        END AS PERIODO_MODEL,
        COD_MES AS PERIODO_CAMPANIA
    FROM ODS.HD_NBARRIDO_GESTION_ININ_VTA_BPE P
    WHERE COD_MES = '{periodo}'
        AND TIPO_CARGA IN ('CARTERIZACION TLV','ONBOARDRING TLV B')
) b
ON a.Codigo_Unico_final = b.COD_UNICOCLIENTE
    AND a.PERIODO = b.PERIODO_MODEL
LEFT JOIN (
   SELECT CASE 
            WHEN PERIODO_INFORMACION = 202310 THEN 202309 
            WHEN PERIODO_INFORMACION = 202311 THEN 202310 
            WHEN PERIODO_INFORMACION = 202312 THEN 202311
            WHEN PERIODO_INFORMACION = 202401 THEN 202312
            WHEN PERIODO_INFORMACION = 202402 THEN 202401
            WHEN PERIODO_INFORMACION = 202403 THEN 202402
            WHEN PERIODO_INFORMACION = 202404 THEN 202403
             END AS PERIODO_CAMPANIA,
             COD_UNICO,
             DES_TRANSAC_GRUPO_N3, 
             DES_TRANSAC_GRUPO_N2, 
             DES_TRANSAC_GRUPO_N1,
             SERVICIOS,
 
             sum(case when (SIGNO_MONTO = '+') and (DES_MON_ORIG = 'DOLARES') then MONTO_TRANSAC*3.4 
                      when (SIGNO_MONTO = '+') and (DES_MON_ORIG = 'SOLES') then MONTO_TRANSAC 
                      else 0 end) Monto_Cash_in,  
             sum(case when (SIGNO_MONTO = '-') and (DES_MON_ORIG = 'DOLARES') then MONTO_TRANSAC*3.4 
                      when (SIGNO_MONTO = '-') and (DES_MON_ORIG = 'SOLES') then MONTO_TRANSAC 
                      else 0 end) Monto_Cash_out,  
             sum(case when SIGNO_MONTO = '+' then 1 else 0 end) cant_cash_in,
             sum(case when SIGNO_MONTO = '-' then 1 else 0 end) cant_cash_out,
             min(FECHA_INFORMACION) fecha_1er_trx,
             max(FECHA_INFORMACION) fecha_ult_trx
			 FROM (      
	  SELECT 
            PERIODO_INFORMACION,
            COD_UNICO,
            DES_TRANSAC_GRUPO_N3, 
            DES_TRANSAC_GRUPO_N2, 
            DES_TRANSAC_GRUPO_N1,
			CASE 
				  WHEN DES_TRANSAC_GRUPO_N2 = 'PAGO DE SERVICIOS' AND DES_TRANSAC_GRUPO_N3 = 'PAGO DE SERVICIOS' THEN 'bucket_pago_servicios' 
				  WHEN DES_TRANSAC_GRUPO_N1 = 'PAGOS MASIVOS' AND 
				       DES_TRANSAC_GRUPO_N2 = 'PLANILLAS' AND 
					   DES_TRANSAC_GRUPO_N3 = 'PLANILLAS' THEN 'bucket_pago_planillas'
				  WHEN DES_TRANSAC_GRUPO_N2 = 'PAGO SUNAT' AND DES_TRANSAC_GRUPO_N3 = 'NPS' THEN 'bucket_pago_servicios_nps' 
				  ELSE NULL -- Cambiado a NULL
			END AS SERVICIOS,
            SIGNO_MONTO,
            MONTO_TRANSAC,
            DES_MON_ORIG,
            FECHA_INFORMACION
        FROM ods.hd_transaccion
        WHERE
            FECHA_INFORMACION LIKE ('{periodo}%')
            AND COD_UNICO IN (
                SELECT DISTINCT CODUNICOCLI
                FROM ODS.HD_BASE_STOCK_CN 
                WHERE
                    CARTERA = 'NEGOCIO'
                    AND BANCA = 'BPE'
                    AND CODMES = '{periodo}'
            )
            AND DES_TRANSAC_GRUPO_N3 IN ('PLANILLAS','NPS','PAGO DE SERVICIOS')
			 UNION ALL
 
                SELECT
                    '{periodo}' PERIODO_INFORMACION,
                    CU COD_UNICO,
                    'CAMBIOS' DES_TRANSAC_GRUPO_N3,
                    'CAMBIOS' DES_TRANSAC_GRUPO_N2,
					'OPERACIONES MESA' DES_TRANSAC_GRUPO_N1,
                    'bucket_trading' SERVICIOS,        
                    '-' SIGNO_MONTO,
                    VOL_USD * -1*3.58 MONTO_TRANSAC,
                    'SOLES' DES_MON_ORIG,
                    FECLABORAL FECHA_INFORMACION
                FROM stg.t_cambios
                WHERE FECLABORAL LIKE '{anio}-{mes}%') X
				WHERE DES_TRANSAC_GRUPO_N1 NOT IN  ('PAGOS RECIBIDOS')
				GROUP BY PERIODO_INFORMACION,
             COD_UNICO,
             DES_TRANSAC_GRUPO_N3, 
             DES_TRANSAC_GRUPO_N2, 
             DES_TRANSAC_GRUPO_N1,
             SERVICIOS

 
) e
ON a.Codigo_Unico_final = e.COD_UNICO
    AND a.bucket_corregido = e.SERVICIOS
    AND a.PERIODO = e.PERIODO_CAMPANIA;

 

Revise this Paste

Your Name: Code Language: