2. Logro
•Al finalizar la sesión, el estudiante utilizará
Integration Services en SQL Server 2014.
3. Importancia
•Es de vital importancia que el estudiante sepa
como utilizar Integration Services en SQL Server
2014, debido a que este conocimiento es
fundamental para el desarrollo de la Inteligencia
de Negocios en una empresa.
5. ETL desde una Base de Datos
Transaccional a un Data Mart en
SQL Server 2014
6. PASO 1
• Verificamos que
tenemos creado
nuestro Data Mart
VentasDataMart
• Verificamos que
tenemos creado
nuestra base de datos
Northwind
7. PASO 2
• Abrir el Visual Studio.
• Clic en Archivo
• Clic en Nuevo
• Clic en Proyecto
8. PASO 3
• Desplegar Business
Intelligence.
• Clic en Integration Services
• Clic en Integration Services
Project.
• En Nombre ingresar
ISNorthwind.
• En Nombre de la solución
ingresar Northwind.
• Clic en Aceptar.
9. PASO 4
• Clic en Ver.
• Clic en Otras ventanas.
• Clic en Cuadro de
herramientas de SSIS.
10. PASO 5
• Seleccionar Tarea Flujo de datos y arrastrar al Flujo de control.
• Cambiar el nombre de Tarea Flujo de datos por Producto.
• Doble clic en Producto.
11. PASO 6
En el Cuadro de herramientas
de SSIS:
• Clic en Otros orígenes.
• Clic en Origen de OLE DB y
arrastrar al Flujo de
control.
• Doble clic en
12. PASO 7
En el Cuadro de herramientas
de SSIS:
• Clic en Otros destinos.
• Clic en Destino de OLE DB y
arrastrar al Flujo de
control.
13. PASO 8
En el Cuadro de herramientas
de SSIS:
• Clic en Comunes
• Clic en Conversión de datos
y arrastrar al Flujo de
control.
14. PASO 9
• Seleccionar la línea azul de
Origen de OLE DB y
conectarla con el de
Conversión de datos.
• Seleccionar la línea azul de
Conversión de datos y
conectarla con el de
Destino de OLE DB.
• Verificar que se vea así
• Finalmente, dar doble clic
en:
16. PASO 11
• En Nombre de servidor
poner un punto (.)
• En Seleccionar o escribir el
nombre de la base de datos
escoger nuestra base de
datos SQL Server llamada
Northwind.
• Clic en Aceptar.
18. PASO 13
• Verificamos nuestra
Conexión OLE DB
• Ingresar la siguiente
consulta SQL:
• Clic en Aceptar.
SELECT DISTINCT pro.nombre AS
Producto, cat.nombre AS Categoria
FROM Producto pro INNER JOIN
Categoria cat ON
(pro.categoriaID=cat.categoriaID);
21. PASO 15
• Recordar los Alias de salida
• Seleccionamos las Columnas
de entrada, en nuestro caso
Producto y Categoria
• Seleccionamos los tipos de
datos a convertir, en nuestro
caso cadena [DT_STR] o
string [DT_STR]
• Seleccionamos la logitud, en
nuestro caso 50
• Clic en Aceptar.
25. PASO 18
• En Nombre de servidor
poner un punto (.)
• En Seleccionar o escribir el
nombre de la base de datos
escoger nuestra base de
datos SQL Server llamada
VentasDataMart.
• Clic en Aceptar.
27. PASO 20
• Verificamos nuestra
Conexión OLE DB
• En Nombre de la tabla o la
vista seleccionamos
[dbo].[Producto]
• Clic en Asignaciones.
28. PASO 21
• Seleccionamos las Columnas
de entrada, en nuestro caso
Copia de Producto y Copia
de Categoria (Alias de salida)
• Clic en Aceptar.
29. Ya tenemos el proceso ETL para nuestra primera
dimensión Producto desde la Producto de la base de
datos Northwind.
Hacer el mismo procedimiento ETL para todas las dimensiones de
nuestro DataMart VentasDataMart. Asimismo, tener en cuentas las
siguientes Consultas SQL y Conversión de datos.
30. PRODUCTO:
SELECT DISTINCT pro.nombre AS Producto, cat.nombre AS Categoria
FROM Producto pro INNER JOIN Categoria cat ON (pro.categoriaID=cat.categoriaID);
CLIENTE:
SELECT DISTINCT ContactName AS NombreContacto, City AS Ciudad, Country AS Pais
FROM Cliente ;
PROVEEDOR:
SELECT DISTINCT nombreCompania AS NombreCompania, pais AS Pais
FROM Proveedor;
EMPLEADO:
SELECT DISTINCT LastName AS Apellido, ReportsTo AS Informe
FROM Empleado
WHERE ReportsTo IS NOT NULL;
TIEMPO:
SELECT DISTINCT CONVERT(DATE,fecha) AS Fecha, CONVERT(int,DATEPART(YEAR,fecha)) AS Anio,
CONVERT(int,DATEPART(QUARTER,fecha)) AS Trimestre,
CONVERT(varchar,DATEPART(MONTH,fecha)) AS Mes,
CONVERT(int,DATEPART(DAY,fecha)) AS Dia
FROM Orden;
Consultas SQL
31. SELECT DISTINCT prodD.id AS ProductoID, cliD.id AS ClienteID, empD.id AS EmpleadoID, tiD.id AS TiempoID, provD.id
AS ProveedorID, (detoN.UnitPrice*detoN.Quantity) AS PrecioTotal, detoN.Quantity AS Cantidad
FROM Northwind.dbo.Producto prodN
INNER JOIN Northwind.dbo.Categoria catN ON (prodN.categoriaID=catN.categoriaID)
INNER JOIN Northwind.dbo.Proveedor provN ON (prodN.provedorID=provN.proveedorID)
INNER JOIN Northwind.dbo.DetalleOrden detoN ON (prodN.productoID=detoN.productoID)
INNER JOIN Northwind.dbo.Orden ordN ON (ordN.ordenID=detoN.ordenID)
INNER JOIN Northwind.dbo.Cliente cliN ON (cliN.clienteID=ordN.clienteID)
INNER JOIN Northwind.dbo.Empleado empN ON (empN.empleadoID=ordN.empleadoID)
INNER JOIN VentasDataMart.dbo.Producto prodD ON (prodD.nombre=prodN.nombre)
INNER JOIN VentasDataMart.dbo.Cliente cliD ON (cliD.nombre=cliN.ContactName)
INNER JOIN VentasDataMart.dbo.Empleado empD ON (empD.apellido=empN.LastName)
INNER JOIN VentasDataMart.dbo.Tiempo tiD ON (tiD.fecha=CONVERT(DATE,ordN.fecha))
INNER JOIN VentasDataMart.dbo.Proveedor provD ON (provD.nombreCompania=provN.nombreCompania);
Consultas SQL para la tabla de hechos factOrden
34. Entendiendo Consultas SQL de la tabla de hechos factOrden
VentasDataMart Northwind
Se busca los campos en común entre las tablas de nuestra base de datos
VentasDataMart y la base de datos Northwind. En este ejemplo sólo se
evidencia la dimensión Producto. Hacer el mismo procedimiento todas las
dimensiones de nuestro DataMart VentasDataMart.
38. PASO 22
• Seleccionar Tarea Ejecutar SQL y arrastrar al Flujo de control.
• Cambiar el nombre de Tarea Ejecutar SQL por Limpieza.
• Doble clic en Limpieza.
39. PASO 23
• Clic en Connection y
seleccionar la base de
datos, en este caso
LocalHost.VentasDataMart
• Clic en los tres puntos (…)
de SQLStatement.
40. PASO 24
• Ingresar la siguiente consulta SQL:
DELETE FROM Orden;
DELETE FROM Producto;
DELETE FROM Cliente;
DELETE FROM Empleado;
DELETE FROM Tiempo;
DELETE FROM Proveedor;
• Clic en Aceptar
* Recordar que DELETE no reinicia el conteo de los registros, caso contrario con TRUNCATE.
41. PASO 25
• Verificar en Connection y
seleccionar la base de
datos, en este caso
LocalHost.VentasDataMart
• Verificar en SQLStatement
la consulta SQL que hemos
ingresado.
• Clic en Aceptar.
42. PASO 26
• Clic en Limpieza y aparecerá una flecha verde que debes conectar a cada Flujo
de dato que hemos creado.
43. PASO 27
• Conectar cada Flujo de dato que hemos creado con FactOrden.
• Clic en Iniciar.
44. Conclusiones
• Microsoft Integration Services es una plataforma para resolver
complejos problemas empresariales mediante la copia o descarga
de archivos, la carga de almacenamientos de datos, la limpieza y
minería de datos y la administración de datos y objetos de SQL
Server.