Este documento describe los pasos para construir un data warehouse sobre SQL Server 2005 utilizando Northwind como base de datos transaccional. Explica cómo diseñar un esquema en estrella identificando las tablas de dimensión, la tabla de hechos y las jerarquías. Luego, implementa el esquema creando las tablas y estableciendo las relaciones. Finalmente, cubre cómo poblar el data warehouse mediante el uso de Transact-SQL y paquetes DTS.
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
38481889 lab-dwh-sql2005
1. Construcción de un Data WareHouse
Construyendo
Data WareHouse sobre
SQL Server 2005
MCP Ing. Ricardo Mendoza Rivera
rimenri@hotmail.com
MCP Ing. Ricardo Mendoza Rivera Página: 1
2. Construcción de un Data WareHouse
Lab 1: Introducción Data Warehouse
Objetivos
· Familiarizarse con una Base de Datos OnLine Transaction Process (OLTP)
· Ejecutando Simples búsquedas a los datos en un Online Analytical Processing (OLAP)
Ejercicio 01.
Introducción a la Base de Datos Completa NorthWind.
1. Cargar desde Programas-Microsoft SQL Server 2005 y luego haga click en Microsoft
SQL Server Management Studio
2. Expanda la carpeta Databases
3. Clic en Tables
Conociendo un poco la Información de NorthWind
NorthWind es una base de datos muestra que se incorpora durante la instalación del
SQL Server, contiene datos de las ventas de la corporación NorthWind Traders, que
importa y exporta artículos alrededor del mundo.
Es una Base de Datos Relacional altamente normalizada y ha sido diseñada para
complementar las actividades de todas las transacciones generadas como parte de su
operatividad. En Northwind Traders labora gente que utiliza las interfaces de su
sistema para tomar las órdenes de productos que ellos venden. La normalización de
este tipo de base de datos es muy recomendable dado el alto grado de inserciones y
modificaciones que se realizan. A continuación mostramos un resumen de lo que se
almacena en las tablas principales de esta Base de Datos.
ITEM TABLA DESCRIPCION
1 Categories Información de las categorías de los productos
2 Products Productos que comercializa la empresa
3 Suppliers Proveedores oficiales de la empresa
4 Orders Condiciones de los pedidos que realizan los
clientes. Es la cabecera de la Orden
5 Order details Detalle de los productos pedidos en una orden
6 Employees Información de los empleados que realizan las
transacciones en la empresa.
7 Customers Clientes que solicitan productos mediante las
órdenes respectivas
8 Shippers Son las empresas de transporte encargadas de
enviar los productos a los clientes
A continuación mostramos el diagrama completo del Sistema Operacional.
MCP Ing. Ricardo Mendoza Rivera Página: 2
3. Construcción de un Data WareHouse
BASE OPERACIONAL COMPLETA: NorthWind
MCP Ing. Ricardo Mendoza Rivera Página: 3
4. Construcción de un Data WareHouse
Ejercicio 02.
Identificando las tablas a utlizar de la Base de Datos NorthWind para el
diseño de la Base de Datos NorhWind
Iniciando el Microsoft SQL Server Management Studio.
Cargar desde Programas-Microsoft SQL Server 2005 y luego haga click en Microsoft
SQL Server Management Studio.
Clic en : Connect
Enlazando la Base de Datos Transaccional: NorthWind
Clic derecho sobre Databases - Attach y se activa la sgte interfaz:
MCP Ing. Ricardo Mendoza Rivera Página: 4
5. Construcción de un Data WareHouse
Clic en : Add y ubique el archivo: northwnd.mdf , luego clic OK
DIAGRAMA CON TABLAS A UTILIZA PARA CONSTRUIR UN DATA MART
MCP Ing. Ricardo Mendoza Rivera Página: 5
6. Construcción de un Data WareHouse
Ejercicio 03.
Visualizando un Cubo en OLAP
Iniciando el Business Intelligence Development Studio.
Cargar desde Programas-Microsoft SQL Server 2005 y luego haga click en SQL Server
Business Intelligence Development Studio.
Con lo que se activara la siguiente interfaz
Abriendo el Proyecto de Demostración
· Del menú elija: File - Open – Project Solution
· Ubique la carpeta: SQL Labs – Sesion_01 el proyecto llamado:
Analysis Services Tutorial.sln, tal como se muestra a continuación
MCP Ing. Ricardo Mendoza Rivera Página: 6
7. Construcción de un Data WareHouse
· Ubíquese en Explorador de Soluciones en Cubes y doble clic sobre el Cubo:
Analysis Services Tutorial.cube
Visualizando el Cubo
· Visualice el DataSource
· Visualice Las Dimensiones
· Visualice Las Medidas
· Ubíquese en Browse y Construya la Interfaz de Visualizacion del Cubo.
· Dimensiones
· Rows: Products – Product Categories
· Columns : Date – Calendar – Calendar-Time
· Page:
· Customer – Demographic – Marital Status
· Customer – Location – Customer Geographic
· Dimensions:
· Dimension: Promotion
· Hierarchy : Promotion Type
· Operador : Equal
· Filter Expresión: All
· Medidas
· Total Sales Amount
MCP Ing. Ricardo Mendoza Rivera Página: 7
8. Construcción de un Data WareHouse
Este es el efecto final
Puede empezar a “jugar” con las otras dimensiones y medidas, realizando drag
and drops e intercambiando filas a columnas o viceversa.
Asi mismo realice los drill- up y drill downs respectivos.
MCP Ing. Ricardo Mendoza Rivera Página: 8
9. Construcción de un Data WareHouse
Lab 2: Diseñando un Sistema de Data
Warehousing
A. Diseñando el Esquema Estrella
Objetivos
· Diseñar un Modelo Multidimensional usando en Esquema Estrella
· Identificar medidas de una Fact Table
· Identificar niveles de jerarquía en una dimensión
Escenario
En el Laboratorio anterior se explicó que la Base de Datos NorthWind soportar el sistema de ordenes
de pedido que contiene las sgts. Tablas
· Orders
· Order details
· Products
· Categories
· Suppliers
· Shippers
· Employees
· Customers
El Administrador de NorthWind desea incrementar su habilidad para analizar datos enfocando las
tendencias que le permitan tomar decisiones sobre las ventas del negocio
Objetivos del Negocio
· Determinar cómo sus productos son vendidos en las distintas regiones geográficas
que conforman el ámbito de la empresa.
· Evaluar los lugares con las ventas más altas y aquellas en la que las ventas son
menores.
Proceso de Negocios
El detalle del proceso de negocios fue obtenido después de realizar una serie de
entrevistas con varios empleados, analiar los documentos y seguir el flujo de un pedido
desde la solicitud hasta la entega de pedidos al cliente.
MCP Ing. Ricardo Mendoza Rivera Página: 9
10. Construcción de un Data WareHouse
Requerimientos del Data Mart
· Información acerca de las ventas
· Información de las compras de los clientes
· Información acerca de los productos que ha sido vendidos
· Información acerca de los empleados que atendieron los pedidos
· Datos acerca de la entrega de productos
Medidas
· Cantidad de productos vendidos
· Descuentos otorgados
· Total de la producto vendido (línea total del item)
· Costo de flete por enviar el producto al cliente
Alguna de las medidas son datos precalculados y que se realizarán al momento de
hacer la transformación de los datos. Por ejemplo
Medidas Método de cálculo
Línea total del item PrecioUnitario * Cantidad
Costo de Flete (((Costo Embarque/ sum(cantidad))* cantidad
La información puede ser observada construyendo el Diagrama de la Base de Datos
NorthWind en el SQL Server.
Identificando el Grain, Dimensiones, Facts y Jerarquías
1. Qué tablas son apropiadas para tablas dimensión?
________________________________________________________________
2. Qué tabla o tablas serán dimensiones compartidas ?
_________________________________________________________________
3. Con qué tipo de índice identificaría a cada dimensión ?
_________________________________________________________________
4. Qué tabla de la Base de Datos NorthWind es la más representiva a la Fact Table.
_________________________________________________________________
5. Qué medidas y calves foráneas son necesarias a incluir en la Fact Table
_________________________________________________________________
6. Qué tabla y columnas contienen información de la fecha requerida en la Orden ?
_________________________________________________________________
7. Cómo puede ser útil la fecha de embarque para analizar datos en el Data Mart?
Cómo se denomina a este tipo de información? Note que esta información no es
una dimensión ni es una medida.
MCP Ing. Ricardo Mendoza Rivera Página: 10
11. Construcción de un Data WareHouse
B. Implementando el Esquema Estrella
Objetivos
· Crear la Fact Table y las tablas dimensión
· Establecer relaciones
Ejercicio 01. Creando la Base de Datos Multidimensional: NorthWind_Mart
Iniciando el Microsoft SQL Server Management Studio.
Cargar desde Programas-Microsoft SQL Server 2005 y luego haga click en Microsoft
SQL Server Management Studio.
Clic en : Connect
Con lo que se activa la siguiente interfaz
MCP Ing. Ricardo Mendoza Rivera Página: 11
12. Construcción de un Data WareHouse
Creando la Base de Datos.
Cargar desde Inicio - Programas-Microsoft SQL Server 2005 y luego haga click en
Microsoft SQL Server Management Studio..
Con lo que aparece la sgte interfaz:
· Ubicarse sobre Databases, clic derecho Nueva BaseDatos: NorthWind_Mart, clic
Aceptar.
· Expandir la BD NorhWind_Mart y ubicarse sobre Diagrams, clic derecho New
Diagram y preparar el sgte modelo
MCP Ing. Ricardo Mendoza Rivera Página: 12
13. Construcción de un Data WareHouse
act
Ejercicio 03. Identificando Dimensiones, hechos y Jerarquías
Durante una entrevista con Alejandro, el Analista de Ventas se nos proporcionó el
siguiente cuadro resumen que usan mensualmente para conocer las cantidades
vendidas de una determinada sucursal (Krispy Foods).
MCP Ing. Ricardo Mendoza Rivera Página: 13
14. Construcción de un Data WareHouse
Identificar dimensiones
1. Visualice la clasificación del cuadro e idientifique las cabeceras de las columnas con menor
nivel.
2. Visualice la clasificación del cuadro e idientifique las cabeceras de las filas con menor nivel.
3. Visualice el título del reporte e identifique el nivel más bajo
Identificar medidas
4. Cuál es la intersección entre las columnas y filas de menor nivel.
Identificar Jerarquías
5. Identifique los acumulados a nivel de Columna
6. Identifique los acumulados a nivel de Fila
7. Identifique alguna clasificación en el título
MCP Ing. Ricardo Mendoza Rivera Página: 14
15. Construcción de un Data WareHouse
Lab 3: Poblando un Data Warehouse
Objetivos
· Familiarizarse con una Base de Datos OnLine Transaction Process (OLTP)
· Ejecutando Simples búsquedas a los datos en un Online Analytical Processing (OLAP)
Ejercicio 01.
Definiendo Flujos de Trabajo
Con el DTS se puede definir un flujo de trabajo que controla la ejecución secuancial
paso a paso. Controlar el flujo lógico y determinando las precedencias respectivas,
priozando tareas a desarrollar.
Definiendo Pasos de Transformación
Un paso define una unidad de trabajo que es ejecutada como parte de un proceso de
transformación. Un paso puede:
· Ejecutar una orden SQL
· Mover y transformar datos heterogéneos
· Ejecutar Jscript, VBScript. Estos scripts pueden ejecutar cualquier operación con su
lengiaje nativo.
· Recuperar y ejecutar otros DTS packages.
Por ejemplo Ud. Puede preparar un DTS package para sumarizar las ventas al contado
y al crédito resumidas por mes, vendedor, etc. De diferentes tablas y ponerlas un una
sola tabla.
Pasos, Tareas y Restricciones de precedencia:
Un paquete se forma a partir de conexiones de datos (orígenes y destinos) y tareas
usadas para ejecutar estas conexiones. La acción de ejecutar una tarea es controlada
por un paso:
Notemos los sgts pasos y restricciones de precedencia en el DTS Designer
MCP Ing. Ricardo Mendoza Rivera Página: 15
16. Construcción de un Data WareHouse
Las restricciones de precedencia son representadas por una línea azúl (Cuando se ha
completado) Verde (ejecutada) o Rojo (Error)
Veamos el sgte. Diagrama:
Tipos de Restricción de Precedencia
Los tipos de restricciones de precedencia que seleccione determinar los requerimientos
para ejecutar cada paso:
· SUCCESS indica que el paso origen debe completarse satisfactoriamente antes de
que el paso de destino empiece a ejecutarse.
MCP Ing. Ricardo Mendoza Rivera Página: 16
17. Construcción de un Data WareHouse
· FAILURE indica que el Paso origen debe completarse con una indicación de error
antes de ejecutar el paso destino.
· COMPLETION: indica que el paso origen debe smplemente ejecutarse (con FAILURE
O SUCCESS) antes de que el paso destino se ejecute.
Ejemplo de formas de flujo de trabajo:
Un paquete con pasos que se ejecutan en paralelo y secuencialmente
Poblamiento Utilizando el Transact-SQL
Ejemplo 1. Copiando información y transformando datos. Mismo Orígen
Orígen : MS SQL Server : NorthWind.dbo.Employees
Destino: MS SQL Server: NorthWind_Mart.dbo.Employee_Dim
Sin verificar datos del destino.
Suponga que desea copiar información desde NorthWind hacia NorthWind_Mart de la
tabla Employees
USE NorthWind
INSERT employee_dim
(EmployeeID, EmployeeName, HireDate)
SELECT EmployeeID, LastName + ','+ FirstName AS EmployeeName, HireDate
FROM NorthWind.dbo.Employees
Ejecute nuevamente esta última instrucción y luego consulte la información de la
tabla dimensión: Employee_Dim
Qué observa en los datos ?
MCP Ing. Ricardo Mendoza Rivera Página: 17
18. Construcción de un Data WareHouse
Eliminando datos de la Tabla Dimensión: Employee_Dim
DELETE FROM Employee_Dim
Copiando información y transformando datos. Verificando datos del destino
· Utilizando el método de limpieza total
DELETE FROM Employee_Dim
INSERT employee_dim
(EmployeeID, EmployeeName, HireDate)
SELECT EmployeeID, LastName + ','+ FirstName AS EmployeeName, HireDate
FROM NorthWind.dbo.Employees WHERE EmployeeID
· Utilizando el método incremental
INSERT employee_dim
(EmployeeID, EmployeeName, HireDate)
SELECT EmployeeID, LastName + ','+ FirstName AS EmployeeName, HireDate
FROM NorthWind.dbo.Employees WHERE EmployeeID
NOT IN (SELECT EmployeeID FROM employee_dim)
Ejemplo de Ejecución de un Package
Creación de una DTS Package
Creando un Paquete y Adicionando Conexiones
Activada Pasos a Seguir
d
Ingresand 1. Iniciar el SQL Server Business Intelligence Development Studio y desde
o al SSIS el Menu la opcion : File – New Project con lo que aparece la interfaz
siguiente
MCP Ing. Ricardo Mendoza Rivera Página: 18
19. Construcción de un Data WareHouse
Activada Pasos a Seguir
d
2. Elija en
a. Tipo Proyecto: Business Intelligent Projects
b. Templates: Integration Services Project
c. Name: Doblamiento General NorthWind_Mart
d. Browse: ubique la direccion deseada
e. Ok
Ver la sgte interfaz
MCP Ing. Ricardo Mendoza Rivera Página: 19
20. Construcción de un Data WareHouse
Activada Pasos a Seguir
d
3. Renombrar el Paquete como: PoblamientoGeneral
Recuerde que un proyecto es una colección de Paquetes, DataSources,
DataSource Views y otros elementos que podrán ser usados mientras
desarrolle la construcción del paquete
Creando 1. Clic derecho sobre DataSource : New con lo que se activa:
la
conexión
de datos
ORIGEN
MCP Ing. Ricardo Mendoza Rivera Página: 20
21. Construcción de un Data WareHouse
Activada Pasos a Seguir
d
2. Haga clic en New y digite los sgts datos
MCP Ing. Ricardo Mendoza Rivera Página: 21
22. Construcción de un Data WareHouse
Activada Pasos a Seguir
d
3. Ok
4. Next
5. Finish
Creando 1. Proceda como en paso anterior, pero esta vez establesca la conexión con
la la BD NorthWind_Mart
conexión
destino
de datos
MCP Ing. Ricardo Mendoza Rivera Página: 22
23. Construcción de un Data WareHouse
Activada Pasos a Seguir
d
Agregand 1. Asegurarse de estar ubicado en Control Flow
o una 2. Desde ToolBox arrastre Execute SQL Task luego clic derecho Edit
tarea de ubique la propiedad Connection y seleccione:
ejecucion localhost.NorthWind_Mart
3. Ubique la propiedad SQL Statment clic en (…) y digite lo sgte:
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)
MCP Ing. Ricardo Mendoza Rivera Página: 23
24. Construcción de un Data WareHouse
Activada Pasos a Seguir
d
4. Ok
5. ok
Poblando Dimension Transportistas
Actividad Pasos a Seguir
Creando el 1. Desde ToolBox arrastre DataFlowTask
Flujo de 2. Clic derecho: Rename y digite: Poblando Transportistas
Datos 3. Clic en Execute SQL Tasks, clic en la flecha verde y arrastre
hasta Poblando Transportistas
Aspecto inicial
MCP Ing. Ricardo Mendoza Rivera Página: 24
25. Construcción de un Data WareHouse
Actividad Pasos a Seguir
Estableciendo 1. Doble clic sobre Poblando Transportistas
el origen 2. En ToolBox en DataFlowSources arrastre OLEDB DataSource y
haga doble clic
3. Desde ConnectionManager
a. OLE DB Connection Manager : localhost.NorthWind
b. Data Access: Table o View
c. Name: Shippers
4. s
Estableciendo 1. En ToolBox en DataFlowDestinations , arrastre OLEDB
el Destino DataDestionation
2. Clic en OLE DB DataSource, clic en la flecha verde y arrastre
hacia OLEDB Data Destination
3. Doble Clic en OLEDB DataDestination.
4. Desde ConnectionManager>
a. OLE DB Connection Manager: localhost.NorthWind_Mart
b. Data Access; Table
c. Name: Shipper_Dim
Clic en Mappings: y trate de llegar al sgte esquema
Grabando y 1. Grabar
Ejecutando el 2. Presione F5 para ejecutar
Paquete
Verificando 1. Cargue el SQL Server Management Studio
Poblamiento 2. Clic en New Quero
3. Seleccione la BD: NorthWind_Mart
4. Digite: SELECT * FROM Shipper_Dim
Poblando Dimension Clientes
Actividad Pasos a Seguir
Creando el 1. Desde ToolBox arrastre DataFlowTask
Flujo de 2. Clic derecho: Rename y digite: Poblando Clientes
Datos 3. Clic en Execute SQL Tasks, clic en la flecha verde y arrastre hasta
Poblando Clientes
Estableciendo 1. Doble clic sobre Poblando Cliente
el origen 2. En ToolBox en DataFlowSources arrastre OLEDB DataSource y haga
doble clic
3. Desde ConnectionManager
a. OLE DB Connection Manager : localhost.NorthWind
b. Data Access: SQL Command
MCP Ing. Ricardo Mendoza Rivera Página: 25
26. Construcción de un Data WareHouse
Actividad Pasos a Seguir
c. SQL CommandText:
SELECT *, Regioncita = ISNULL(Region, 'Otros')
FROM customers
Estableciendo 1. En ToolBox en DataFlowDestinations , arrastre OLEDB
el Destino DataDestionation
2. Clic en OLE DB DataSource, clic en la flecha verde y arrastre hacia
OLEDB Data Destination
3. Doble Clic en OLEDB DataDestination.
4. Desde ConnectionManager>
a. OLE DB Connection Manager: localhost.NorthWind_Mart
b. Data Access; Table
c. Name: Customer_Dim
Clic en Mappings: y trate de llegar al sgte esquema
Asegurarse de que en Destino Region sea a partir de Regioncita
Grabando y 5. Grabar
Ejecutando el 2. Presione F5 para ejecutar
Paquete
Verificando 5. Cargue el SQL Server Management Studio
Poblamiento 6. Clic en New Query
7. Seleccione la BD: NorthWind_Mart
8. Digite: SELECT * FROM Customer_Dim
Poblando Dimension Tiempo
Actividad Pasos a Seguir
Creando el 1. Desde ToolBox arrastre DataFlowTask
Flujo de 4. Clic derecho: Rename y digite: Poblando Tiempo
Datos 5. Clic en Execute SQL Tasks, clic en la flecha verde y arrastre
hasta Poblando Tiempo
Estableciendo 4. Doble clic sobre Poblando Tiempo
el origen 5. En ToolBox en DataFlowSources arrastre OLEDB DataSource y
haga doble clic
MCP Ing. Ricardo Mendoza Rivera Página: 26
27. Construcción de un Data WareHouse
Actividad Pasos a Seguir
6. Desde ConnectionManager
a. OLE DB Connection Manager : localhost.NorthWind
b. Data Access: SQL Command
c. SQL CommandText:
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
Estableciendo 6. En ToolBox en DataFlowDestinations , arrastre OLEDB
el Destino DataDestionation
7. Clic en OLE DB DataSource, clic en la flecha verde y arrastre
hacia OLEDB Data Destination
8. Doble Clic en OLEDB DataDestination.
9. Desde ConnectionManager>
a. OLE DB Connection Manager: localhost.NorthWind_Mart
b. Data Access; Table
c. Name: time_Dim
Clic en Mappings: y trate de llegar al sgte esquema
Grabando y 1. Grabar
Ejecutando el 2. Presione F5 para ejecutar
Paquete
Verificando 1. Cargue el SQL Server Management Studio
Poblamiento 2. Clic en New Query
3. Seleccione la BD: NorthWind_Mart
4. Digite: SELECT * FROM Time_Dim
MCP Ing. Ricardo Mendoza Rivera Página: 27
28. Construcción de un Data WareHouse
Poblando Dimension Producto
Actividad Pasos a Seguir
Creando el 1. Desde ToolBox arrastre DataFlowTask
Flujo de 2 Clic derecho: Rename y digite: Poblando Producto
Datos 3. Clic en Execute SQL Tasks, clic en la flecha verde y arrastre hasta
Poblando Producto
Estableciendo 1. Doble clic sobre Poblando Tiempo
el origen 2. En ToolBox en DataFlowSources arrastre OLEDB DataSource y
haga doble clic
3. Desde ConnectionManager
a. OLE DB Connection Manager : localhost.NorthWind
b. Data Access: SQL Command
c. Clic en el boton: Build Query
d. Clic derecho: Add Table. Seleccione: Products, Suppliers y
Categories
e. Clic : Add
f. Clic:Close
g. Seleccione las columnas de acuerdo a lo mostrado a
continuación.
h. Clic ok
i. Clic ok
MCP Ing. Ricardo Mendoza Rivera Página: 28
29. Construcción de un Data WareHouse
Actividad Pasos a Seguir
Estableciendo 1. En ToolBox en DataFlowDestinations , arrastre OLEDB
el Destino DataDestionation
2. Clic en OLE DB DataSource, clic en la flecha verde y arrastre hacia
OLEDB Data Destination
3. Doble Clic en OLEDB DataDestination.
4. Desde ConnectionManager>
a. OLE DB Connection Manager: localhost.NorthWind_Mart
b. Data Access; Table
c. Name: Product_Dim
Clic en Mappings: y trate de llegar al sgte esquema
Grabando y 1. Grabar
Ejecutando el 2. Presione F5 para ejecutar
Paquete
Verificando 1. Cargue el SQL Server Management Studio
Poblamiento 2. Clic en New Query
3. Seleccione la BD: NorthWind_Mart
4. Digite: SELECT * FROM Product_Dim
Poblando Dimensión Empleados
Actividad Pasos a Seguir
Creando el 1. Desde ToolBox arrastre DataFlowTask
Flujo de 2. Clic derecho: Rename y digite: Poblando Empleados
Datos 3. Clic en Execute SQL Tasks, clic en la flecha verde y arrastre
hasta Poblando Empleados
Estableciendo 1. Doble clic sobre Poblando Tiempo
el origen 2. En ToolBox en DataFlowSources arrastre OLEDB DataSource y
haga doble clic
3. Desde ConnectionManager
a. OLE DB Connection Manager : localhost.NorthWind
b. Data Access: SQL Command
c. SQL CommandText:
select * , FirstName +',' + LastName as EmployeeName
MCP Ing. Ricardo Mendoza Rivera Página: 29
30. Construcción de un Data WareHouse
Actividad Pasos a Seguir
from employees
Estableciendo 1. En ToolBox en DataFlowDestinations , arrastre OLEDB
el Destino DataDestionation
2. Clic en OLE DB DataSource, clic en la flecha verde y arrastre
hacia OLEDB Data Destination
3. Doble Clic en OLEDB DataDestination.
4. Desde ConnectionManager>
a. OLE DB Connection Manager: localhost.NorthWind_Mart
b. Data Access; Table
c. Name: Employee_Dim
Clic en Mappings: y trate de llegar al sgte esquema
Grabando y 1. Grabar
Ejecutando el 2. Presione F5 para ejecutar
Paquete
Verificando 1. Cargue el SQL Server Management Studio
Poblamiento 2. Clic en New Query
3. Seleccione la BD: NorthWind_Mart
4. Digite: SELECT * FROM Employee_Dim
5. Execute
Poblando Tabla Hecho
Actividad Pasos a Seguir
Creando el 1. Ubicarse en Control Flow
Flujo de 2. Desde ToolBox arrastre DataFlowTask
Datos 3. Clic derecho: Rename y digite: Poblando Tabla Hecho
4. Clic en Poblando Transportistas, clic en la flecha verde y
arrastre hasta Poblando Tabla Hecho.
5. Clic en Poblando Clientes, clic en la flecha verde y arrastre
hasta Poblando Tabla Hecho.
6. Clic en Poblando Tiempo, clic en la flecha verde y arrastre hasta
Poblando Tabla Hecho.
7. Clic en Poblando Productos, clic en la flecha verde y arrastre
MCP Ing. Ricardo Mendoza Rivera Página: 30
31. Construcción de un Data WareHouse
Actividad Pasos a Seguir
hasta Poblando Tabla Hecho.
8. Clic en Poblando Empleados, clic en la flecha verde y arrastre
hasta Poblando Tabla Hecho.
Estableciendo 1. Doble clic sobre Poblando Tabla Hecho
el origen 2. En ToolBox en DataFlowSources arrastre OLEDB DataSource y
haga doble clic
3. Desde ConnectionManager
a. OLE DB Connection Manager : localhost.NorthWind
b. Data Access: SQL Command
c. SQL CommandText:
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)
Estableciendo 10. En ToolBox en DataFlowDestinations , arrastre OLEDB
el Destino DataDestionation
11. Clic en OLE DB DataSource, clic en la flecha verde y arrastre
MCP Ing. Ricardo Mendoza Rivera Página: 31
32. Construcción de un Data WareHouse
Actividad Pasos a Seguir
hacia OLEDB Data Destination
12. Doble Clic en OLEDB DataDestination.
13. Desde ConnectionManager>
a. OLE DB Connection Manager: localhost.NorthWind_Mart
b. Data Access; Table
c. Name: Sales_Fact
Clic en Mappings: y trate de llegar al sgte esquema
Grabando y 1. Grabar
Ejecutando el 2. Presione F5 para ejecutar
Paquete
Verificando 1. Cargue el SQL Server Management Studio
Poblamiento 2. Clic en New Query
3. Seleccione la BD: NorthWind_Mart
4. Digite: SELECT * FROM Sales_Fact
5. Ejecutar
Ejercicio 04. Grabando y Ejecutando el Paquete
1. Hace click en el ícono de grabar.
2. Grabe el paqute con: Poblando el Data Mart para NorthWind
3. Seleccione SQL Server de la lista Location
4. Click OK
Ejecutar el Paquete:
1. Presione el botón grabar
2. Para ejecutar el paquete haga click en el botón execute
3. A continuación observará la ejecución de cada dimensión programada.
4. Si observa ninguna advertencia de error , corrija.
5. Haga click en Done
6. Repita los pasos 2,3, 4 y 5 más veces. Esto le permitirá ver información más tarde.
MCP Ing. Ricardo Mendoza Rivera Página: 32
33. Construcción de un Data WareHouse
Ejercicio 05. Consultando información de NorthWind_mart
1. Ejecutar la siguiente consulta:
SELECT
Product_Dim.ProductName, Product_Dim.CategoryName,
Product_Dim.SupplierName, SUM(Sales_Fact.LineItemQuantity) AS [Total Units Sold]
FROM Sales_Fact
INNER JOIN Product_Dim ON Sales_Fact.ProductKey = Product_Dim.ProductKey
GROUP BY
Product_Dim.ProductName, Product_Dim.CategoryName,
Product_Dim.SupplierName, Sales_Fact.RequiredDate
HAVING (Sales_Fact.RequiredDate < getdate())
2. Realice las sgts consultas de información, que determinan la Jerarquía de los Datos en un Data
WareHouse en la dimensión productos
a. Consultando Productos
select ProducName,
SUM(LineItemQuantity) as cantidad, SUM(LineItemTotal) AS total
from sales_fact sf inner join product_Dim p on sf.productKey = p.ProductKey
GROUP BY ProductName
b. Consultando Categorías - Productos
select CategoryName, ProductName,
SUM(LineItemQuantity) as cantidad, SUM(LineItemTotal) AS total
from sales_fact sf inner join product_Dim p on sf.productKey = p.ProductKey
GROUP BY CategoryName, ProductName
ORDER BY CategoryName, ProductName
c. Consultando Proveedores – Categorias – Productos
select SupplierName, CategoryName, ProductName,
SUM(LineItemQuantity) as cantidad, SUM(LineItemTotal) AS total
from sales_fact sf inner join product_Dim p on sf.productKey = p.ProductKey
GROUP BY SupplierName, CategoryName, ProductName
ORDER BY SupplierName, CategoryName, ProductName
3. Realice las consultas que determinen la jerarquía de la dimensión Clientes:
a. Para el cliente
b. Ciudad - Cliente
c. Region – Ciudad – Cliente
d. País – Región – Ciudad – Cliente
4. Se quiere un realizar un análisis de las ventas de las productos por años. Ejecute las sgts. Consulta:
select t.year, ProductName,
SUM(LineItemQuantity) as cantidad, SUM(LineItemTotal) AS total
from sales_fact sf inner join product_Dim p on sf.productKey = p.ProductKey
inner join time_Dim t on sf.TimeKey = t.TimeKey
GROUP BY t.year, ProductName
Suponga que sólo quiere analizar el producto: Queso Manchego La Pastora , en qué año se vendió más.
Se puede determinar en qué trimestre las ventas fueron mayores y en que mes?
5. Haga un análisis de las ventas por categorías en el tiempo. Determine el mejor mes de venta de una
categoría determinada.
6. Haga un análisis de las ventas por cliente en el tiempo. Determine la mejor semana de venta de un
región determinada.
MCP Ing. Ricardo Mendoza Rivera Página: 33
34. Construcción de un Data WareHouse
Lab 4: Creando Cubos
Objetivos
· Crear dimensiones privadas y compartidas
· Crear un Cubo
· Diseñar agregaciones y campos calculados
A. Creando el Proyecto de Analysis Services y definiendo el Origen de
Datos
Actividad Pasos a seguir
Ingresando 1. Iniciar el SQL Server Business Intelligent Development Studio.
al SQL 2. Desde el menu elegir: File – New Proyect, con lo que se activa
Server la séte interfaz
Business
Intelligent
Development
Studio
3. Tipo de Proyecto: Business Intelligent
4. Templates: Análisis Services Project
5. Name: PyNorthWind
6. Clic Ok, con lo que se activa la interfaz siguiente:
MCP Ing. Ricardo Mendoza Rivera Página: 34
35. Construcción de un Data WareHouse
Actividad Pasos a seguir
Creando el 1. Ubicarse en el Explorador de Soluciones, clic derecho sobre Data
Data Source Source: New Data Source.
2. Aparece la Pantalla de Presentacion del Asistente: clic Next
3. Clic en New: con lo que se activa:
MCP Ing. Ricardo Mendoza Rivera Página: 35
36. Construcción de un Data WareHouse
Actividad Pasos a seguir
4. Clic: Next: seleccione: Service Account
5. Clic: Finish
Creando el 1. Ubicarse en el Explorador de Soluciones, clic derecho sobre Data
Data Source Source: New Data Source View.
View 2. Aparece la Pantalla de Presentacion del Asistente: clic Next
3. Clic en New:
MCP Ing. Ricardo Mendoza Rivera Página: 36
37. Construcción de un Data WareHouse
Actividad Pasos a seguir
4. Clic Next – Debe aparecer NorthWind
5. Click en : >>
6. Clic Next
7. Clic: Finish
Al finalizar obtendrá la sgte interfaz:
MCP Ing. Ricardo Mendoza Rivera Página: 37
38. Construcción de un Data WareHouse
Actividad Pasos a seguir
Definiendo un Cubo
Actividad Pasos a seguir
Creando el 1. En el explorador de soluciones, clic derecho sobre Cubes, y
Cubo y sus clic en New Cube.
Propiedades 2. En la pagina de bienvenida Clic Next
3. En Select Build Method verifique que se encuentre
seleccionado: Build the cube using DataSource y este
seleccionada el check AutoBuild. Clic Next
4. En Select Data Source View, asegurarse de estar
seleccionado : NorthWind_Mart, clic Next
5. En Detecting Fact and Dimension Tables clic Next
6. En Identifying Fact and Dimension Tables, asegurarse de
seleccionar de acuerdo a las sgte interfaz
MCP Ing. Ricardo Mendoza Rivera Página: 38
39. Construcción de un Data WareHouse
Actividad Pasos a seguir
Asegurarse de haber seleccionado: Time_dim en Time Dimension table
y haga clic en Next
7. En Select Time Periods, haga la selección de acuerdo a la
interfaz mostrada.
MCP Ing. Ricardo Mendoza Rivera Página: 39
40. Construcción de un Data WareHouse
Actividad Pasos a seguir
Clic Next
8. En Select Measures, clic Next
9. En Detecting Hierarchies, clic Next
10. En Review New Dimensions, verifique que solo ha
autodetectado Jerarquias en Time_Dim, clic Next
MCP Ing. Ricardo Mendoza Rivera Página: 40
41. Construcción de un Data WareHouse
Actividad Pasos a seguir
11. Clic Finish
12. Este es el aspecto final del Cubo
13. Grabar
MCP Ing. Ricardo Mendoza Rivera Página: 41
42. Construcción de un Data WareHouse
Visualizando el Cubo Creado
Actividad Pasos a seguir
Visualizando 1. En dimensiones ubiquese en Time_Dim y expandalo
Dimensiones 2. Clic en Edit , y visualice la dimension con las jeraquias creadas.
Observe que puede tener mas de una jerarquia por cada
dimension, esto es mas trasparente ahora que en versiones
anteriores.
Desplegando 1. Presione : F5
el proyecto
MCP Ing. Ricardo Mendoza Rivera Página: 42
43. Construcción de un Data WareHouse
Visualizando 1. Clic sobre la ficha: Browser.
Datos de la
dimensión
tiempo
2. Navegue sobre la jerarquias y atributos
MCP Ing. Ricardo Mendoza Rivera Página: 43
44. Construcción de un Data WareHouse
Visualizando
Datos del 1. Visualice el sgte esquema
Cubo
2. Haga Clic en la Ficha Design
3. Luego clic en Browser
4. Arrastre a Filas: time_dim - Year Quarter Month
5. Arrastre a Campos: Product_dim -- CategoryName
6. Arrastre a Filtro: Employee_Dim – EmployeeName
7. Measures: LineItem Total
8. Apariencia de la Visualizacion
Navegue de acuerdo a su gusto, recuerda que aun no hay jerarquías
establecidas salvo la dimensión tiempo, en el ejercicio siguiente crearemos las
jerarquías respectivas.
MCP Ing. Ricardo Mendoza Rivera Página: 44
45. Construcción de un Data WareHouse
Creando Jerarquías en las Dimensiones
Actividad Pasos a seguir
Creando 1. Clic en la ficha Cube Structure
jerarquias en 2. Expanda la Dimension Customer_dim y clic en Edit Customer
la dimension 3. Visualice en sgte esquema: Attributes y Hierarquies and Levels
Customer_dim
4. Arrastre : Country - desde Attributes a Hierarquies
5. Arrastre debajo de Country : Region
6. Arrastre debajo de Region: City
7. Arrastre debajo de City: CompanyName
8. Ubique en Propiedades Name y digite: Pais-Region-Ciudad-Cia
9. Creando Otra Jerarquia:
10.Arrastre : Country - desde Attributes a Hierarquies
11.Arrastre debajo de Region: City
12.Arrastre debajo de City: CompanyName
13.Ubique en Propiedades Name y digite: Country-Ciudad-Cia
14.Visualice el Esquema Final
MCP Ing. Ricardo Mendoza Rivera Página: 45
46. Construcción de un Data WareHouse
Visualizando 1. Procesando Dimension
datos de la 2. Clic en el Menu: Dimension – Process
dimension: 3. Clic en Run
Customer 4. Clic Close
5. Clic en Browser y navegue por las jerarquias respectivas
Creando las 1. Crear la jerarquias con los atributos: CategoryName,
Jerarquias de SupplierName, ProductName y nombrela: Categoría-Proveedor-
la Dimension Producto
Product_Dim 2. Crear la jerarquias con los atributos: CategoryName,
ProductName y nombrela: Categoría-Producto
3. Crear la jerarquia con los atributos: SupplierName,
ProductName y nombrela: Proveedor-Producto
4. Luego visualice los datos.
MCP Ing. Ricardo Mendoza Rivera Página: 46
47. Construcción de un Data WareHouse
Agregar un campo calculado a su cubo
Actividad Pasos a seguir
Creando 1. Asegurarse de estar ubicado Cube Structure
Campo
Calculado
2. Clic en Calculations y visualice el sgte esquema.
3. Clic en la barra de herramientas: New Calculated Member
4. Nombre de Campo: ValorNeto
5. Expresión: [Measures].[Line Item Total] -
[Measures].[Line Item Discount] -- puede arrastrar
desde medidas
6. Format String: Currency
7. Non-Empty behaviour: LineItemTotal , LineItemDiscount
Desplegar 1. En el menú elegir: Build – Deploy PyNothWind
MCP Ing. Ricardo Mendoza Rivera Página: 47
48. Construcción de un Data WareHouse
Visualizando 1. Clic en browser
el Cubo 2. Clic Reconnect -- desde la barra de herramientas.
3. Ubique en Measures y verifique el campo calculado creado
MCP Ing. Ricardo Mendoza Rivera Página: 48
49. Construcción de un Data WareHouse
Lab 5: Analizando Datos Usando
Clientes
Objetivos
· Analizar datos con drill up y drill down
· Generando una Pivot Table Report usando Excel 2003
· Visualizar los datos por medio de un gráfico en Excel 2003
· Desarrollar un proyecto Windows en Visual Studio .NET 2005
Desarrollo del Laboratorio
Ejemplo 1. Conectarse al Cubo Ventas
· Cargar Excel 2003
· Seleccionar la opción Datos - Informe de tablas y gráficos dinámicos
· Al aparecer el asistente elegir:
Dónde están los datos Fuente de datos externa
· Click en: Obtener Datos, seleccione la ficha: Cubos OLAP
· Doble click: Nuevo Orígen de Datos e ingrese la sgte. información
Opción Valor
Nombre orígen de datos NorthWind_Cubo_Ventas
Proveedor OLE DB Microsoft OLE DB Provider for Analysis
Services 9.0
Conectar a Proveedor OLE DB Click Conectar
Localización OLAP Server
Multidimensional Connection 9.0 <digitar el nombre de su servidor>. Dejar
en blanco: usuario y password
Database PyNorthWind
Seleccione un Cubo North Wind Mart
· Click Aceptar
· Clic Aceptar
· Click Siguiente
· Click Finalizar
Este es la interfaz para la creación de información.
MCP Ing. Ricardo Mendoza Rivera Página: 49
50. Construcción de un Data WareHouse
Ejemplo 2. Creando el Reporte de Ventas desde los datos del OLAP
Ubicar dimensiones y medidas en la Tabla dinámica
· Haga un drag and drop de los sgts elementos desde la barra de herramientas
Elemento Ubicación
Pais-Region-Ciudad-Cia Coloque páginas de campo
Categoría Producto Campos de fila
Year – Quarter – YearMonth Coloque campos de columna
LineItemQuantity Coloque datos
Ejemplo 3. Analizando datos
Usar la Tabla dinámica
· En la tabla dinámica: en Year click en la lista drop-down, limpie el check 1996 y
1998.
· Click 1997 , aparecerá una marca doble
· Expanda 1997 y click cada quarter , aparecerá una marca doble
· click OK
· Para reducir el nivel de detalle, doble click cualquier celda que tenga el valor 1997.
MCP Ing. Ricardo Mendoza Rivera Página: 50
51. Construcción de un Data WareHouse
· Para expandir haga doble click
· Intente presentar la información mensualmente y luego presente los datos del
LineItemQuantity a nivel de CategoryName, Year.
Consultando datos: realice las sgts consultas y luego grabe los datos.
· Cuáles son las ventas de Grain/Cereals para USA, en November 1997
· Cómo se compara este valor con las ventas de United Kingdom (U.K.)para el
mismo período.
· Cómo son las cantidades vendidas en Confections el primer quarter de 1997
comparadas con el primer quarter de 1998
· Qué productos tienen las mayores ventas en London para el 2do trimestre de 1997
de la categoría Confecciones.
· En qué trimestre del año 1997 en el estado WA de USA se vendió más Dairy
Products
· Cuál fué la categoría de productos más vendida y que año en USA
· En qué mes del 2do trimestre del 1997 se vendieron más items de la categoría
Beverages
Ejemplo 4. Creando un gráfico usando data existente
Creando un gráfico
· Mostrar London y todas las categorías de los productos del 1er trimestre de 1997 y
1er trimestre de 1998
· Haga click en Asistente de gráficos
Creando un gráfico tridimensional
· Click botón derecho y elija: Tipo de gráfico
· En Tipos seleccione: Gráficos de Columna 3D, el resultado debe ser el siguiente
MCP Ing. Ricardo Mendoza Rivera Página: 51
52. Construcción de un Data WareHouse
· Click Year y marque todos los trimestres disponibles de 1997 y 1998.
· Cambie el tipo de grafico a: gráfico de columnas.
Cuál fue la venta más alta para el cliente: Around Horn- especifique año- trimestre
y categoría.
· Vaya a la hoja de cálculo y grabe el archivo
Ejemplo 5. Creando un archivo de Cubo Local
Creando un Cubo Local
· Ubicarse en la Hoja de cálculo
· En la barra de Tabla dinámica seleccione: OLAP Sin Conexión
· Click: Crear archivo datos sin Conexión
MCP Ing. Ricardo Mendoza Rivera Página: 52
53. Construcción de un Data WareHouse
· Clic: Sgte
Opción Valor
Dimensiones seleccione todos los niveles para cada
dimensión que aparece con Chech
Nivel superior objetos Country: Selección USA
Year: 1998.
Ubicación archivo C:
Nombre archivo Ventas.Cub
· Clic Aceptar.
· Cierre el archivo, sin grabar
Ejemplo 6. Conectándose a un Cubo Local
Conectando un Cubo Local
· Crear una nueva Hoja de Cálculo
· Seleccionar la opción Datos - Informe de tablas y gráficos dinámicos
· Al aparecer el asistente elegir:
Dónde están los datos Fuente de datos externa
Clase de Reporte Tabla dinámica
· Click en: Obtener Datos, seleccione la ficha: Cubos OLAP
· Doble click: Nuevo Orígen de Datos e ingrese la sgte. información
Opción Valor
Nombre orígen de datos NorthWind_Cubo_Ventas_Local
Proveedor OLE DB Microsoft OLE DB Provider for SQL Server
Conectar a Proveedor OLE DB Click Connect
Localización Archivo Cubo
Nombre archivo C:Ventas.Cub
· Click Aceptar
· Click Next
· Click Finalizar
Ubicando dimensiones
· Crear una nueva Hoja de Cálculo
· Seleccionar la opción Datos - Informe de tablas y gráficos dinámicos
Elemento Ubicación
Customer Coloque páginas de campo
Time Campos de fila
Product Coloque campos de columna
LineItemTotal Coloque datos
MCP Ing. Ricardo Mendoza Rivera Página: 53
54. Construcción de un Data WareHouse
Ejemplo 7. Conectándose a un Cubo Local desde Visual Studio NET 2005
Verificando los Web Office Components 11 : owc11
1. Verifque los Web Office Componentes 11 se encuentren instalados. Ingrese al
Panel de Control – Clic en Agregar o quitar programas y verifique de acuerdo al
sgte esquema. Asegurarse que la versión sea la 11
2. Sino tuviera instalado o tenga otra version: ejecute el archivo:
office 2003 web ccomponents11.exe
Abriendo el Proyecto
Haga doble clic sobre : WebOW.sln
MCP Ing. Ricardo Mendoza Rivera Página: 54