-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPOBLANDO - DATA MART.sql
48 lines (42 loc) · 2.35 KB
/
POBLANDO - DATA MART.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
USE DataMart_SisBanca
GO
--FLUJO 1 POBLANDO DIMENSION CLIENTES
DELETE FROM DataMart_SisBanca.dbo.DIM_CLIENTE
GO
INSERT INTO DataMart_SisBanca.dbo.DIM_CLIENTE (ID_CLIENTE,NOM_CLIENTE,APE_PATE_CLIENTE,APE_MATE_CLIENTE)
SELECT ID_CLIENTE,NOM_CLIENTE,APE_PATE_CLIENTE,APE_MATE_CLIENTE FROM SISTEMA_BANCARIO.DBO.CLIENTE
GO
--FLUJO 2 POBLANDO DIMENSION TRANSACCIONES NO APLICARLO AL SSIS SINO SOLO UNA VEZ DESDE ESTE SCRPT
INSERT INTO DataMart_SisBanca.dbo.DIM_TRANSACCION (TIPO_MOVIMIENTO) VALUES ('MOVIMIENTO_TARJETA');
INSERT INTO DataMart_SisBanca.dbo.DIM_TRANSACCION (TIPO_MOVIMIENTO) VALUES ('MOVIMIENTO_CUENTA');
INSERT INTO DataMart_SisBanca.dbo.DIM_TRANSACCION (TIPO_MOVIMIENTO) VALUES ('MOVIMIENTO_ABONO');
GO
--FLUJO 3 POBLANDO TABLA HECHOS
DELETE FROM DataMart_SisBanca.dbo.HECHOS
GO
INSERT INTO DataMart_SisBanca.dbo.HECHOS (ID_TIPO_TRANSACCION,FECHA,ID_DIM_CLIENTE,ENTRADA,SALIDA)
SELECT 1,F.FECHA,DC.ID_DIM_CLIENTE,0 MONTO_ENTRADA,SUM(T.MONTO_SALIDA)MONTO_SALIDA FROM
(select ID_CLIENTE,CONVERT(DATE,FECHA_REGISTRO) FECHA_REGISTRO,MONTO_SALIDA from SISTEMA_BANCARIO.DBO.MOVIMIENTO_TARJETA) T INNER JOIN DIM_TIEMPO F ON F.FECHA = T.FECHA_REGISTRO
INNER JOIN SISTEMA_BANCARIO.DBO.CLIENTE C ON T.ID_CLIENTE = C.ID_CLIENTE
INNER JOIN DataMart_SisBanca.DBO.DIM_CLIENTE DC ON DC.ID_CLIENTE = T.ID_CLIENTE
GROUP BY F.FECHA,DC.ID_DIM_CLIENTE
UNION ALL
SELECT 2,F.FECHA,DC.ID_DIM_CLIENTE,SUM(T.MONTO_ENTRADA)MONTO_ENTRADA,SUM(T.MONTO_SALIDA)MONTO_SALIDA
FROM
(SELECT ID_CLIENTE,CONVERT(DATE,FECHA_REGISTRO)FECHA_REGISTRO,MONTO_ENTRADA,MONTO_SALIDA FROM SISTEMA_BANCARIO.DBO.MOVIMIENTO_CUENTA) T INNER JOIN DIM_TIEMPO F ON F.FECHA = T.FECHA_REGISTRO
INNER JOIN SISTEMA_BANCARIO.DBO.CLIENTE C ON T.ID_CLIENTE = C.ID_CLIENTE
INNER JOIN DataMart_SisBanca.DBO.DIM_CLIENTE DC ON DC.ID_CLIENTE = T.ID_CLIENTE
GROUP BY F.FECHA,DC.ID_DIM_CLIENTE
UNION ALL
SELECT 3,F.FECHA,DC.ID_DIM_CLIENTE,0 MONTO_ENTRADA,SUM(T.MONTO_SALIDA)MONTO_SALIDA FROM
(SELECT ID_CLIENTE,CONVERT(DATE,FECHA_REGISTRO)FECHA_REGISTRO,MONTO_SALIDA FROM SISTEMA_BANCARIO.DBO.MOVIMIENTO_ABONO) T INNER JOIN DIM_TIEMPO F ON F.FECHA = T.FECHA_REGISTRO
INNER JOIN SISTEMA_BANCARIO.DBO.CLIENTE C ON T.ID_CLIENTE = C.ID_CLIENTE
INNER JOIN DataMart_SisBanca.DBO.DIM_CLIENTE DC ON DC.ID_CLIENTE = T.ID_CLIENTE
GROUP BY F.FECHA,DC.ID_DIM_CLIENTE
GO
/*
SELECT*FROM DIM_CLIENTE
SELECT*FROM DIM_TRANSACCION
SELECT*FROM DIM_TIEMPO
SELECT*FROM HECHOS
*/