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