Vous êtes sur la page 1sur 10

PRACTICA N° 4

Objetivos: Limpiar y cargar datos de BD transaccional a DataWarehouse (DW)

Requerimiento: Data tools (Visual Studio Shell)

1. Abrir la herramienta de datos. Archivo/nuevo/proyecto

2. Ahora vamos a crear un paquete

Nota:

Para generar el flujo de control en el paquete, arrastre objetos desde elementos de flujo de control en el cuadro de
herramientas a la superficie del diseñador y, a continuación, conecte los objetos seleccionándolos y arrastrando sus
conexiones a otro objeto.

Para extraer, transformar y cargar datos, agregue y genere tareas flujo de datos.
3. Limpiar las tablas:
Primero arrastramos el objeto tarea ejecutar SQL.(Execute SQL Task) y nombrar el objeto como Limpiar
tablas.
Luego vamos a crear una nueva conexión OLE DB con la base de datos OLTP_Stage

A continuación, vamos a editar el objeto Limpiar tablas


Escribir una consulta SQL

Ejecutar script (F5)

4. Ahora vamos a crear flujo de datos y Flujos de Control


Primero creamos 05 Flujos de datos:
-Grabar DimCliente
-Grabar DimEmpleado
-Grabar DimProducto
-Grabar DimUbigeo
-Grabar DimTiempo
a) Flujo de datos: Grabar DimCliente (Editar)
a) Flujo de datos: Grabar DimEmpleado (Editar)
a) Flujo de datos: Grabar DimProducto (Editar)
a) Flujo de datos: Grabar DimUbigeo (Editar )
a) Flujo de datos: Grabar DimTiempo (Editar )

-----------------------------CONSULTA TIEMPO-------------------------------
SELECT DISTINCT
YEAR(FechaPedido) * 10000 + MONTH(FechaPedido) * 100 + DAY(FechaPedido) AS CodigoFecha,
FechaPedido, YEAR(FechaPedido) AS Año,
DATEPART(QUARTER,FechaPedido) AS Trimestre,
MONTH(FechaPedido) AS Mes, dbo.fn_mes(MONTH(FechaPedido)) AS NomMes,
DAY(FechaPedido) AS Dia,
DATEPART(WEEKDAY,FechaPedido) AS DiaSemana,
dbo.fn_diaSem(DATEPART(WEEKDAY, FechaPedido)) AS NomDiaSemana
FROM dbo.Orden
Conectamos los objetos y ejecutamos:

El último objeto tarea ejecutar sql a poblar será la tabla de hechos “FactVentaOrden”.
------------------------------LIMPIAR TABLAS ETL--------------------------
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
GO

EXEC sp_MSForEachTable
'BEGIN TRY
TRUNCATE TABLE ?
END TRY
BEGIN CATCH
DELETE FROM ?
END CATCH;'
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
GO

DBCC CHECKIDENT (DimUbigeo, RESEED,0)


DBCC CHECKIDENT (DimCliente, RESEED,0)
DBCC CHECKIDENT (DimEmpleado, RESEED,0)
DBCC CHECKIDENT (DimProducto, RESEED,0)
*/

Vous aimerez peut-être aussi