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 ( 2 years ago )
--- UNIVERSO DE CLIENTES CON LINEA
drop table DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS;
CREATE MULTISET TABLE DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS as (
SELECT
distinct PERIODO,
A.CUC_CLIENTE,
numero_identificacion,
Producto_Desc,
--estado_desc,
banca_wbc_desc,
B.KEY_VALUE,
1 as TARGET_LINEA
/*CASE WHEN Producto_Desc IN ('Descuento físico de Facturas') THEN 1 ELSE 0 END AS FACTURA_NEGOCIABLE,
CASE WHEN Producto_Desc IN ('Descuento electrónico de facturas') THEN 1 ELSE 0 END AS DESCUENTO_ELECTRONICO,
CASE WHEN Producto_Desc IN ('Factoring electrónico de facturas') THEN 1 ELSE 0 END AS FACTORING
*/
FROM (SELECT * FROM E_DW_VIEWS.V_MST_WBC_LINEAS_VPC
where Producto_Desc IN ('Descuento físico de Facturas','Descuento electrónico de facturas','Factoring electrónico de facturas') AND PERIODO >= 202201) A
LEFT JOIN E_DW_VIEWS.V_MST_ENCRIP_NRO_DOC_MDL_HISTDIA B ON A.numero_identificacion = B.NRO_DOC
) WITH DATA PRIMARY INDEX (PERIODO, CUC_CLIENTE, NUMERO_IDENTIFICACION);
-- AGRUPANDO PRODUCTOS
DROP TABLE DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_FINAL;
CREATE MULTISET TABLE DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_FINAL as (
SELECT
PERIODO,
CUC_CLIENTE,
numero_identificacion,
banca_wbc_desc,
KEY_VALUE,
MAX(CASE WHEN Producto_Desc IN ('Descuento físico de Facturas') THEN 1 ELSE 0 END) AS FACTURA_NEGOCIABLE,
MAX(CASE WHEN Producto_Desc IN ('Descuento electrónico de facturas') THEN 1 ELSE 0 END) AS DESCUENTO_ELECTRONICO,
MAX(CASE WHEN Producto_Desc IN ('Factoring electrónico de facturas') THEN 1 ELSE 0 END) AS FACTORING,
TARGET_LINEA
FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS
GROUP BY
PERIODO,
CUC_CLIENTE,
numero_identificacion,
banca_wbc_desc,
KEY_VALUE,
TARGET_LINEA
) WITH DATA PRIMARY INDEX (PERIODO, CUC_CLIENTE, NUMERO_IDENTIFICACION);
-- UNIVERSO TARGET CON DESEMBOLSO
drop table DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO;
CREATE MULTISET TABLE DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO as (
SELECT
DISTINCT
A.PERIODO_VAL,
A.CUC_GIRADOR_CD,
B.NUM_RUC_VAL,
A.Producto_val,
C.KEY_VALUE,
1 as TARGET_LINEA_SALDO
FROM (SELECT DISTINCT PERIODO_VAL,
CUC_GIRADOR_CD,
Producto_val
FROM E_DW_VIEWS.V_MST_VPC_FCD_FINCOB_DOCUMENTOS
where Producto_val IN ('Dscto. de Facturas','Dscto. Elect. de Facturas','Fact. Elect. de Facturas') AND
PERIODO_val >= 202201 AND
ESTADO_LINEA_ACEPTANTE_VAL IN ('Vigente','Cancelado','Devuelto')) A
LEFT JOIN E_DW_VIEWS.V_VPC_CLIENTE_BANCA_FINAL_HST B ON A.CUC_GIRADOR_CD = B.CUC_NUM
LEFT JOIN E_DW_VIEWS.V_MST_ENCRIP_NRO_DOC_MDL_HISTDIA C ON B.NUM_RUC_VAL = C.NRO_DOC
) WITH DATA PRIMARY INDEX (PERIODO_VAL, CUC_GIRADOR_CD, NUM_RUC_VAL);
drop table DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO_FINAL;
CREATE MULTISET TABLE DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO_FINAL as (
SELECT
PERIODO_VAL,
CUC_GIRADOR_CD,
NUM_RUC_VAL,
KEY_VALUE,
TARGET_LINEA_SALDO ,
MAX(CASE WHEN Producto_val IN ('Dscto. de Facturas') THEN 1 ELSE 0 END) AS FACTURA_NEGOCIABLE_DES,
MAX(CASE WHEN Producto_val IN ('Dscto. Elect. de Facturas') THEN 1 ELSE 0 END) AS DESCUENTO_ELECTRONICO_DES,
MAX(CASE WHEN Producto_val IN ('Fact. Elect. de Facturas') THEN 1 ELSE 0 END) AS FACTORING_DES
FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO WHERE NUM_RUC_VAL <> '.'
GROUP BY
PERIODO_VAL,
CUC_GIRADOR_CD,
NUM_RUC_VAL,
KEY_VALUE,
TARGET_LINEA_SALDO
) WITH DATA PRIMARY INDEX (PERIODO_VAL, CUC_GIRADOR_CD, NUM_RUC_VAL);
--- UNIENDO LAS TABLAS
drop table DLAB_PROGRAMADATOSVPC.HM_JRRM_TARGET;
CREATE MULTISET TABLE DLAB_PROGRAMADATOSVPC.HM_JRRM_TARGET as (
SELECT
A.*,
CASE
WHEN A.FACTURA_NEGOCIABLE = 1 AND B.FACTURA_NEGOCIABLE_DES = 1 THEN 1
WHEN A.DESCUENTO_ELECTRONICO = 1 AND B.DESCUENTO_ELECTRONICO_DES = 1 THEN 1
WHEN A.FACTORING = 1 AND B.FACTORING_DES = 1 THEN 1
ELSE 0 END TARGET_DESEMBOLSO
FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_FINAL A
LEFT JOIN DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO_FINAL B ON A.KEY_VALUE = B.KEY_VALUE AND A.PERIODO = B.PERIODO_VAL
) WITH DATA PRIMARY INDEX (PERIODO, CUC_CLIENTE, NUMERO_IDENTIFICACION);
SELECT * FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_TARGET;
/*
SELECT COUNT(1) FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_FINAL;
SELECT PERIODO_VAL, NUM_RUC_VAL, COUNT(1) FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO_FINAL GROUP BY PERIODO_VAL, NUM_RUC_VAL HAVING COUNT(1)>1;
SELECT PERIODO,TARGET_LINEA, TARGET_DESEMBOLSO ,COUNT(1) FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_TARGET GROUP BY PERIODO,TARGET_LINEA, TARGET_DESEMBOLSO;
SELECT PERIODO_VAL, COUNT(1) FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_DESEMBOLSO_FINAL GROUP BY PERIODO_VAL;
SELECT PERIODO, COUNT(1) FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_LINEAS_FINANCIAMIENTO_VENTAS_FINAL GROUP BY PERIODO;
SELECT PERIODO, SUM(TARGET_LINEA), SUM(TARGET_DESEMBOLSO) FROM DLAB_PROGRAMADATOSVPC.HM_JRRM_TARGET WHERE FACTURA_NEGOCIABLE = 1 GROUP BY PERIODO;
SELECT DISTINCT ESTADO_LINEA_ACEPTANTE_VAL FROM E_DW_VIEWS.V_MST_VPC_FCD_FINCOB_DOCUMENTOS WHERE PERIODO_VAL = 202307
TABLA --> E_DW_VIEWS.V_MST_VPC_FCD_FINCOB_DOCUMENTOS
Dscto. de Facturas --> FACTURA NEGOCIABLE
Dscto. Elect. de Facturas --> DESCUENTO ELECTRONICO
Fact. Elect. de Facturas --> FACTORING
SELECT * FROM E_DW_VIEWS.V_MST_VPC_FCD_FINCOB_DOCUMENTOS WHERE PERIODO_VAL = 202307
-- 49560444
-- 12837151
SELECT * FROM E_DW_VIEWS.V_MST_ENCRIP_NRO_DOC_MDL_HISTDIA WHERE NRO_DOC = '12837151'
SELECT TOP 100 * FROM E_DW_VIEWS.V_VPC_CLIENTE_BANCA_FINAL_HST
--
*/
Revise this Paste