Está en la página 1de 14

Paso 1: Ingresamos a Microsoft Visual Studio

Elegimos la opción Nuevo/Proyecto

Luego elegimos:

• Business Intelligence
o Integration Services
Integration Service Project

Escribimos un nombre para el proyecto y la ubicación en una carpeta respectiva


En la opción Paquete SSIS renombramos: PoblamientoGeneral.dtsx

En administradores de conexiones, creamos nuestras conexiones

Paso 2: Creamos una conexión para Northwind y Northwind_Mart


En localhost elegimos la base de datos.

Paso 3: Agregar una tarea de ejecución

1. Nos ubicamos en Flujo de Control

2. Elegimos del cuadro de


herramientas Tarea Ejecutar SQL

3. Hacer clic derecho en Editar en:


Connection Type: Ado.Net
Connection: Northwind_Mart
SQLStatement: Una sentencia SQL

DELETE Sales_Fact
DELETE Employee_Dim
DBCC CHECKIDENT('Employee_Dim',reseed,0)
DELETE Time_Dim
DBCC CHECKIDENT('Time_Dim', reseed,0)
DELETE Customer_Dim
DBCC CHECKIDENT('Customer_Dim',reseed,0)
DELETE Shipper_Dim
DBCC CHECKIDENT('Shipper_Dim', reseed,0)
DELETE Product_Dim
DBCC CHECKIDENT('Product_Dim', reseed,0)

Probamos la ejecución:

Paso 4: Poblando transportistas

Desde la barra de herramientas elegimos la opción: Tarea flujo de datos

Hacer clic derecho y renombramos:


Poblando transportistas

Hacer doble clic en Poblando transportistas, en


la opción Flujo de datos, agregamos un origen y
destino

En el Origen elegimos la base de Northwind, la tabla Shipper


En destino elegimos la base de datos: Northwind_Mart, la tabla Shipper_Dim

Luego Elegiremos es Asignaciones y completamos el esquema de relaciones entre campos

Probamos el poblamiento de la Dimensión transportistas


Comprobamos en SQL Server, la tabla Shipper_Dim

Paso 5: Poblando Clientes

A) Agregamos un Flujo de Tarea de Datos

Renombramos: Poblando Clientes


B) En Origen de datos elegimos la base de datos: Northwind
En modo de acceso a datos: Texto de comando SQL y agregamos el siguiente comando
SELECT *, Regioncita = ISNULL(Region, 'Otros')
FROM customers
C) En Destino elegimos la base de dato: Northwind_Mart y la tabla: Customer_Dim
y hacemos las Asignaciones

D) Probamos el poblamiento

Paso 6: Poblando Tiempo


E) Agregamos un Flujo de Tarea de Datos
Renombramos: Poblando Tiempo

F) En Origen de datos elegimos la base de datos: Northwind


En modo de acceso a datos: Texto de comando SQL y agregamos el siguiente comando
SELECT DISTINCT
S.ShippedDate AS TheDate, DateName(dw, S.ShippedDate)
AS DayOfWeek,
DatePart(mm, S.ShippedDate) AS [Month], DatePart(yy,
S.ShippedDate) AS [Year],
DatePart(qq, S.ShippedDate) AS [Quarter],DatePart(dy,
S.ShippedDate) AS DayOfYear,
DateName(month, S.ShippedDate) +
'_' + DateName(year,S.ShippedDate) AS YearMonth,
DatePart(wk, S.ShippedDate) AS WeekOfYear
FROM Orders S
WHERE S.ShippedDate IS NOT NULL

G) En Destino elegimos la base de dato: Northwind_Mart y la tabla: Time_Dim


y hacemos las Asignaciones

H) Probamos el poblamiento

Paso 7: Poblando Producto


A) Agregamos un Flujo de Tarea de Datos
Renombramos: Poblando Producto

B) En Origen de datos elegimos la base de datos: Northwind


En modo de acceso a datos: Texto de comando SQL y Luego elegimos Generar consulta

Elegimos las tablas: Categories, Products y Suppliers

Elegimos los campos correspondientes:


C) En Destino elegimos la base de dato: Northwind_Mart y la tabla: Product_Dim
y hacemos las Asignaciones

D) Probamos el poblamiento

Paso 8: Poblando Empleados


A) Agregamos un Flujo de Tarea de Datos
Renombramos: Poblando Empleados

B) En Origen de datos elegimos la base de datos: Northwind


En modo de acceso a datos: Texto de comando SQL y Luego elegimos Generar consulta

select * , FirstName +',' + LastName as EmployeeName


from employees

C) En Destino elegimos la base de dato: Northwind_Mart y la tabla: Employee_Dim


y hacemos las Asignaciones

D) Probamos el poblamiento
Paso 9: Poblando Ventas

A) Agregamos un Flujo de Tarea de Datos


Renombramos: Poblando Ventas

B) En Origen de datos elegimos la base de datos: Northwind


En modo de acceso a datos: Texto de comando SQL

SELECT
Northwind_Mart.dbo.Time_Dim.TimeKey,
Northwind_Mart.dbo.Customer_Dim.CustomerKey,
Northwind_Mart.dbo.Shipper_Dim.ShipperKey,
Northwind_Mart.dbo.Product_Dim.ProductKey,
Northwind_Mart.dbo.Employee_Dim.EmployeeKey,
Northwind.dbo.Orders.RequiredDate,
Orders.Freight * [Order Details].Quantity /
(SELECT SUM(Quantity)
FROM [Order Details] od
WHERE od.OrderID = Orders.OrderID) AS
LineItemFreight,
[Order Details].UnitPrice * [Order Details].Quantity AS
LineItemTotal,
[Order Details].Quantity AS LineItemQuantity,
[Order Details].Discount * [Order Details].UnitPrice *
[Order Details].Quantity AS LineItemDiscount
FROM Orders
INNER JOIN [Order Details] ON Orders.OrderID =
[Order Details].OrderID
INNER JOIN Northwind_Mart.dbo.Product_Dim
ON [Order Details].ProductID =
Northwind_Mart.dbo.Product_Dim.ProductID
INNER JOIN Northwind_Mart.dbo.Customer_Dim
ON Orders.CustomerID =
Northwind_Mart.dbo.Customer_Dim.CustomerID
INNER JOIN Northwind_Mart.dbo.Time_Dim
ON Orders.ShippedDate =
Northwind_Mart.dbo.Time_Dim.TheDate
INNER JOIN Northwind_Mart.dbo.Shipper_Dim
ON Orders.ShipVia =
Northwind_Mart.dbo.Shipper_Dim.ShipperID
INNER JOIN Northwind_Mart.dbo.Employee_Dim
ON Orders.EmployeeID =
Northwind_Mart.dbo.Employee_Dim.EmployeeID
WHERE (Orders.ShippedDate IS NOT NULL)

C) En Destino elegimos la base de dato: Northwind_Mart y la tabla: Sales_fact


y hacemos las Asignaciones

D) Probamos el poblamiento
__

También podría gustarte