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 ( 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

Your Name: Code Language: