Vous êtes sur la page 1sur 173

Inteligencia de

Negocios
Laboratorio

















2

CARRERAS PROFESIONALES CIBERTEC












































I NTELI GENCI A DE NEGOCI OS LABORATORI O 3

CIBERTEC CARRERAS PROFESIONALES



ndice

Presentacin 5
Sesiones de aprendizaje
SEMANA 1 - SEMANA 2
: Soluciones OLAP
Instalacin de SQL Server Analysis Services
Instalacion de SQL Server Integration Services
Entorno del Servidor de Analysis Services.
7
SEMANA 3 - SEMANA 4
: Modelamiento dimensional Caso prctico
(Parte 1)
Herramientas ETL (Integration Services)

31
SEMANA 5 - SEMANA 6
: Modelamiento dimensional (Parte 2)
Herramientas ETL (Integration Services) -
Avanzado

81
SEMANA 7
: Semana de exmenes parciales de teora


SEMANA 8
: Semana de exmenes parciales de laboratorio


SEMANA 9 - SEMANA 10
: Modelamiento dimensional - Cubos (Parte 3)


105
SEMANA 11 - SEMANA 12
: Creacin de cubos Personalizacin (Parte 4) 119

SEMANA 13 - SEMANA 14
: Explotacin de datos Parte (5) 145

SEMANA 15 - SEMANA 16
: Sustentacin de proyectos 173

4

CARRERAS PROFESIONALES CIBERTEC



































































I NTELI GENCI A DE NEGOCI OS LABORATORI O 5

CIBERTEC CARRERAS PROFESIONALES

Presentacin


Una buena toma de decisiones debe estar soportada en un anlisis exhaustivo de la
realidad. La importancia de tener diversas perspectivas del negocio es imprescindible.

El presente manual, desarrolla la manera de implementar una solucin analtica
basada en un proceso de datawarehousing. Las herramientas empleadas permiten
que el usuario (quien toma las decisiones), tenga diversas formas de ver su realidad y
lo ms importante es que le permite a l mismo crear sus propias perspectivas de su
realidad. Para esto se desarrolla un ejemplo completo de implementacin de una
solucin OLAP, desde la definicin de los indicadores (signos vitales de una
organizacin), pasando por el modelamiento analtico, la implementacin de
estructuras conocidas por cubos (vista analtica personalizada al usuario) hasta la
explotacin de datos en herramientas Office y su publicacin en Internet.

Este material esta dividido en sesiones. Cada sesin tiene objetivos, contenidos y
actividades que permitirn afianzar el logro de los objetivos.

Las sesiones han sido elaboradas, tambin, sobre la base de diversos textos sobre el
tema y publicaciones en Internet que aparecen en la bibliografa del curso. Estos
resmenes, en algunos casos, contienen copias literales de fragmentos de estas
fuentes, los cuales han sido complementados con comentarios del autor para un mejor
entendimiento del tema.

Se recomienda la lectura del material de la sesin correspondiente antes de asistir a
clase, con el fin de fomentar la discusin del tema y facilitar la comprensin del mismo.








6

CARRERAS PROFESIONALES CIBERTEC

I NTELI GENCI A DE NEGOCI OS LABORATORI O 7

CIBERTEC CARRERAS PROFESIONALES

Soluciones OLAP

OBJETIVOS ESPECFICOS
Mostrar, manipular y reconocer la importancia de una solucin OLAP
Ejecutar los comandos SQL relacionados con la sumarizacin de registros
Aplicar el proceso de instalacin del servidor OLAP

CONTENIDOS
Business Intelligence (BI)
o - Microsoft Excel (Tablas Dinmicas) - Web Components
Microsoft SQL Server 2005 - TSQL
Instalacin de SQL Server Integration Services (SSIS)
Instalacin de SQL Server Analysis Services (SSAS)

ACTIVIDADES
Repasan los comandos de consulta de datos SQL
Instalan SQL Server Analysis Services (SSAS) y SQL Server Integration Services
(SSIS)


S E M A N A
1-2
8

CARRERAS PROFESIONALES CIBERTEC

1. BUSINESS INTELLIGENCE

Una de las operaciones fundamentales, en el proceso administrativo, es la toma
de decisiones, la cual determinar el xito o fracaso de una empresa.

El 75% de los gerentes toman sus decisiones con informacin
incompleta y fuera de fecha. Fuente: CFO Magazine 1999

La tecnologa no puede estar ajena a esta necesidad. Es por ello que empresas
como Microsoft, Oracle, IBM e Informix han desarrollado productos Business
Intelligence.

Business Intelligence describe la habilidad de la empresa para accesar
y explorar la informacin (a menudo contenida en un data warehouse) y
analizarla para desarrollar un entendimiento profundo que nos permitir
tomar mejores decisiones. Gartner Group



Recuerde que no solo es el intercambio de productos entre empresas (B2B),
entre empresa y consumidor (B2C), entre consumidor y empresa (C2B) o entre
consumidores (C2C), sino el agregar VALOR a dichos intercambios.

Un ejemplo concreto de xito de e-business,

Carrefour: proveedores virtuales
IBM Argentina desarroll una aplicacin de e-business para Carrefour Argentina con las ms
modernas tecnologas, que le permiti poner en marcha Servicios On Line: un canal de informacin
eficaz, exclusivo para sus proveedores, para la gestin del ciclo de cobranzas, desde la entrega de
la mercadera hasta la acreditacin en la cuenta bancaria. Con este servicio, los proveedores se
benefician ya que reducen sus costos administrativos y financieros, aumentan su capacidad de
financiacin y acceden a informacin sobre sus cuentas corrientes. Las ventajas para Carrefour se
resumen en acceder a maneras ms eficientes a mejorar su relacin con los proveedores, eliminar
el uso de papel en el ciclo de gestin de cobranzas, y contar con informacin confiable y precisa las
24 horas, los 365 das del ao.

Fuente : OfficeNet
Url : http://www.officenet.com.ar/portal_tendencias.asp?Id_tendencia=15



I NTELI GENCI A DE NEGOCI OS LABORATORI O 9

CIBERTEC CARRERAS PROFESIONALES


1.1 Sistemas transaccionales

Los sistemas transaccionales se basan en transacciones, es decir, tienen un
proceso de inicio y fin claramente definidos y no pueden ser interrumpidos en
el proceso general. Como ejemplo, tenemos los sistemas tradicionales de
facturacin, ventas, matrcula, notas, caja, etc.

Estos sistemas estn orientados a las funciones que cumple el usuario del
sistema, es decir, existen operaciones sobre registros (ingreso, modificacin,
eliminacin) que se realizan diariamente y los reportes estn orientados al
detalle de las operaciones efectuadas.

Este tipo de sistemas usa la tecnologa OLTP (On line Transactional
Processing)

1.2 Sistemas analticos

Los sistemas analticos estn basados en la informacin del sistema
transaccional, es decir, no existe ingreso de datos por parte del usuario
y los reportes estn orientados a la sumarizacin de la informacin.

El objetivo principal de un sistema analtico es brindar informacin base
para la toma de decisiones. Este tipo de sistemas usa la tecnologa
OLAP (On line Analytical Processing)

1.3 Nuevos conceptos: datawarehouse - datamart

Los componentes de los sistemas Business Intelligence proporcionan,
primero, la tecnologa OLAP, que nos brinda tcnicas y pautas en cuanto a
modelamiento y manejo de data; y, segundo, las herramientas BI, que son
herramientas grficas que permiten el anlisis en lnea. Como resultado de su
interrelacin, se crearon dos nuevos tipos de bases de datos: data warehouse
y datamart.

El Data Warehouse (DWH) es una coleccin de datos integrada en
una Base de Datos, orientada segn un tema, diseadas para
soportar un Sistema de Soporte a las Decisiones (DSS), donde cada
unidad de dato es relevante en algn momento del tiempo.
Bill Inmon

Un data warehouse es un conjunto de datos integrados orientados a
una materia, que vara en el tiempo y que no son transitorios, los cuales
soportan el proceso de toma de decisiones de una administracin.
Harjinder S. Gil

Un datamart es un subconjunto de un data warehouse, orientado
especficamente a un rea de la empresa.
10

CARRERAS PROFESIONALES CIBERTEC

1.4 Proceso datawarehouse

El proceso de desarrollo datawarehouse, en forma general, es el siguiente:



2. Muestra de una solucin analtica

Vamos a mostrar la potencia de una soluciona analtica, empleando dos herramientas:

Microsoft Excel
Web Components

El usuario final siempre requiere tener la informacin justa y al momento, lo cual es un
desafo para cualquier sistema transaccional. Generalmente, los reportes provistos por
el sistema transaccional no son lo suficientemente personalizables, lo cual ocasiona
nuevos requerimientos para el departamento de sistemas. En conclusin, a ms
requerimientos ms tiempo invertido.

Usando la base de datos Northwind, se presentar diversas maneras de analizar la
informacin con el empleo de Microsoft Excel y los Web Components.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 11

CIBERTEC CARRERAS PROFESIONALES



Cuadro N1: Anlisis mostrado.
Total facturado. Agrupado por categoras para el ao 1996



12

CARRERAS PROFESIONALES CIBERTEC


Cuadro N2: Anlisis mostrado
Comparacin del total facturado. Agrupado por categoras para los aos 1996 y 1998






Para seleccionar el ao 1998 en el anlisis anterior, solo debe seleccionarlo de la lista.


I NTELI GENCI A DE NEGOCI OS LABORATORI O 13

CIBERTEC CARRERAS PROFESIONALES



Cuadro N3: Anlisis mostrado
Comparacin del total facturado. Agrupado para las categoras (grains cereal y meta
poultry) para los aos 1996 y 1998. Adems, podemos observar el detalle de la categora
meat poultry

















14

CARRERAS PROFESIONALES CIBERTEC





Pregunta



Cuadro N4: Anlisis mostrado.
Defina: Qu anlisis se est mostrando?














I NTELI GENCI A DE NEGOCI OS LABORATORI O 15

CIBERTEC CARRERAS PROFESIONALES




Pregunta



Cuadro N5: Anlisis mostrado.
Defina: Qu anlisis se est mostrando?















16

CARRERAS PROFESIONALES CIBERTEC



Pregunta



Cuadro N6: Anlisis mostrado.
Defina: Qu anlisis se est mostrando?






3. MICROSOFT SQL SERVER 2005 Y SQL SERVER ANALYSIS
SERVICES

Existen diferentes herramientas para Inteligencia de negocios, Business
Intelligence o simplemente BI. Entre ellas tenemos: Business Objects, Oracle
Discoverer, MicroStrategy, Cognos, Hyperium Analyzer y Microsoft Analysis
Services.

Para el presente curso, usaremos el Analysis Services de Microsoft SQL Server
2005 como Servidor de Anlisis y SQL Server Business Intelligence Development
I NTELI GENCI A DE NEGOCI OS LABORATORI O 17

CIBERTEC CARRERAS PROFESIONALES

Studio como herramienta de desarrollo. El usuario final podr explotar y visualizar
la informacin a travs de herramientas como Microsoft Excel y/o pginas Web
utilizando el OWC (Office Web Components).

Las herramientas Microsoft que permiten manejar el proceso datawarehousing
son las siguientes:

SQL Server 2005 .- Manejador de bases de datos relacionales
SQL Server Integration Services (SSIS).- Transforma y carga datos entre
diferentes fuentes de datos
SQL Server Analysis Services (SSAS).- Manejador de bases de datos
multidimensionales.
SQL Server Reporting Services (SSRS).- Servidor de reportes
SQL Server Business Intelligence Development Studio.- Herramienta que
permite el desarrollo de proyectos de Inteligencia de negocios.

3.1 Plataforma de SQL Server 2005 complete e integrada





3.2 Base de Datos Northwind

Para el desarrollo del laboratorio, partiremos de la base de datos
transaccional Northwind. Dicha base de datos contiene los datos de ventas
para una compaa ficticia llamada Northwind Traders, la cual importa y
exporta la lnea de comidas alrededor del mundo. El modelo de datos es el
siguiente:
INTELIGENCIA DE NEGOCIOS LABORATORIO 19
CARRERAS PROFESIONALES CIBERTEC
3.3 Revisin de comandos SQL Server

Sobre la base a la estructura de la base de datos Northwind, revisaremos los
comandos SQL:

1- Total facturado agrupado por categoras para el ao 1996
(implementacin para el Cuadro Nro. 1).

SELECT c.CategoryName, SUM(d.UnitPrice * d.Quantity) as
Total_Facturado
FROM Categories c
JOIN Products p ON c.CategoryID = P.CategoryID
JOIN [Order Details] d ON p.ProductID = d.ProductID
JOIN Orders o ON o.OrderID = d.OrderID
WHERE YEAR(o.OrderDate)=1996
GROUP BY c.CategoryName


2- Comparacin del total facturado agrupado por categoras para los aos
1996 y 1998 (implementacin para el Cuadro Nro. 2).
.
SELECT Year(o.OrderDate) as Ao,
c.CategoryName,
SUM(d.UnitPrice * d.Quantity) as Total_Facturado
FROM Categories c
JOIN Products p ON c.CategoryID = P.CategoryID
JOIN [Order Details] d ON p.ProductID = d.ProductID
JOIN Orders o ON o.OrderID = d.OrderID
WHERE YEAR(o.OrderDate) = 1996
GROUP BY Year(o.OrderDate),c.CategoryName
UNION
SELECT Year(o.OrderDate) as Ao,
c.CategoryName,
SUM(d.UnitPrice * d.Quantity) as Total_Facturado
FROM Categories c
JOIN Products p ON c.CategoryID = P.CategoryID
JOIN [Order Details] d ON p.ProductID = d.ProductID
JOIN Orders o ON o.OrderID = d.OrderID
WHERE YEAR(o.OrderDate) = 1998
GROUP BY Year(o.OrderDate),c.CategoryName





20
CARRERAS PROFESIONALES CIBERTEC
3- Implemente el total facturado por cliente y ao

SELECT c.ContactName,
Year(o.OrderDate) as Ao,
Sum(d.UnitPrice * d.Quantity) as Total_Facturado
FROM "Order Details" d
JOIN Orders o ON d.OrderID = o.OrderID
JOIN Customers c ON c.CustomerID = o.CustomerID
group by c.contactName, Year(o.OrderDate)

4- Implemente la siguiente consulta, liste el total facturado por pas de cliente
agrupado por ao.






I NTELI GENCI A DE NEGOCI OS LABORATORI O 21

CIBERTEC CARRERAS PROFESIONALES
4. INSTALACIN DE SQL SERVER INTEGRATION SERVICES
(SSIS) Y SQL SERVER ANALYSIS SERVICES (SSAS).

4.1 Requerimientos mnimos.

A. Pentium III de 600MHz o superior

B. Windows XP con SP2 o superior; Windows 2000 Server con SP4 o superior;
Windows Server 200 Server con SP1 o superior

C. 512MB de Ram o superior (1GB Recomendado)

D. Aprox. 350MB de espacio en Disco. (450MB ms si se desea instalar Ejemplo y
servicios adicionales)

E. Microsoft Internet Explorer 6.0 SP1 o superior

4.2 Secuencia de instalacin de SSIS y SSAS.

A. Insercin del DVD de instalacin del SQL SERVER 2005

B. Se mostrar la siguiente pantalla debido al autorun del CD.




22
CARRERAS PROFESIONALES CIBERTEC
C. Dar clic para aceptar las condiciones del contrato y clic en next




D. SQL Server 2005 mostrar la pantalla del Asistente de instalacin de Microsoft
SQL Server. Clic en Siguiente.
E. Aparecen la lista de prerrequisitos que necesita SQL Server 2005 para instalar.
Valide que todos estn en estado correcto. Clic en siguiente





I NTELI GENCI A DE NEGOCI OS LABORATORI O 23

CIBERTEC CARRERAS PROFESIONALES
F. Ingrese la clave del producto.(*). Clic en next




(*) La versin de evaluacin, SQL Server 2005 Enterprise Edition, que ofrece Microsoft
omite este paso. (http://www.microsoft.com/sql/downloads/trial-software.mspx)

G. Seleccionar los componentes a Instalar. Clic en siguiente






24
CARRERAS PROFESIONALES CIBERTEC
H. Si deseamos instalar una instancia adicional o la instancia por defecto.
seleccionamos Default Instante. Clic en next





I. Solicitar la cuenta con la cual se iniciar los servicios de SSAS y SSIS. Se
deber colocar la cuenta Administrador y su password. Clic en next



I NTELI GENCI A DE NEGOCI OS LABORATORI O 25

CIBERTEC CARRERAS PROFESIONALES
J. Solicita la seleccin de la coleccin de caracteres a utilizar. Dejamos el default.
Clic en next
K. Si existe algn error durante la instalacin, indica si este debe ser enviado o no
a Microsoft. Clic en next.
L. Solicita el inicio de la instalacin. Clic en Install.





M. Inicia el proceso de instalacin hasta terminar de instalar todos los
componentes seleccionados. Clic en Siguiente




26
CARRERAS PROFESIONALES CIBERTEC

N. Fin de la instalacin. Clic en Finalizar


4.3 Ejecucin y configuracin del servidor de anlisis

A. SQL Server 2005 administra los servicios que utiliza desde el SQL Server
Configuration Manager, el cual permite configurar los servicios utilizados





B. El proceso de instalacin agrega 2 servicios al SQL Server Configuration
Manager de SQL Server 2005







I NTELI GENCI A DE NEGOCI OS LABORATORI O 27

CIBERTEC CARRERAS PROFESIONALES
Es posible verificar los servicios del SQL SERVER desde el administrador de
servicios del Sistema Operativo.





C. Ingreso al servidor de Anlisis Services.





D. Seleccionar como tipo de Servidor : Analysis Services. Colocar como nombre del
servidor : Localhost. Clic en Conectar



28
CARRERAS PROFESIONALES CIBERTEC
E. Reconocimiento de los componentes del Servidor de Analysis Manager.









Servidor de anlisis

Base de datos OLAP
Origen de datos
Cubos



Dimensiones

F. Luego podremos visualizar los cubos de la siguiente manera.





I NTELI GENCI A DE NEGOCI OS LABORATORI O 29

CIBERTEC CARRERAS PROFESIONALES
Autoevaluacin




1. Elabore un diagrama en el cual relacione los conceptos Business Intelligence,
Data Mart, Data Warehouse, SQL Server, Sistemas Transaccionales y
Sistemas Analticos.

2. Luego de observar el modelo de datos del Northwind:

a) Encuentre la antigedad en aos de cada empleado en la empresa

b) Indique cul es el producto que ms vende

c) Encuentre el producto que no se vendi en el primer trimestre del ao
1997, con referencia al maestro de productos.

3. Realice la instalacin del SQL Server Analysis Services y SQL Server
Integration Services.
30
CARRERAS PROFESIONALES CIBERTEC

Para recordar



1. Un sistema transaccional est orientado al ingreso de datos por parte del
usuario, por lo que se actualiza diariamente.

2. Un sistema analtico est orientado a consultas sumarizadas y no requiere el
ingreso de datos, pero requiere una actualizacin peridica del sistema
transaccional.

3. Un sistema analtico no mejora los procesos operacionales existentes en la
empresa. Su funcin est orientada a mejorar los procesos de toma de
decisiones.

4. Los comandos SQL permiten realizar operaciones de consultas sumarizadas;
sin embargo, el proceso se hace ms lento de acuerdo a la complejidad del
diseo de datos.




























I NTELI GENCI A DE NEGOCI OS LABORATORI O 31

CIBERTEC CARRERAS PROFESIONALES













Modelamiento Dimensional ETL
OBJETIVOS ESPECFICOS
Identificar el modelo de datos Northwind
Mostrar la base de datos analtica de Northwind y la base de datos de Trabajo
Crear un Proyecto de ETL utilizando SQL Server Integration Services

CONTENIDOS
Revisin de Tablas de la base de datos Northwind
Creacin de la Base de datos Northwind_Mart
Creacin de la Base de datos Northwind_Stage
Creacin de un Proyecto de ETL utilizando SQL Server Integration Services
o Ingreso al entorno de desarrollo del SQL Server Business Intelligence
Development Studio
o Definicin de Origen de datos, Conexiones, flujos de control y flujo de datos

ACTIVIDADES
Construye un modelo dimensional en base a la base de datos pubs.
3-4
S E MA N A
32
CARRERAS PROFESIONALES CIBERTEC

1. IDENTIFICAR EL MODELO DE DATOS DE NORTHWIND

La base de datos Northwind almacena el registro de las rdenes solicitadas por
diversos clientes situados en varios pases. Dichas rdenes estn conformadas
por los productos ofrecidos los cuales estn agrupados por categoras.

1.1. Revisin de Tablas Northwind

La base de datos Northwind esta conformada por las siguientes tablas (Solo
mencionaremos aquellas necesarias para el curso).


Customers (Clientes) La tabla registra la informacin relacionada con la
cartera de clientes con la que trabaja Northwind.
Dicha tabla contempla, el nombre de la compaa, el
nombre del contacto, la direccin, la regin, ciudad,
pas, entre otros campos.

Employees (Empleados) La tabla registra la informacin relacionada con los
empleados que atienden las rdenes en Northwind.
Dicha tabla contempla los apellidos, nombre, fecha de
contratacin, fecha de nacimiento, as como el
superior inmediato del empleado, entre otros campos.

Categoras (Categoras) La tabla registra la informacin relacionada con las
categoras que agrupan varios productos.

Products (Productos) La tabla registra la informacin de los productos que
son solicitados en las rdenes, como nombre del
producto, categora asociada, precio unitario,
proveedor, unidad de medida, estado del producto,
entre otros campos.

Orders (Ordenes) La tabla registra los movimientos de cada orden
generada, en la cual se consigna el cliente solicitante,
el empleado que la atiende, la fecha, entre otros
campos.

Order Details (Detalle de
Ordenes)
La tabla registra el detalle de cada lnea de producto
de cada orden generada, es decir, el producto, la
orden, la cantidad solicitada, el precio unitario y el
descuento.









I NTELI GENCI A DE NEGOCI OS LABORATORI O 33

CIBERTEC CARRERAS PROFESIONALES

1.2. ESTRUCTURA DE TABLAS DE NORTHWIND

A continuacin, se presenta la estructura de las tablas de la base de datos
Northwind, se seala qu almacena y cules son sus campos mas
importantes.

Tabla : Customers
Llave Principal: CustomerId. Tipo de dato nchar (alfanumrico)



Revisemos algunos campos:
CustomerId = Tipo de datos alfanumrico.
Region = Contiene los valores de las regiones para los clientes, algunos registros
tienen el valor de NULL, ya que de acuerdo con el pas algunos cuentan regiones y
otros no.








34
CARRERAS PROFESIONALES CIBERTEC

Tabla : Employees
Llave principal: EmployeeId, Tipo de dato entero
El campo ReportsTo, se refiere al empleado inmediato superior (Jefe).



Revisemos algunos campos:
EmployeeId = Tipo de datos numrico.
Region = Contiene los valores de las regiones para los empleados, algunos
registros tienen el valor de NULL, ya que de acuerdo al pas algunos cuentan
regiones y otros no.
ReportsTo = Hace referencia al cdigo del empleado a quien debe reportar el
empleado descrito. Existe una relacin en la misma tabla entre el campo
employeeId y ReportsTo.





I NTELI GENCI A DE NEGOCI OS LABORATORI O 35

CIBERTEC CARRERAS PROFESIONALES

Tabla : Categories
Llave Principal: CategoryId. Tipo de dato entero



Revisemos algunos campos:
CategoryId = Tipo de datos numrico
Picture = Almacena en formato binario la foto de la categora.




Tabla : Products
Llave principal: ProductId. Tipo de Dato Entero



Revisemos algunos campos:
ProductId = Tipo de datos numrico
ProductName = Almacena en el nombre del producto
SupplierId = Cdigo del proveedor del producto
CategoryId = Cdigo de la categora a la cual pertenece el producto
UnitPrice = Precio Unitario del producto
Discontinued = Estado del producto (0=activo , 1 = descontinuado)
UnitInStock = Stock de productos
36
CARRERAS PROFESIONALES CIBERTEC




Tabla : Orders
Llave principal: OrderId. Tipo de Dato entero
La tabla Orders tiene la informacin del cliente solicitante y el empleado que atiene la
orden.
Cada registro de la tabla Orders almacena los datos relacionados a una orden.



Revisemos algunos campos:
OrderId = Tipo de datos numrico
OrderDate = Fecha de solicitud de la Orden
RequiredDate = Fecha que debera llegar la orden al cliente
ShippedDate = Fecha de envo de la Orden
EmployeeId = Empleado que atendi la orden
CustomerId = Cliente que solicit la orden





I NTELI GENCI A DE NEGOCI OS LABORATORI O 37

CIBERTEC CARRERAS PROFESIONALES
Tabla : Orders Details
Llave principal: OrderId, Tipo de dato entero
La tabla [Orders Details] tiene la informacin en detalle de la orden solicitada, es decir,
registra cada lnea de producto pedida asociada al precio unitario y la cantidad.



Revisemos algunos campos:
OrderId = Tipo de datos numrico
ProductId = Cdigo del producto
UnitPrice = Precio unitario del producto solicitado
Quantity = Cantidad pedida de un producto solicitado
Discount = Descuento empleado a cada producto de la orden

Note que existen 3 registros para la Orden = 10248, es decir, que se solicitaron 3
TIPOS DE PRODUCTOS DISTINTOS (11, 42 y 72). Adems observe que para el
producto 11, se solicit 12 items cada uno a un precio de 14.




1.3. CONSULTA LA BASE DE DATOS NORTHWIND

En esta seccin, se realizarn algunas consultas sobre las tablas descritas
anteriormente, con la finalidad de ir definiendo:

o Anlisis a realizar posteriormente
o El grado de complicacin referente a la implementacin de consultas SQL
cada vez ms elaboradas

38
CARRERAS PROFESIONALES CIBERTEC

Pregunta.
Liste el total facturado por categoras

Select c.categoryName as Categoria, Sum (d.quantity*d.unitprice) as Monto
From Categories c
JOIN Products p on c.categoryId = p.categoryId
JOIN "order details" d on p.productid = d.productid
Group by c.categoryName





Prctica.
Se desea hacer comparaciones entre los aos facturados por
cada categora

Select year(o.orderdate) as Ao, c.categoryName as Categoria,
sum(d.quantity*d.unitprice) as Monto
From Categories c
JOIN Products p on c.categoryId = p.categoryId
JOIN "order details" d on p.productid = d.productid
JOIN orders o on o.orderid=d.orderid
group by year(o.orderdate),c.categoryName
order by 2,1


I NTELI GENCI A DE NEGOCI OS LABORATORI O 39

CIBERTEC CARRERAS PROFESIONALES

Prctica.
Sera ms conveniente tener un listado de la siguiente
manera: Hgalo usted. La consulta es ms complicada?





Prctica.
Ahora le solicitan que agregue el total facturado por cada
categora junto con el detalle comparativo por ao.
Implemente usted un listado de la siguiente manera:
La consulta se complica an ms?





Pregunta.
De la consulta anterior, se desea analizar la facturacin de
cada producto que se solicit de la categora Beverages
detallado por ao.

Select c.categoryName as Categoria,
year(o.orderdate) as Ao,
p.productname as Producto,
Sum (d.quantity*d.unitprice) as Monto
From Categories c
JOIN Products p on c.categoryId = p.categoryId
JOIN "order details" d on p.productid = d.productid
JOIN orders o on o.orderid=d.orderid
Where c.categoryid=1
40
CARRERAS PROFESIONALES CIBERTEC
Group by c.categoryName,year(o.orderdate),p.productname
order by 1,3,2




Nuevamente, debe variar la consulta ocasionando inversin de tiempo.
Adems, el resultado no es muy prctico para propsitos de anlisis.


Con los ejercicios anteriores, podemos concluir que:
o Algunas veces, el resultado del SQL no es prctico para hacer revisiones o
anlisis sobre los datos.
o Se invierte tiempo en la implementacin de las consultas.
o Un usuario final promedio no podra implementar las consultas a medida
que requiere ahondar ms en la informacin.
o Las consultas SQL son rgidas cuando se desea cambiar la apariencia de
los resultados devueltos.


2. CREACIN DE LA BASE DE DATOS NORTHWIND_MART

De acuerdo con lo expuesto en la seccin anterior, referente a las tablas de la
base de datos Northwind y al giro del negocio de dicha empresa, es posible que
usted se plantee algunos requerimientos de anlisis.

La facilidad que brindan las soluciones OLAP queda de manifiesto en poder definir
aquello que se desea analizar de manera sencilla y flexible.

2.1. INDICADORES DE ANLISIS

Debe formularse de manera precisa aquello que se desea analizar. Lo
importante de los indicadores es que muestran (como un tablero de control
de un auto) informacin relevante para poder tomar una decisin sobre la
base de lo mostrado por l.

La toma de decisiones puede conllevar a la promocin de un nuevo producto, la
liquidacin de contrato con un cliente, ser ms agresivo en las campaas
publicitarias, fusin entre empresas o hasta el cierre del negocio.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 41

CIBERTEC CARRERAS PROFESIONALES
Vamos a listar algunos criterios de anlisis bsicos sobre la base de datos
Northwind. Algunos de ellos sern implementados a lo largo del curso.

o Anlisis comparativos de monto facturado entre categoras por periodos de
tiempo
o Anlisis geogrfico por pases de clientes que solicitan ordenes por
periodos de tiempo
o Anlisis de productos con problemas de aceptacin por rangos de tiempo
o Comparativos entre meses relacionados a monto de facturacin
o Encontrar los peridos de tiempo con menos ingresos (facturacin) para la
empresa con respecto a las rdenes

Usted defina algunos criterios ms:

1.__________________________________________________________

2.__________________________________________________________

3.__________________________________________________________

4.__________________________________________________________


2.2. MODELO DIMENSIONAL

El modelo dimensional contiene la representacin de las tablas que conforman la
solucin OLAP. Dicho modelo tiene una estructura muy diferente al modelo E-R
conocido.

En el modelo dimensional, se deben contemplar dos tipos de estructuras:

1. Tabla de hecho (fact table).
2. Tabla dimensin

2.2.1 Tabla de hecho (fact table)

Esta tabla contiene la representacin de un hecho en el sistema. El hecho se
origina al momento de registrarse las transacciones en el sistema OLTP y debe
ser identificado por el analista con la finalidad de representarlo en el modelo
dimensional.


42
CARRERAS PROFESIONALES CIBERTEC


La tabla de hechos debe contener la informacin de las medidas que se pretende
analizar, las cuales sern campos con tipos de datos numricos, como monto
facturado, cantidad de items, gastos, notas.

Por ejemplo:
Un hecho es el registro de asistencia de cada trabajador de manera diaria al
llegar a su centro de labores, con lo cual podemos analizar las tardanzas
mensuales, anuales, entre otros.

La tabla de hechos deber contener
o Medidas
o Informacin relacionada al hecho (Surrogate Key)

2.2.2 Tabla dimensin

Esta tabla contiene la informacin relacionada con el hecho, el cual es descrito en
la tabla de hechos.

Las tablas dimensin tambin representan las distintas opciones que el usuario
tiene para poder analizar su informacin, por ejemplo, las ventas se pueden
analizar por clientes, por productos, por empleados, etc. Aqu, clientes, productos
y empleados son, potencialmente, tablas dimensin.

Otra caracterstica de las tablas dimensin es que contienen un campo llamado
Surrogate Key (SK), el cual identifica, nicamente, un registro en la tabla, tal SK
debe ser numrico y correlativo.

Tambin, es importante estructurar las tablas dimensin con campos que puedan
ser potencialmente agrupables.

Por ejemplo:
Productos, analizar las rdenes desde el punto de vista de los
productos
Clientes, analizar las rdenes desde el punto de vista de los clientes
I NTELI GENCI A DE NEGOCI OS LABORATORI O 43

CIBERTEC CARRERAS PROFESIONALES

2.3. GRANULARIDAD DE DATOS DEL MODELO DIMENSIONAL

Esto significa que debemos definir el nivel de detalle de nuestro datamart. En
nuestro caso, el objetivo es analizar los volmenes de ventas por cada producto
de una orden.


2.4. ESTRUCTURA DEL MODELO DIMENSIONAL





El modelo dimensional mostrado responde a las preguntas planteadas en la
seccin de los indicadores. El modelo dimensional consta de las siguientes tablas.

Ejemplo:
Comparativos entre meses relacionados a monto de facturacin
o Cada registro en la tabla fact_ventas contiene el monto facturado
por un producto determinado en una orden. Con este, podemos
obtener la facturacin total de manera mensual, con lo cual es
factible realizar la comparacin.









44
CARRERAS PROFESIONALES CIBERTEC
FACT TABLE : FACT_VENTAS
Note que la tabla de hechos esta compuesta por Surrogate Key y las medidas
definidas.



Note que existen 3 registros para la orden 10248. Cada registro hace referencia a
un tipo de producto solicitado de dicha orden.
Note que todos los SK, son numricos y hacen referencia a la informacin
complementaria del hecho (Empleado, Cliente, Producto etc.).
Note las medidas en la tabla de hechos (Venta_Monto, Ventas_Unidades, etc.).




TABLA DIMENSION: DIM_CLIENTE



Note que :
o Existen un Surrogate Key por cada registro (Cliente).
o Existe posibilidad de jerarquizar los campos (agrupar la informacin por):
o Pas / Regin / Ciudad
o Pas / Compaa
o Compaa
I NTELI GENCI A DE NEGOCI OS LABORATORI O 45

CIBERTEC CARRERAS PROFESIONALES
o No existen valores nulos en la tabla: para aquellos clientes que el valor para
el campo regin sea NULO, a sido reemplazado por la cadena de texto
formado: PAIS + REGION






TABLA DIMENSION: DIM_PRODUCTO



Note que:
o Existen un Surrogate Key por cada registro (Producto).
o Existe un campo que define la regla de relacin entre la categora
(Producto_Categoria_SKey) y el Producto (Producto_SKey).






46
CARRERAS PROFESIONALES CIBERTEC
TABLA DIMENSION: DIM_CATEGORIA



Note que:
o Existen un Surrogate Key por cada registro (categoria).
o Existe un campo que define la regla de relacin con la tabla
DIM_PRODUCTO (Categoria_SKey).








TABLA DIMENSION: DIM_EMPLEADO



Note que:
o Existen un Surrogate Key por cada registro (Empleado).
o Existe posibilidad de agrupamientos entre los campos.
o Existe un campo que define la regla de superioridad (Empleado_Superior
Empleado).
o Existen registros cuyo campo Empleado_SuperiorKey es nulo. Esto se debe
a que no todos los empleados tiene un Jefe.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 47

CIBERTEC CARRERAS PROFESIONALES





TABLA DIMENSION: DIM_TIEMPO



Note que :
o Existe un Surrogate Key por cada registro (Fecha).
o Existe posibilidad de jerarquizar los campos.
o Esta tabla permite identificar cada fecha de los aos que se estime
conveniente para referenciarlos con las fechas de las rdenes.


48
CARRERAS PROFESIONALES CIBERTEC








Del modelo dimensional (MD) se puede concluir:

o El M.D, est en esquema estrella, pues las tablas dimensin se conectan
con la tabla de hechos directamente.
o Las estructuras de las tablas del M.D. presentan diferencias con las del
modelo E-R.
o Existe una recodificacin total para los cdigos originales.


2.5. REVISIN DEL NORTHWIND_STAGE

Las organizaciones de hoy en da cuentan con innumerables dispositivos de
almacenamiento donde a los largo de los aos han ido guardando sus datos:
archivos de texto, hojas de clculo, archivos dbf, diversas bases de datos
(informix, oracle, SQL, etc), etc.

La elaboracin de un modelo dimensional debe entonces, considerar toda estos
orgenes de informacin para poder responder a preguntas de anlisis que
pudiera requerirse sobre estos datos.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 49

CIBERTEC CARRERAS PROFESIONALES
Es por ello que, antes de trasladar la informacin de nuestros orgenes de datos a
nuestro modelo dimensional, es necesario que estos sean integrados, limpiados y
transformados, de tal manera que aseguren la calidad de los datos que se estn
almacenando en el modelo dimensional creado.

Para ello, es necesario contar con un modelo intermedio en el cual se pueda
realizar esta tarea de limpieza y transformacin. Esta rea es conocida como
Staning Area o rea de trabajo.

La siguiente grfica muestra la arquitectura que se debe construir para el
desarrollo del ejemplo.



En las secciones anteriores, hemos descrito la base de datos Northwind, as como
la base de datos Northwind_Mart. Para poblar el modelo dimensional es necesario
que los datos hayan sido preparados y depurados. Dicha labor se realiza en el
Stage Area

2.5.1. ESTRUCTURA DEL MODELO STAGE AREA



50
CARRERAS PROFESIONALES CIBERTEC
Note que el modelo anterior es muy similar al modelo dimensional. La base de
datos del stage, es empleada para realizar todas las tareas de limpieza y
transformacin de los datos.

Otro punto a notar es le estructura de las tablas, por ejemplo, solo mostraremos
dos tablas, las dems sern expuestas en clase.

Tabla : Stg_Producto



La tabla consta de:
o Producto_skey.- El campo Surrogate key (identity)
o Producto_Codigo y CategoriaProducto_Codigo.- Corresponden a los
cdigos originales del producto y categora.
En la misma tabla, estn los cdigos originales y surrogate key con la finalidad de
encontrar las equivalencias.

Tabla : Stg_Ventas



La tabla consta de:
o Los campos con los cdigos originales
o Los campo con los respectivos Surrogate Key
o Las medidas identificadas.


I NTELI GENCI A DE NEGOCI OS LABORATORI O 51

CIBERTEC CARRERAS PROFESIONALES
3. CREACIN DE UN PROYECTO DE ETL UTILIZANDO SQL
SERVER INTEGRATION SERVICES

En un proceso datawarehouse, el sistema transaccional debe alimentar al sistema
analtico. Sin embargo, es muy probable que el sistema transaccional se
encuentre en fuentes de datos muy diversas (archivos.DBF, base de datos Oracle
o Sybase, archivos.XLS, archivos.TXT, etc.), pero la data en el servidor de
anlisis debe ser uniforme. Para ello, utilizamos SQL Server Integration Services,
que es la herramienta de ETL proporcionada por Microsoft y que viene incluida en
SQL Server 2005. SSIS nos permite lo siguiente:

Generar, dentro de un Proyecto, uno o ms paquetes de ETL que nos permita
trasladar los datos de diferentes orgenes a un destino.
Permitir administrar mejor los procesos de ETL que puedan desarrollarse para
poblar el datawarehouse,
Extraer la informacin de diferentes fuentes de datos a travs de diferentes
conectores (proveedores .Net y proveedores OLE DB nativos),
Transformar datos mediante tareas de transformacin, bsqueda, integracin,
combinacin, etc.;
Controlar la secuencia que los datos deben seguir mediante el control de eventos
de xito y fallo;
Cargar la informacin a diferentes fuentes de datos.


3.1. ELEMENTOS DE SSIS

SSIS est constituido por varios elementos que permiten construir paquetes de
ETL complejos. Sus componentes son:

A. Data Sources.- Identifica las conexiones hacia los diversos orgenes de
datos.

B. Data Source View.- Definen vistas parciales o totales de los objetos de un
Data Source.

C. Tasks.- Asociada a una unidad de transformacin, procesamiento de datos
o transferencia de registros de un origen a un destino.

52
CARRERAS PROFESIONALES CIBERTEC
D. Control Flow.- Define la secuencia lgica de transferencia de informacin.
Por ejemplo, a travs de los flujos de control se permiten controlar la
secuencia de transformacin, limpieza, bsqueda, etc. del dato.

E. Container.- Permite agrupar diferentes tareas de transformacin para
facilitar el entendimiento o la secuencia de las tareasl.

F. Package.- Todas las tareas contenidas dentro de un paquete de SSIS


3.2. CREACIN DE PAQUETES DTS

La creacin de un paquete de SQL Server Integration Services se realiza
utilizando el entorno de desarrollo SQL Server Business Intelligence
Development Studio. Ah se crearn los paquetes que nos permitir trasladar la
informacin de la base de datos Norhwind a la base de datos Northwin_Stage y
de esta a la base de datos Norhwind_Mart.

Es necesario que definamos y aclaremos algunos puntos antes de iniciar nuestra
labor:
Definicin del problema a solucionar
o Es un problema de migracin de datos?
o Estoy en un proceso de Data Warehousing?
o Mi proceso se deber ejecutar peridicamente o por nica vez?
o Ser un proceso de ejecucin manual, automtica o a demanda?
Definicin de las fuentes de datos que intervendran en dicha solucin
o El ETL involucra un solo servidor o ms de uno?
o El ETL involucra solo servidores SQL SERVER?
o Si existiera la necesidad de involucrar a otras fuentes de datos,
en qu plataformas estn (Oracle, Ms.Excel, Correo, MySql,
archivos planos, etc.)?
o Para el paso anterior, tenemos los Drivers apropiados para
podernos conectar a las fuente de datos en cuestin?
Definir si la fuente de datos contiene datos que son factibles transformarlos
para poder obtener datos de calidad
Definir especficamente dnde estn los datos dentro de la fuente de datos
para preparar las sentencias de acceso a datos

3.2.1. Ingreso al entorno del SSIS

Para comenzar nuestro trabajo en la creacin de paquetes ETL, debemos
ingresar SQL Server Business Intelligence Development Studio y crear un
nuevo proyecto de SQL Server Integration Services.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 53

CIBERTEC CARRERAS PROFESIONALES


A continuacin, aparecer el entorno de desarrollo de Microsoft Visual Studio.
Para generar un nuevo proyecto de SSIS elegimos la opcin Archivo / Nuevo /
Proyecto. Aparecer la pantalla de proyectos en el cual seleccionamos Proyecto
de Integration Services y le asignamos como nombre Poblar_Nortwind_OLAP.



A continuacin, se muestra el entorno de desarrollo de los paquetes de ETL.


54
CARRERAS PROFESIONALES CIBERTEC
3.2.2. Implementacin de paquetes SSIS

El ejemplo que se est desarrollando requiere la implementacin de dos
paquetes. El primero llevar la data de la base de datos Northwind a
Northwind_Stage y el segundo, de Northwind_Stage a Northwind_Mart.

A. Orgenes de datos

Lo primero que tenemos que hacer es conectarnos a la base de datos
Norhwind que es la fuente de la cual vamos a extraer los datos. Para ello
debemos generar una conexin hacia ese origen. Para ello realizaremos los
siguientes pasos:

En el explorador de soluciones, seleccione la carpeta de Orgenes de
Dato (Data Source). Clic derecho / Nuevo Origen de Dato (New Data
Source).

En el asistente para Orgenes de datos clic en siguiente.

Aparece la pantalla donde nos muestra la lista de conexiones
existentes. En este caso, por ser la primera, damos clic en Nueva
(New).



Aparece la pantalla donde se configurar la conexin a la base de datos
Northwind.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 55

CIBERTEC CARRERAS PROFESIONALES



o Si vemos en Proveedor, vamos a encontrar los diferentes
orgenes a los cuales nos podemos conectar desde SSIS.



o En nuestro caso, por encontrarse Northwind tambin en SQL
Server 2005, elegiremos el proveedor SQL Native Client.
56
CARRERAS PROFESIONALES CIBERTEC
o En nombre del Servidor, colocamos localhost. Esto debido a que
la base de datos Northwind esta ubicado en el mismo servidor
donde esta SSIS.
o Seleccionamos la base de datos a la cual nos vamos a conectar.
En este caso, Northwind.
o La pantalla final debe ser como muestra la siguiente figura.





o Finalmente probamos la conexin. Para verificar que nos
podamos conectar a la base de datos seleccionada. Clic en
Probar Conexin.





o Clic en Aceptar

Una vez configurada la conexin, le asignamos un nombre: Northwind
OLTP.
Clic en Finalizar.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 57

CIBERTEC CARRERAS PROFESIONALES
Verifique que, en el explorador de soluciones, se haya creado la
conexin generada.



B. Vista de origen de datos:

Luego que hemos definido el origen de datos y configurado la conexin a la
base de datos Northwind, debemos indicar qu objetos son lo que vamos a
utilizar para el desarrollo de los procesos de ETL. Para ello, debemos generar
un Data View. Por eso realizaremos los siguientes pasos:

En el explorador de soluciones, seleccione la carpeta de Vistas de
origen de datos (Data View). Clic derecho / Nuevo Vista de Origen de
Datos (New Data View).

En el asistente para vistas de origen de datos clic en siguiente

Aparece la pantalla donde nos muestra la lista de conexiones
existentes. De la lista, seleccionamos la conexin creada en el punto
anterior (Northwind_OLAP). Clic en siguiente.





Aparece la pantalla donde seleccionaremos las tablas que utilizaremos
en el desarrollo de los paquetes de ETL. Clic en siguiente.
58
CARRERAS PROFESIONALES CIBERTEC





Una vez configurada la Vista de origen de datos (Data View) le
asignamos un nombre: DV_Northwind_OLTP.
Clic en Finalizar
En el SQL Server Business Intelligence Development Studio, aparecen
los objetos de la vista de datos generada.





I NTELI GENCI A DE NEGOCI OS LABORATORI O 59

CIBERTEC CARRERAS PROFESIONALES

C. Cree el paquete ETL_Poblar_Stage en SSIS

Antes de crear un nuevo paquete, seleccionamos el paquete Package.dtsx que
aparece en la carpeta Paquetes SSIS: Clic derecho / Eliminar. En la ventana de
confirmacin, Clic en Aceptar.

Para crear un nuevo paquete realizaremos los siguientes pasos:

En el explorador de soluciones, seleccionar la carpeta de Paquetes
SSIS (SSIS Packages). Clic derecho / Nuevo Paquete de SSIS (New
SSIS Package).

Se ha creado un nuevo paquete denominado Package1.dtsx. Para
renombrarlo: Clic derecho / Cambiar Nombre.

Renombre el paquete como ETL_Poblar_Stage.dtsx. Se mostrar la
siguiente pantalla. D clic en S





Se mostrar el entorno en el cual se desarrollar el paquete ETL.




Nota: Si el cuadro de herramientas no aparece, entonces ir al Menu Ver / Cuadro de
Herramientas.
60
CARRERAS PROFESIONALES CIBERTEC


D. Construir paquete ETL_Poblar_Stage

Ahora vamos a construir el primer paquete de ETL que va a trasladar la
informacin de la base de datos Norhwind a la base de datos Northwind_Stage.



Las actividades desarrolladas en el ETL son:
o Eliminar los registros de las tablas de Stage
o Inicializar los campos identity de las tablas del Stage mediante un
Stored Procedure
o Implementar 3 Flujos de Dato (Cliente, Producto, Empleados)

Actividad eliminar registros

Esta tarea debe tener el siguiente cdigo y tener como conexin
Northwind_Stage.

Generamos la conexin a Northwind_Stage. Clic derecho Nueva
Conexin OLE DB

I NTELI GENCI A DE NEGOCI OS LABORATORI O 61

CIBERTEC CARRERAS PROFESIONALES


En configurar el administrador de conexiones OLE DB damos clic en
Nueva.
Ponemos los siguientes valores en el Administrador de conexin:
o Proveedor.- OLE DB nativo\ SQL Native Client
o Nombre del Servidor: LocalHost
o Conexin al Servidor: Utilizar Autenticacin Windows.
o Base de Datos: Northwind_Stage
o Probar Conexin.

Del Cuadro de Herramientas seleccionamos de Elementos de flujo la
tarea Tarea Ejecutar SQL y la arastramos a Diseador.





Clic derecho sobre la tarea, Editar.
Modificamos las siguientes propiedades

Propiedad Valor
Name Limpiar Tablas
Description Limpiar las Tablas del Stage Area
ConnectionType OLE DB
Connection Localhost.Northwind_Stage
SQL Statement Truncate Table STG_Cliente

62
CARRERAS PROFESIONALES CIBERTEC



Para probar la tarea tenemos que ejecutarla: Para ello seguimos los
siguientes pasos.
o Seleccionamos la tarea / Clic Derecho / Ejecutar tarea
o La tarea comienza su ejecucin. Durante este proceso la tarea
cambia de color.

Amarillo.- Tarea se est ejecutando.
Rojo.- Tarea termin con error.
Verde.- Tarea termin correctamente.

o Al finalizar la tarea paramos la ejecucin (Men Depurar /
Detener Depuracin)

Actividad Cargar STG_cliente

Esta tarea debe tener el siguiente cdigo y tener como conexin Northwind.

Generamos la conexin a Northwind. Clic derecho Nueva Conexin
desde origen de datos.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 63

CIBERTEC CARRERAS PROFESIONALES


Seleccionar la conexin Northwind_OLAP que creamos como origen de
datos (Data S
Clic en Aceptar



Del cuadro de herramientas seleccionamos de Elementos de flujo la
tarea Tarea Flujo de datos y la arrastramos a Diseador.






Cambiar el nombre de la tarea a Cargar STG_CLIENTE
Clic derecho sobre la tarea y seleccionamos la opcin Editar
Automticamente la pantalla del Diseador cambia a la pestaa Flujo
de datos y el Cuadro de herramientas cambia de tareas disponibles.



La pantalla de Flujo de datos nos permitir realizar la tarea de ETL. Para ello
necesitaremos conectarnos a un origen de datos, disear las tareas de
transformacin para, finalmente, trasladarla hacia el destino final.
64
CARRERAS PROFESIONALES CIBERTEC

SSIS dentro del flujo de control nos permite conectarnos a los siguientes
orgenes:



Nos permite trasladar la informacin a los siguientes destinos.


Y nos permite realizar las siguientes transformaciones.



Para desarrollar nuestra Tarea de flujo de datos seguiremos los siguientes
pasos:

I NTELI GENCI A DE NEGOCI OS LABORATORI O 65

CIBERTEC CARRERAS PROFESIONALES
De orgenes de flujo de datos seleccionamos Origen de OLE DB.
Cambiamos el nombre de la tarea a Leer Customers.
Damos doble clic sobre la tarea Leer Customers o Clic derecho editar.

Aparece la pantalla con las propiedades de la tarea seleccionada, con las
siguientes opciones:

o Administrador de Conexin
Administrador de Conexin OLE DB.- Define el origen del cual
se leer los datos.
Modo de Acceso a Datos.- Define la forma en como se leern
los datos. Esta puede ser:
Tabla o vista
Variable de Nombre de tabla o Nombre de vista
Comando SQL
Comando SQL con variable.

Para el ejemplo, debemos considerar los siguientes valores:

Propiedad Valor
Administrador de Conexin OLE DB Northwind_OLTP
Modo de Acceso a Datos Tabla o Vista
Nombre de la tabla o vista [dbo].[Customers]



Luego seleccionamos las columnas que utilizaremos en el proceso de
carga. Seleccionamos todas las columnas excepto ContactTitle, Phone y
Fax y damos Clic en Aceptar.

66
CARRERAS PROFESIONALES CIBERTEC


Del Cuadro de herramientas, en Transformacin de flujo de datos
seleccionamos la tarea Copiar Columna, y lo asociamos con la tarea Leer
Customers. Debe mostrarse de la siguiente manera:



Cambiamos el nombre de la tarea a Copiar Customers.
Si le damos Clic derecho Editar o doble clic sobre la tarea Copiar
Customers, estas muestran la lista de columnas seleccionadas en la
tarea Leer Customers.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 67

CIBERTEC CARRERAS PROFESIONALES


Finalmente, debemos indicar hacia dnde se copiarn los datos. Del Cuadro de
herramientas, en Destinos de flujo de datos seleccionamos la tarea Destino de
OLE DB, y lo asociamos con la tarea Copiar Customers. Debe mostrarse de la
siguiente manera :



Cambiamos el nombre de la tarea a Grabar STG_Cliente.
Si le damos Clic derecho Editar o doble clic sobre la tarea Grabar
Cliente.

Aparece el Editor de destino OLE DB con las siguientes opciones:

o Administrador de conexin
68
CARRERAS PROFESIONALES CIBERTEC
Administrador de conexin OLE DB.- Define el destino en el cual se
grabaran los datos
Modo de acceso a datos.- Define la forma en como se grabaran los
datos. Esta puede ser:
Tabla o vista.
Carga rpida de Tabla o vista.
Variable de nombre de tabla o Nombre de vista.
Carga rpida de variable de nombre de tabla o Nombre de
vista
Comando SQL.

Para el ejemplo, debemos considerar los siguientes valores:

Propiedad Valor
Administrador de conexin OLE DB Localhost.Northwind_Stage
Modo de acceso a datos Tabla o Vista
Nombre de la tabla o vista [dbo].[STG_Cliente]

En la opcin de Asignaciones, relacionamos las columnas del origen (o
de las transformaciones) con las columnas del destino.

Origen Destino
CustomerID Cliente_Codigo
CompanyName Cliente_Nombre
ContactName Cliente_Compania
Address Cliente_Direccion
City Cliente_Ciudad
Region Cliente_Region
PostalCode Cliente_Postal
Country Cliente_Pas
I NTELI GENCI A DE NEGOCI OS LABORATORI O 69

CIBERTEC CARRERAS PROFESIONALES


Clic en Aceptar.

Note que no existe ninguna columna del origen asociada a la columna
Cliente_SKey. Esto debido a que este campo es de tipo Identity, por lo que el
valor que se asignar es administrado por las base de datos SQL Server 2005.

Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea
Cargar STG_Cliente y ejectelo. Debe mostrar la siguiente pantalla:



Al finalizar la tarea, pare la ejecucin (Men Depurar / Detener
Depuracin).
Grabe el proyecto (Men Archivo / Guardar Todo).

70
CARRERAS PROFESIONALES CIBERTEC
Actividad Cargar STG_Producto

Para cargar la informacin de productos se necesitar realizar los
siguientes pasos:

Del Cuadro de herramientas, seleccionamos de Elementos de
Flujo, la tarea Tarea Flujo de Datos y la arrastramos a Diseador.
Cambiar el nombre de la tarea a Cargar STG_PRODUCTO
Clic derecho sobre la tarea y seleccionamos la opcin Editar
Automticamente, la pantalla del Diseador cambia a la pestaa
Flujo de Datos y el cuadro de herramientas cambia de tareas
disponibles.

En la pantalla de Flujo de datos desarrollaremos las tareas de ETL. Para ello
verificamos que tengamos generadas las conexiones que necesitaremos.

Esta tarea debe tener el siguiente cdigo y utilizar la conexin Northwind_OLTP
creada.

De orgenes de flujo de datos seleccionamos Origen de OLE DB.
Cambiamos el nombre de la tarea a Leer Products.
Damos doble clic sobre la tarea Leer Products o Clic derecho editar.

Aparece la pantalla con las propiedades de la tarea seleccionada, configure las
siguientes propiedades:

Propiedad Valor
Administrador de Conexin OLE DB Northwind_OLTP
Modo de Acceso a Datos Tabla o Vista
Nombre de la tabla o vista [dbo].[Products]
Columnas ProductID
ProductName
CategoryID
UnitPrice

Del Cuadro de herramientas, en Transformacin de flujo de datos seleccionamos
la tarea Conversin de Datos, y lo asociamos con la tarea Leer Products. Debe
mostrarse de la siguiente manera.



La tarea de Conversin de Datos nos permitir modificar los distintos tipos de
datos que podemos encontrar en las distintas fuentes de datos al tipo de dato del
I NTELI GENCI A DE NEGOCI OS LABORATORI O 71

CIBERTEC CARRERAS PROFESIONALES
destino. Para el formato de Fecha, para el tamao de los campos tipo carcter,
para los valores numricos, etc.

En el ejemplo, si vemos el tamao del campo ProductName de la base de datos
Northwind y lo comparamos con el tipo de dato de base de datos
Norhwind_Stage, veremos que estas no son iguales. Para estandarizarlas
realizaremos un una conversin de datos.

Northwind

Northwind_Stage



Si le damos Clic derecho Editar o doble clic sobre la tarea Conversin
de Datos, nos aparecer la siguiente pantalla.



Las propiedades a incluir son:
Columna de entrada.- Seleccionamos la columna que queremos
modificar.
Alias de salida.- Indicamos el nuevo nombre que se asignar a la
columna.
Tipo de datos.- Indicamos el nuevo tipo de dato que se le asignar a la
columna.
Longitud.- Si el campo es carcter, se debe especificar el tamao que
tendr en nuevo campo.
Precisin / Escala.- Si el campo es numrico, se debe especificar el
nmero de enteros y decimales que soportar.

Para el ejemplo, utilizaremos los siguientes valores:

Propiedad Valor
Columna de entrada ProductName
Alias de ealida ProductName_Varchar
Tipo de datos Cadena[DT_STR]
Longitud 35
72
CARRERAS PROFESIONALES CIBERTEC



Finalmente, debemos indicar hacia dnde se copiaran los datos. Del Cuadro de
herramientas, en Destinos de flujo de datos seleccionamos la tarea Destino de
OLE DB, y lo asociamos con la tarea Conversin de Datos. Debe mostrarse de
la siguiente manera

Cambiamos el nombre de la tarea a Grabar STG_Producto.
Damos doble clic sobre la tarea Grabar STG_Producto o Clic derecho
editar.

Aparece la pantalla con las propiedades de la tarea seleccionada, configure las
siguientes propiedades:

Propiedad Valor
Administrador de Conexin OLE DB Localhost.Northwind_Stage
Modo de Acceso a Datos Tabla o Vista
Nombre de la tabla o vista [dbo].[Stg_Producto]

En la opcin de Asignaciones, relacionamos las columnas del origen (o de las
transformaciones) con las columnas del destino.

Origen Destino
ProductID Producto_Codigo
ProductName_Varchar Producto_Nombre
CategoryID Producto_PUnitario
UnitPrice CategoriaProducto_Codigo


Clic en Aceptar.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 73

CIBERTEC CARRERAS PROFESIONALES

Note que al igual que en la carga de la tabla STG_Cliente, para la carga de
STG_Producto tampoco existe ninguna columna del origen asociada a la
columna Producto_SKey. Al igual que en el caso anterior, el valor lo asignar la
base de datos SQL Server 2005.

En este caso, tampoco existe valor asociado para el campo Categoria_SKey.
En este caso, el valor ser completado cuando se realice la carga de la tabla
STG_Categoria.

Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea
Cargar STG_Producto y ejectelo. Debe mostrar la siguiente pantalla:



Al finalizar la tarea pare la ejecucin (Men Depurar / Detener
Depuracin)
Grabe el proyecto (Men Archivo / Guardar Todo).


Actividad Cargar STG_Empleados

Para cargar la informacin de productos se necesitar realizar los siguientes
pasos:

Del Cuadro de herramientas, seleccionamos, de Elementos de flujo, la
tarea Tarea Flujo de datos y la arrastramos a Diseador.
Cambiar el nombre de la tarea a Cargar STG_EMPLEADO
Clic derecho sobre la tarea y seleccionamos la opcin Editar
Automticamente, la pantalla del Diseador cambia a la pestaa Flujo
de Datos y el Cuadro de herramientas cambia de tareas disponibles.

En la pantalla de Flujo de datos, desarrollaremos las tareas de ETL. Para ello,
verificamos que tengamos generadas las conexiones que necesitaremos.

Esta tarea debe tener el siguiente cdigo y utilizar la conexin Northwind_OLTP
creada.

De orgenes de flujo de datos, seleccionamos Origen de OLE DB.
Cambiamos el nombre de la tarea a Leer Employees.
Damos doble clic sobre la tarea Leer Employees o Clic derecho editar.

74
CARRERAS PROFESIONALES CIBERTEC
Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las
siguientes propiedades:

Propiedad Valor
Administrador de conexin OLE DB Northwind_OLTP
Modo de acceso a datos Comando SQL
Texto de comando SQL SELECT EmployeeID, LastName,
FirstName, Address, City, Region,
PostalCode, Country, ReportsTo
FROM Employees

Note que en la tabla Employees de la tabla Northwind, el nombre del empleado
aparece separado en los campos LastName y FistName, pero en la tabla
STG_Empleado adems necesitamos almacenar una columna con el nombre
completo. Para esto podemos hacer dos cosas. La primera modificar la sentencia
SELECT arriba indicada y agregar la columna que falta

Texto de comando SQL SELECT EmployeeID, LastName,
FirstName, LastName + +
FirstName as Name, Address, City,
Region, PostalCode, Country,
ReportsTo
FROM Employees

La otra es utilizar una tarea SSIS. Del Cuadro de herramientas, en
Transformacin de flujo de datos, seleccionamos la tarea Columna Derivada y lo
asociamos con la tarea Leer Employees. Debe mostrarse de la siguiente manera.



La tarea de Columna Derivada nos permitir crear nuevos campos a partir de los
campos ya existentes. Para ello, nos facilitar un conjunto de funciones de
cadena, matemticas, de fecha, nulos, conversin de tipo, etc.

En el ejemplo, vamos a crear la columna FullName a partir de las columnas
FirstName y LastName.

Si le damos Clic derecho Editar o doble clic sobre la tarea Columna
Derivada, nos aparecer la siguiente pantalla:

I NTELI GENCI A DE NEGOCI OS LABORATORI O 75

CIBERTEC CARRERAS PROFESIONALES


Las propiedades a incluir son:
Nombre de la columna.- Indicamos el nombre de la columna que
necesitamos crear.
Columna derivada.- Indicamos si la columna derivada ser una nueva
columna o reemplazar a una columna ya existente.
Expresin.- Indicamos el Cmo se va a crear la nueva columna
derivada?.
Tipo de datos.- Indicamos el nuevo tipo de dato que se le asignar a la
columna.
Longitud.- Si el campo es carcter, se debe especificar el tamao que
tendr en nuevo campo.
Precisin / Escala.- Si el campo es numrico, se debe especificar el
nmero de enteros y decimales que soportar.

Para el ejemplo, utilizaremos los siguientes valores:

Propiedad Valor
Nombre de columna FullName
Columna derivada <agregar como columna nueva>
Expresin TRIM( [LastName] )+" "+TRIM(
[FirstName])
Tipo de datos Cadena Unicode[DT_WSTR]
Longitud 70


Finalmente, debemos indicar hacia dnde se copiarn los datos. Del Cuadro de
herramientas, en Destinos de flujo de datos, seleccionamos la tarea Destino de
OLE DB y lo asociamos con la tarea Columna Derivada. Debe mostrarse de la
siguiente manera :

Cambiamos el nombre de la tarea a Grabar STG_Empleado.
76
CARRERAS PROFESIONALES CIBERTEC
Damos doble clic sobre la tarea Grabar STG_ Empleado o Clic derecho
Editar.

Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las
siguientes propiedades:

Propiedad Valor
Administrador de conexin OLE DB Localhost.Northwind_Stage
Modo de acceso a datos Tabla o Vista
Nombre de la tabla o vista [dbo].[Stg_Empleado]

En la opcin de Asignaciones, relacionamos las columnas del origen (o de las
transformaciones) con las columnas del destino.

Origen Destino
EmployeeID Empleado_Codigo
LastName Empleado_Apellido
FirstName Empleado_Nombre
Address Empleado_Direccin
City Empleado_Ciudad
Region Empleado_Region
PostalCode Empleado_Postal
Country Empleado_Pais
ReportsTo Empleado_ReportID
FullName Empleado_NombreCompleto



Clic en Aceptar.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 77

CIBERTEC CARRERAS PROFESIONALES

Las columnas Empleado SuperiorSkey y Empleado_Superior sern
completados ms adelante.

Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea
Cargar STG_Empleado y ejectelo. Debe mostrar la siguiente pantalla:



Finalizar la tarea y grabe el proyecto.

Actividad Completar Jefe de empleado

El jefe del empleado es otro empleado ms al cual, al momento de ser cargado en
la actividad anterior, se le ha creado un surrogate key (Empleado_SKey).
Entonces, ahora debemos completar los datos del jefe del empleado para lo cual
utilizaremos dicho campo.

Para completar estos datos vamos a utilizar un Procedimiento Almacenado, el
cual leer la tabla STG_Empleado y cargar la informacin de su Jefe. Para ello,
debemos realizar los siguientes pasos:

Del Cuadro de herramientas, seleccionamos, de Elementos de flujo, la
tarea Tarea Ejecutar SQL y la arrastramos a Diseador.
Cambiar el nombre de la tarea a Completar Jefe de Empleado
Clic derecho sobre la tarea y seleccionamos la opcin Editar

Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las
siguientes propiedades:

Propiedad Valor
Connection Type OLE DB
Connection Localhost.Northwind_Stage
SQLStatement Execute USP_Completa_Jefe

El stored procedure esta creado en la
base de datos stage.

El cdigo ser proporcionado y
explicado en clase.



78
CARRERAS PROFESIONALES CIBERTEC


Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea
Completar Jefe de Empleado y ejectelo. Debe mostrar la siguiente pantalla:



Finalice la tarea y grabe el Proyecto.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 79

CIBERTEC CARRERAS PROFESIONALES

Autoevaluacin



Las siguientes preguntas estn relacionadas con la base de datos Pubs, que viene
incorporada con Microsoft SQL Server:

1. Desarrolle el modelo de datos de la base de datos Pubs, tomando en cuenta
que el objetivo es analizar el movimiento de los libros dentro de la empresa.

Qu tipo de modelamiento dimensional recomienda?

Cul debe ser el nivel de granularidad?

Qu tablas no son necesarias?

Qu columnas deben obviarse?

Qu columnas deben agruparse?

Es necesario crear una llave primaria nueva, surrogate key y por qu?

Qu columnas deben considerarse en la fact table, adems de las llaves de
las dimensiones?

2. Genere y grabe los paquetes DTS para las consultas propuestas para el
llenado de datos.

80
CARRERAS PROFESIONALES CIBERTEC

Para recordar




1. El primer paso al definir un datamart, es conocer el proceso del negocio, as
como los objetivos del datamart.

2. Existen dos formas de modelamiento analtico: Estrella y Copo de Nieve. Los
criterios de utilizar uno u otro dependen directamente del modelo que se
analiza, del objetivo del datamart y, finalmente, del criterio del analista.

3. Las dimensiones compartidas entre los datamart son una alternativa para evitar
la redundancia de datos.

4. Un paquete de SSIS sirve para importar o exportar datos desde diferentes
orgenes de datos hacia diferentes destinos. El objetivo de esta actividad es
centralizar la data transaccional en una sola fuente, la cual se utilizar para la
toma de decisiones. La data transaccional generalmente se encuentra en
diferentes formatos y ubicaciones, por lo que utilizando SSIS, se podr, de
manera sencilla, acceder, tranformar y sumarizar dicha data

I NTELI GENCI A DE NEGOCI OS LABORATORI O 81

CIBERTEC CARRERAS PROFESIONALES














Modelamiento dimensional ETL -
Avanzado
OBJETIVOS ESPECFICOS
Conectar desde SSIS a diferentes fuentes de datos
Reconocer los flujos de datos y contenedores de tareas
Completar la carga de la base de datos de trabajo, utilizando SQL Server Integration
Services

CONTENIDOS
Acceso a otras fuentes de datos (Archivos Excel y archivos de Texto)
Generacin del flujo de control de un paquete

ACTIVIDADES
Desarrollan el paquete que permita la carga de la base de datos Northwind_OLAP.

5-6
S E MA N A
82
CARRERAS PROFESIONALES CIBERTEC
1. ACCESO A OTRAS FUENTES DE DATOS (ARCHIVOS EXCEL
y ARCHIVOS DE TEXTO)

Una de las bondades que nos muestra SSIS es poder conectarnos no solo a
diferentes bases de datos, sino tambin a otras fuentes de datos: Excel, archivos
planos, archivos .dbf, etc. Para, luego de ello, poder manejar los datos como si se
estuviera trabajando con una tabla.

Para continuar con la carga del rea de trabajo, vamos a realizar la carga de la
tabLa STG_Tiempo a partir de un archivo excel

Actividad Cargar STG_Tiempo

Esta tarea debe tener el siguiente cdigo y tener como conexin el archivo Excel.

Abrir el proyecto Poblar_Nortwind_OLAP
Abrir el paquete ETL_Poblar_Stage.dtsx

Para cargar la informacin de Productos, se necesitar realizar los siguientes
pasos:

Del Cuadro de herramientas, seleccionamos, de Elementos de flujo la
tarea Tarea Flujo de datos y la arrastramos a Diseador.
Cambiar el nombre de la tarea a Cargar STG_TIEMPO
Clic derecho sobre la tarea y seleccionamos la opcin Editar
Automticamente, la pantalla del Diseador cambia a la pestaa Flujo
de Datos y el Cuadro de herramientas cambia de tareas disponibles.

Generamos la conexin a Excel. En el Administrador de conexiones,
Clic derecho Nueva Conexin y seleccionamos como Tipo Excel



I NTELI GENCI A DE NEGOCI OS LABORATORI O 83

CIBERTEC CARRERAS PROFESIONALES
Clic en Agregar, para configurar la conexin. Aparecer la siguiente
pantalla.



En Ruta de acceso del archivo Excel, colocamos la ruta donde se
encuentra el archivo a leer.
Clic en Aceptar
En el administrador de conexiones aparecer la conexin creada


De orgenes de flujo de datos, seleccionamos Origen de Excel.
Cambiamos el nombre de la tarea a Leer Tiempo.
Damos doble clic sobre la tarea Leer Tiempo o Clic derecho editar.

Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las
siguientes propiedades:

Propiedad Valor
Administrador de conexin OLE DB Administrador de Conexiones con
Excel
Modo de acceso a datos Tabla o Vista
Nombre de la tabla o vista Tiempo$
Columnas Todas

Clic en Aceptar.

Como los archivos Excel no manejan tipo de datos, lo que necesitamos hacer
es adicionar una tarea de transformacin de datos para poder convertir los
datos de las columnas a los que son requeridos en la tabla STG_Tiempo.

Del Cuadro de hrramientas, en Transformacin de flujo de datos,
seleccionamos la tarea Conversin de Datos y lo asociamos a Leer Tiempo.
Debe realizar las conversiones que se indica en esta imagen:

84
CARRERAS PROFESIONALES CIBERTEC



Clic en Aceptar.

Ahora notemos que en la tabla STG_Tiempo existen campos como
Tiempo_Descripcion_DiaDeSemana, Tiempo_Descripcion_Mes,
Tiempo_Descripcion_Trimestre , Tiempo_Descripcion_Semestre que no estn
en el origen pero que pueden crearse a partir de las columnas que ah
aparecen.

Para generar estas columnas, vamos a utilizar la tarea de Componente de
secuencia de Comandos que nos permitir incluir cdigo de programacin .Net
dentro de nuestros paquetes:

De la barra de herramientas, seleccionamos la tarea Componente de secuencia
de Comandos
.


I NTELI GENCI A DE NEGOCI OS LABORATORI O 85

CIBERTEC CARRERAS PROFESIONALES

Aparece la pantalla en la cual indica si el cdigo a generarse se va a relacionar
a un origen, un destino o una transformacin. Para nuestro caso,
seleccionamos Transformacin.



Doble clic en la tarea
En columnas de entrada, seleccionamos los campos NDiaDeSemana,
NMes y MTrimestre
En entradas y salidas
o Seleccionamos Columnas de salidas y creamos las siguientes
columnas:

Columna Tipo de Dato
DescripcionTrimestre DT_STR(15)
DescripcionMes DT_STR(10)
DescripcionDiaSemana DT_STR(10)
DescripcionSemestre DT_STR(15)

o Debe quedar como muestra la siguiente pantalla.:

86
CARRERAS PROFESIONALES CIBERTEC


Seleccionamos Secuencia de comando Active X y damos clic en
Secuencia de comandos.



I NTELI GENCI A DE NEGOCI OS LABORATORI O 87

CIBERTEC CARRERAS PROFESIONALES
Se abrir el entorno de desarrollo de .Net para scripts de SSIS. Escriba
el siguiente cdigo para definir la transformacin de las columnas en la
funcin Entrada0_ProcessInputRow.
Cdigo .Net
Select Case CType(Row.NDiaDeSemana, Integer)
Case 1
Row.DescripcionDiaSemana = "Lunes"
Case 2
Row.DescripcionDiaSemana = "Martes"
Case 3
Row.DescripcionDiaSemana = "Miercoles"
Case 4
Row.DescripcionDiaSemana = "Jueves"
Case 5
Row.DescripcionDiaSemana = "Viernes"
Case 6
Row.DescripcionDiaSemana = "Sbado"
Case 7
Row.DescripcionDiaSemana = "Domingo"
End Select

Select Case CType(Row.NTrimestre, Integer)
Case 1
Row.DescripcionTrimestre = "1er Trimestre"
Case 2
Row.DescripcionTrimestre = "2do Trimestre"
Case 3
Row.DescripcionTrimestre = "3er Trimestre"
Case 4
Row.DescripcionTrimestre = "4to Trimestre"
End Select


Select Case CType(Row.NTrimestre, Integer)
Case 1, 2
Row.DescripcionSemestre = "1er Semestre"
Case 3, 4
Row.DescripcionSemestre = "2do Semestre"
End Select

Select Case CType(Row.NMes, Integer)
Case 1
Row.DescripcionMes = "Enero"
Case 2
Row.DescripcionMes = "Febrero"
Case 3
Row.DescripcionMes = "Marzo"
Case 4
Row.DescripcionMes = "Abril"
Case 5
Row.DescripcionMes = "Mayo"
Case 6
Row.DescripcionMes = "Junio"
Case 7
Row.DescripcionMes = "Julio"
Case 8
Row.DescripcionMes = "Agosto"
Case 9
Row.DescripcionMes = "Septiembre"
Case 10
Row.DescripcionMes = "Octubre"
Case 11
Row.DescripcionMes = "Noviembre"
Case 12
Row.DescripcionMes = "Diciembre"
End Select
88
CARRERAS PROFESIONALES CIBERTEC
Clic en Aceptar.

Finalmente, debemos indicar hacia dnde se copiaran los datos. Del Cuadro de
herramientas, en Destinos de flujo de datos, seleccionamos la tarea Destino de
OLE DB, y lo asociamos con la tarea Componentes de Secuencia de
Comandos.

Cambiamos el nombre de la tarea a Grabar STG_Tiempo.
Damos doble clic sobre la tarea Grabar STG_Tiempo o Clic derecho
Editar.

Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las
siguientes propiedades:

Propiedad Valor
Administrador de conexin OLE DB Localhost.Northwind_Stage
Modo de acceso a datos Tabla o Vista
Nombre de la tabla o vista [dbo].[Stg_Tiempo]

En la opcin de Asignaciones, relacionamos las columnas del origen (o de las
transformaciones) con las columnas del destino tal como muestra la siguiente
pantalla.



Clic en Aceptar.

Debe mostrarse de la siguiente manera :
I NTELI GENCI A DE NEGOCI OS LABORATORI O 89

CIBERTEC CARRERAS PROFESIONALES



Para poder probar el paquete, ubquese en Flujo de control, seleccione la
tarea Cargar STG_Tiempo y ejectelo. Debe mostrar la siguiente pantalla :



Al finalizar la tarea, pare la ejecucin (Men Depurar / Detener
Depuracin)
Grabe el proyecto (Men Archivo / Guardar Todo).


Actividad Cargar STG_CategoriaProducto

Esta tarea debe tener el siguiente cdigo y tener como conexin a un archivo de
Texto.

Del Cuadro de herramientas, seleccionamos, de Elementos de Flujo, la
tarea Tarea Flujo de Datos y la arrastramos a Diseador.
Cambiar el nombre de la tarea a Cargar STG_CATEGORIA
Clic derecho sobre la tarea y seleccionamos la opcin Editar
90
CARRERAS PROFESIONALES CIBERTEC
Automticamente, la pantalla del Diseador cambia a la pestaa Flujo
de Datos y el Cuadro de herramientas cambia de tareas disponibles.

Generamos la conexin a un Archivo plano. En el Administrador de conexiones,
clic derecho Nueva Conexin y seleccionamos Nueva Conexin a Archivos
Planos. Aparece la pantalla para configurar la lectura del archivo que leeremos.
Las propiedades deben quedar como se muestra en la siguiente pantalla.



En Columnas, verifique la vista previa del archivo.


I NTELI GENCI A DE NEGOCI OS LABORATORI O 91

CIBERTEC CARRERAS PROFESIONALES

En avanzadas, cambie el tipo de dato y la longitud de los campos del archivo
plano a los tipos que se necesita en la tabla STG_CategoriaProductos.
Campo Tipo
CategoryID DT_I4
CategoryName DT_WSTR(15)

Al aceptar, se crea la nueva conexin al archivo plano.


Para desarrollar el ETL, arrastramos hacia el diseador las siguientes tareas:
Origen de archivo plano, Destino de OLE DB y los configuramos de la siguiente
manera.

Origen de Archivo Plano Valor
Nombre Leer Categora
Administrador de conexin OLE DB Archivo Categora
Columnas CategoryID
CategoryName

Destino de OLE DB Valor
Nombre Grabar STG_CategoriaProducto
Administrador de conexin OLE DB Localhost.Northwind_Stage
Modo de acceso a datos Tabla o Vista
Nombre de la tabla o vista [dbo].[STG_CategoriaProducto]
Asignaciones CategoryID Categora_Codigo
CategoryName Categora_Nombre

Clic en Aceptar

Debe mostrarse de la siguiente manera :



Para poder probar el paquete, ubquese en Flujo de control, seleccione la
tarea Cargar STG_Categoria y ejectelo. Debe mostrar la siguiente pantalla
:
92
CARRERAS PROFESIONALES CIBERTEC



Al finalizar la taream pare la ejecucin (Men Depurar / Detener
Depuracin).
Grabe el proyecto (Men Archivo / Guardar Todo).


Actividad Completar categora de Producto

En la tabla STG_Producto existe el campo Categora_SKey que no tiene valor. El
valor que se tiene que asignar a esa columna es el valor generado en la tabla
STG_CategoriaProducto cargada en el paso anterior.



Para completar estos datos, vamos a utilizar un procedimiento almacenado, el
cual leer la tabla STG_CategoriaProducto y actualizar la informacin de los
productos que tiene asociado:

Del Cuadro de herramientas, seleccionamos, de Elementos de Flujo la
tarea Tarea Ejecutar SQL y la arrastramos a Diseador.
Cambie el nombre de la tarea a Completar categoria a PProduuctos.
Clic derecho sobre la tarea y seleccionamos la opcin Editar.

Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las
siguientes propiedades:

Propiedad Valor
Connection Type OLE DB
Connection Localhost.Northwind_Stage
SQLStatement Execute USP_Completa_Categoria

El stored procedure esta creado en la
base de datos stage.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 93

CIBERTEC CARRERAS PROFESIONALES

El cdigo ser proporcionado y
explicado en clase.



Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea
Completar Categora a Productos y ejectelo. Debe mostrar la siguiente
pantalla:



Al finalizar la tarea, pare la ejecucin (Men Depurar / Detener Detener
depuracin).
Grabe el proyecto (Men Archivo / Guardar Todo).

94
CARRERAS PROFESIONALES CIBERTEC

Actividad Cargar STG_VENTAS

Una vez cargada todas las tablas auxiliares, necesitamos cargar la tabla principal,
es decir la tabla STG_Ventas. Esta tabla va a contener la relacin entre la tabla
STG_VENTAS y las dems tablas, adems de las medidas que sern utilizadas
cuando se desarrollen los Cubos OLAP.

Para completar estas tarea vamos, a utilizar un procedimiento almacenado, el cual
leer todas la tablas cargadas, adems de las tablas de Ordenes de la base de
datos Northwind, para cada una de ellas, obtendr su cdigo original y el
Surrogate Key creado para cada uno de ellos al momento de cargase a la base de
datos Northwind_Stage:

Del Cuadro de Herramientas seleccionamos de Elementos de Flujo la
tarea Tarea Ejecutar SQL y la arrastramos a Diseador.
Cambie el nombre de la tarea a Cargar_STG_VENTAS.
Clic derecho sobre la tarea y seleccionamos la opcin Editar.

Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las
siguientes propiedades:

Propiedad Valor
Connection Type OLE DB
Connection Localhost.Northwind_Stage
SQLStatement Execute USP_Carga_STG_Ventas

El stored procedure esta creado en la
base de datos stage.

El cdigo ser proporcionado y
explicado en clase.



I NTELI GENCI A DE NEGOCI OS LABORATORI O 95

CIBERTEC CARRERAS PROFESIONALES
Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea
Cargar STG_Ventas y ejectelo. Debe mostrar la siguiente pantalla:



Al finalizar la tarea, pare la ejecucin (Men Depurar / Detener
Depuracin).
Grabe el proyecto (Men Archivo / Guardar Todo).


2. GENERACION DEL FLUJO DE CONTROL DE UN PAQUETE.

Cuando realizamos la ejecucin de las tareas, estas se ejecutaron en forma
independiente una de otra, sin un orden lgico. Pero si analizamos la ejecucin de
todas las tareas, lo primero que debemos ejecutar es la tarea Limpiar Tablas que
es la tarea que me inicializa las tablas. Por otro lado, no se puede ejecutar la tarea
Completar Jefe de empleado, si antes no se ha terminado de ejecutar
correctamente la tarea Cargar STG_Empleado. Es decir, cuando se desarrolla un
paquete de SSIS, debemos indicarle cul es la secuencia en la que las tareas
deben ser ejecutadas.

Para definir el flujo de ejecucin de las tareas, SSIS maneja el Workflow o Flujo de
trabajo. Esto permite controlar el orden en que las tareas se deben ir ejecutando,
definiendo as un esquema de precedencias. En el ejemplo, seleccionamos la
primera tarea que debe ejecutarse (Limpiar Tablas). Veremos que de esta sale una
flecha verde.


Para definir la secuencia, solo hay que arrastrarla hacia la tarea(s) que se ejecutar(n)
despus.

96
CARRERAS PROFESIONALES CIBERTEC


Una variante de este comportamiento lo encontraremos cuando seleccionemos
la fecha verde y demos clic derecho. Aparecer un men flotante en el cual se
pueden apreciar 3 valores.



Correcto: La tarea se ejecuta solo si la tarea anterior se ha ejecutado
satisfactoriamente.
Error: La tarea se ejecuta solo si la tarea anterior se ha ejecutado con algn
error.
Conclusin: La tarea se ejecuta si la tarea anterior se ha terminado de
ejecutar sin tomar en cuenta que haya culminado satisfactoriamente o con
error.

Para nuestro caso, todas las tareas se deben ejecutar, si la tarea anterior se ha
ejecutado satisfactoriamente. Por lo tanto, la secuencia a configurar ser la que
muestra la siguiente pantalla:



I NTELI GENCI A DE NEGOCI OS LABORATORI O 97

CIBERTEC CARRERAS PROFESIONALES
Para ejecutar el paquete completo, ir a Menu Deploy / Iniciar Depuracin o F5.

Al finalizar la tarea, pare la ejecucin (Men Depurar / Detener Depuracin).


Grabe el proyecto (Men Archivo / Guardar Todo).
98
CARRERAS PROFESIONALES CIBERTEC

Autoevaluacin




1. Desarrolle el paquete que permita poblar la base de datos Northwind_Mart a
partir de la base de datos Northwind_Stage.

2. En la tabla DIM_Categora de la base de datos Northwind_Mart, cargue el
campo Categora_Grupo con la siguiente regla.

a. Bebidas y condimentos corresponde al Grupo 1
b. Confecciones, Lcteos y Cereales corresponde al Grupo 2
c. Carnes y pescados corresponde al Grupo 3
d. Otros corresponde a Otros

3. Defina el flujo de trabajo que deber seguir el paquete desarrollado en el punto
anterior.

4. investigue cmo funciona la tarea Lookup para la bsqueda de datos.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 99

CIBERTEC CARRERAS PROFESIONALES

Para recordar




1. SSIS, permite conectarnos a diferentes fuentes de datos: Bases de
datos, archivos Excel, archivos planos, etc. y manipular su informacin
de forma rpida y sencilla.

2. Las tareas de ETL de SSIS nos permiten manipular los datos extrados
de las diferentes fuentes a fin de que estas sean modificadas, limpiadas,
integradas, etc. antes de que pasen a la base de datos del Warehouse.

3. El flujo de trabajo nos permite tener un control sobre la secuencia de
ejecucin de las tareas. Asimismo, nos permite definir qu hacer en caso
de que estas tengan algn error.

































100
CARRERAS PROFESIONALES CIBERTEC























































I NTELI GENCI A DE NEGOCI OS LABORATORI O 101

CIBERTEC CARRERAS PROFESIONALES













Modelamiento Dimensional
Cubos (Parte 3)
OBJETIVOS ESPECFICOS
Reconocer el modelo de datos analtico de Northwind
Implementar una base de datos OLAP bsica
CONTENIDOS
Tablas dimensin y Fact table
Creacin de Base de datos OLAP
Creacin un origen de datos
Creacin de una vista de origen de datos
Creacin de un cubo simple (uso del asistente) , definir las dimensiones y medidas
ACTIVIDADES
Implementan un cubo con el asistente del Analysis Manager en base a la base de
datos pubs.









9-10
S E MA N A S
102
CARRERAS PROFESIONALES CIBERTEC

1. RECONOCER EL MODELO ANALTICO DE DATOS DE
NORTHWIND

La base de datos Northwind almacena las rdenes (ventas) de productos
alimenticios. Dichas rdenes (ventas) son solicitadas por diversos clientes, los
cuales estn situados en varios pases.


1.1. ESTRUCTURA DEL MODELO DIMENSIONAL








Actividad: Discusin en clase sobre modelo analtico de Northwind.

Objetivo : Reconocer las estructuras del modelo analtico y proponer
como analizar la informacin generada por Northwind a partir del
modelo






I NTELI GENCI A DE NEGOCI OS LABORATORI O 103

CIBERTEC CARRERAS PROFESIONALES


2. IMPLEMENTACIN DE LA BASE OLAP

2.1. CREACIN DE LA BASE DE DATOS OLAP

En este punto del curso, est en capacidad de implementar su base de datos
OLAP, tomando como base el modelo dimensional identificado en las
secciones anteriores. Esta base OLAP contendr estructuras tales como
dimensiones y cubos, los cuales sern posteriormente accesados y explotados
por el usuario final a travs de software clientes, tales como Microsoft Excel,
Reporting Services, Proclarity, entre otros.

La creacin de la base de datos OLAP se desarrolla sobre el SQL Server
Analysis Manager (SSAS); previamente debe activar el servicio desde el SQL
Server Configuration Manager (SSCM)




Ingrese al SQL Server Business Intelligence Development Studio, para crear un
proyecto Analtico






104
CARRERAS PROFESIONALES CIBERTEC

Ver la pantalla de bienvenida, donde podr observar los proyectos que se
estuvieron trabajando anteriormente. Para abrir uno de los proyectos, solo debe
hacer clic con el mouse sobre el nombre del proyecto





Ingrese al men Archivo, opcin Nuevo Proyecto, ver la siguiente pantalla :



Seleccione el tipo de proyecto indicado y la plantilla como muestra la figura
anterior.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 105

CIBERTEC CARRERAS PROFESIONALES
Cambie el valor del atributo Nombre por NW_OLAP, automticamente se
configura el nombre de la solucin, y deje marcada la casilla de Crear
Directorio para la solucin. Luego presione el botn Aceptar.



Creacin de un Data Source

Un DataSource permite establecer dnde est ubicada la base de datos
que tiene el modelo dimensional, con lo cual la base de datos OLAP podr
configurarse

o Haga clic derecho sobre Data Source y seleccione New Data Source


o Pase a la siguiente pantalla, si le aparece la ventana de bienvenida. A
continuacin, ver la pantalla de Select How to define the connection,
que permite seleccionar una conexin ya existente o crear una nueva al
presionar el botn New



106
CARRERAS PROFESIONALES CIBERTEC
o En la siguiente pantalla, se debe escoger un proveedor de datos,
ingresar el nombre del servidor donde reside el modelo dimensional (en
nuestro caso ser Personal), Usted ingrese el nombre segn sea su
caso, las credenciales de seguridad (en caso sea seguridad mixta, debe
marca la casilla de password) y luego escoja de la lista de bases de
datos Northwind_Mart. Pruebe la conexin. Luego, de clic en el botn
Aceptar.



o Verifique la conexin creada y d paso a la siguiente pantalla
Impersonation Information, donde configura el usuario con el cual
se conectara el SSAS.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 107

CIBERTEC CARRERAS PROFESIONALES



Seleccione Use The Service Account, de las opciones disponibles

o Termine el asistente de Data Source.



108
CARRERAS PROFESIONALES CIBERTEC
o Acaba de configurar el DataSource (fuente de datos), es posible
modificar la configuracin realizada





Creacin de un Data Source View

Si su DataSource tuviera todo el modelo de tablas de la empresa y usted
desea crear una solucin que solo involucre algunas de esas tablas, es
necesario crear un Data Source View.
El Data Source View, permite concentrarse solo en el conjunto de tablas
necesarias para la solucin, adems es posible crear campos calculados
o adicionales que no afectara la estructura real de las tablas.

o Haga clic derecho en Data Source View y seleccione New Data
Source View



I NTELI GENCI A DE NEGOCI OS LABORATORI O 109

CIBERTEC CARRERAS PROFESIONALES
o Seleccione el Data Source base Northwind_Mart y contine con el
asistente. Debe seleccionar las tablas necesarias para su solucin
analtica.




o Finalmente, termine el asistente. Se mostrar la siguiente pantalla.

110
CARRERAS PROFESIONALES CIBERTEC

Creacin de un cubo (Usando el asistente)

Un cubo es un objeto de la base de datos OLAP que est conformada,
principalmente, por dos estructuras Medidas y Dimensiones.

El cubo ser el objeto que el usuario final accesar para realizar su anlisis de
datos.

En este ejercicio, va a crear un cubo empleando el asistente para generar
jerarquas y atributos para cada dimensin. Ms adelante, se abordar el tema
de la personalizacin de las dimensiones y las medidas.


o Haga clic derecho sobre Cubes en el Solution Explorer, y seleccione
New Cube. Configure como muestra la figura

o Contine el asistente. ste analizar las estructuras y sugerir la
configuracin del cubo. Configure su cubo como muestra la figura. Note
que el asistente solicita una tabla tiempo.





I NTELI GENCI A DE NEGOCI OS LABORATORI O 111

CIBERTEC CARRERAS PROFESIONALES
o Contine y configure los campos de la dimensin tiempo que emplea el
SQL 2005 con las columnas de la tabla Dim_Tiempo que creamos hace
semanas atrs.



o Contine y configure las medidas a mostrar por el cubo




o Contine, el asistente muestra un resumen de lo generado de las
dimensiones y las medidas donde es posible modificar la estructura de
las dimensiones. Luego, termine el asistente.


112
CARRERAS PROFESIONALES CIBERTEC

Visualizacin de los datos de un cubo

Luego que termina de crear el cubo, lo puede seleccionar del Solution Explorer
y vera la siguiente figura. Note el Tab Browse, seleccinelo.



En caso vea una pantalla donde menciona que los datos no se pueden
visualizar, debe procesar el cubo. Seleccione el primer Icono de la barra de
botones del editor.


Se muestra la pantalla de Procesar Cubo pulse el botn RUN.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 113

CIBERTEC CARRERAS PROFESIONALES


La estrategia de almacenamiento requiere estimar el espacio generado por
los datos. Por defecto, emplea MOLAP que significa que los datos estarn
generados y disponibles antes de realizar la consulta, con lo cual el tiempo
de respuesta ser menor (en el momento del deployment del cubo).




Revise los datos del cubo en caso no sea factible, puede tratar presionando el
cono de reconexin.

114
CARRERAS PROFESIONALES CIBERTEC


La figura siguiente muestra el contenido de la pestaa BROWSE. Debe
arrastrar las dimensiones o atributos de ella (campos de las dimensiones) y las
medidas necesarias al cubo.

Se visualiza el monto total de las rdenes para los aos 1996,1997 y 1998 de
todos los pases donde tenemos clientes.



I NTELI GENCI A DE NEGOCI OS LABORATORI O 115

CIBERTEC CARRERAS PROFESIONALES
Se visualiza el monto total de las rdenes para los aos 1996 (detalle de
trimestres) 1997 y 1998 de todos los pases donde tenemos clientes, agrupado
por las diversas categoras a las cuales pertenece los productos..



116
CARRERAS PROFESIONALES CIBERTEC

Autoevaluacin




Cree un cubo para la base de datos pubs basado en el modelo dimensional que fue
creado en la seccin anterior.

























I NTELI GENCI A DE NEGOCI OS LABORATORI O 117

CIBERTEC CARRERAS PROFESIONALES

Para recordar




1. La base de datos OLAP se debe conectar a una base de datos que contenga el
modelo dimensional.

2. Definir el esquema de tablas es importante, debido a que a partir de ellos
podemos escoger entre los diversos tipos de dimensiones existentes.

3. Un cubo est conformado por dimensiones y medidas.


































118
CARRERAS PROFESIONALES CIBERTEC

I NTELI GENCI A DE NEGOCI OS LABORATORI O 119

CIBERTEC CARRERAS PROFESIONALES












Creacin de cubos
personalizacin (Parte 4)
OBJETIVOS ESPECFICOS
Reconocer el editor de dimensiones y cubo.
Implementar dimensiones primario secundario.
Configurar propiedades para dimensiones
Implementar cubos
CONTENIDOS
Personalizacin de un cubo
Ejecucin de un cubo empleado Integration Services
ACTIVIDADES
Implementan dimensiones personalizadas
Implementan paquetes que procesen cubos








11-12
S E MA N A S
120
CARRERAS PROFESIONALES CIBERTEC

1. PERSONALIZACION DE CUBOS

La personalizacin de un cubo permite afinar el resultado obtenido por el asistente,
aunque es posible crear un cubo sin l. A continuacin, desarrollar la
personalizacin del cubo de la sesin anterior, haciendo hincapi en el editor de
cubos y dimensiones.

1.1. El editor de cubos

Para que ingrese al editor de cubos, seleccione el cubo creado, pulse el botn derecho
del mouse y escoja la opcin View Designer (Ver diseador).


I NTELI GENCI A DE NEGOCI OS LABORATORI O 121

CIBERTEC CARRERAS PROFESIONALES

Se muestra el editor del cubo.


122
CARRERAS PROFESIONALES CIBERTEC

En la siguiente figura, se muestra la estructura lgica del cubo, en el cual se presenta
las dimensiones (jerarquas y atributos) y las medidas que lo conforman.



Tambin, se observa la barra de opciones del cubo que nos permite trabajar con :

Cube Structure Personaliza la estructura del cubo
Dimension Usage Personaliza las asociaciones entre las
dimensiones y las medidas del cubo (se
crean grupos.
Calculation Define nuevos miembros y medidas
basados en los ya existentes.
KPIs Permite definir indicadores de rendimiento
y el progreso de su avance en relacin a
un valor meta.
Actions Crea acciones que modifica los reportes y
el anlisis de detalle, estas acciones se
transfieren a las aplicaciones cliente.
Partitions Permite almacenar secciones de un cubo
en diferentes lugares con propiedades y
definiciones de agregaciones diferentes.
Perspective Reduce la complejidad de un cubo para un
I NTELI GENCI A DE NEGOCI OS LABORATORI O 123

CIBERTEC CARRERAS PROFESIONALES
usuario de negocio.
Translation Gestiona la personalizacin de los
nombres de los objetos del cubo.
Browser Permite visualizar y examinar los datos del
cubo.


Formateando medidas

Para formatear las medidas del cubo, debe hacer clic derecho sobre la medida y
escoger la opcin propiedades.



Renombrando las medidas del cubo



Finalmente, visualizamos el resultado del cubo. Debe ejecutar la actividad de procesar
el cubo previamente.

124
CARRERAS PROFESIONALES CIBERTEC



Vemos el resultado de los cambios :



I NTELI GENCI A DE NEGOCI OS LABORATORI O 125

CIBERTEC CARRERAS PROFESIONALES

Agregado de ms medidas

Si se desea agregar ms medidas, la tabla de hechos se arrastra el campo desde el
datasource view hasta el cubo.




Haga el siguiente ejercicio agregando las medidas mostradas.



126
CARRERAS PROFESIONALES CIBERTEC

1.2. El editor de dimensiones

Tiene dos formas de ingresar al editor de dimensiones.

1. Desde el editor de cubos , haga clic sobre el link Edit Dim_Producto



2. Desde la ventana de proyecto, haga doble clic sobre la dimensin a
personalizar




I NTELI GENCI A DE NEGOCI OS LABORATORI O 127

CIBERTEC CARRERAS PROFESIONALES
En ambos casos, visualizar el editor de dimensiones como en la siguiente figura



1.3 Personalizacin de las dimensiones

Dimensin: Dim_Cliente

Ingrese al editor de dimensiones para eliminar y/o agregar atributos y/o jerarquas
(agrupamiento de atributos o campos de una o ms tablas de dimensin)

Elimine los atributos innecesarios (campos no tiles para anlisis de datos), haga clic
derecho sobre el atributo y elimnelo.



128
CARRERAS PROFESIONALES CIBERTEC


Repita el procedimiento hasta dejar solo el atributo de Cliente Compaa ; adems, es
necesario que lo marque como KEY, que indica que ese atributos hace nico cada
elemento de la tabla de dimensin.

Es imperativo tener un atributo o jerarqua sealado como KEY



Ya que el atributo Cliente_Compaia es la llave de la dimensin, es necesario
relacionarlo con el Surrogate Key de dicha entidad. Para esto, debe usar la propiedad
KeyColumns. Luego, ser empleado cuando se definan las relaciones con el cubo.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 129

CIBERTEC CARRERAS PROFESIONALES


A continuacin, debe configurar la propiedad NameColumn, como muestra la figura.



130
CARRERAS PROFESIONALES CIBERTEC


Agregue atributos a la dimensin. Para esto, debe arrastrar los campos de la vista
DataSourceView al panel de atributos.




I NTELI GENCI A DE NEGOCI OS LABORATORI O 131

CIBERTEC CARRERAS PROFESIONALES
Cree una jerarqua como muestra la figura arrastrando los campos de la zona de
atributos al panel Herarchies and Levels y, luego, de clic en el nombre de la jerarqua
para asignarle un nombre.




Haga clic en la pestaa Browser y visualice las jerarquas creadas.

132
CARRERAS PROFESIONALES CIBERTEC


Para visualizar el cubo con la nueva dimensin personalizada Dim_Cliente, debe
configurar, dentro del cubo en Dimension Usage, el agrupamiento de medidas (indicar
qu campo de la Dim_Cliente se relaciona con la tabla de hechos y cul es el nivel de
granularidad escogido en dicha dimensin).

I NTELI GENCI A DE NEGOCI OS LABORATORI O 133

CIBERTEC CARRERAS PROFESIONALES




134
CARRERAS PROFESIONALES CIBERTEC

Visualizando el cubo



Dimensin: Dim_Empleado

Configure su dimensin como muestra la figura siguiente.


I NTELI GENCI A DE NEGOCI OS LABORATORI O 135

CIBERTEC CARRERAS PROFESIONALES
Configure el Dimension Usage del editor del cubo antes de visualizar los datos.


Dimensiones Primario Secundario:

Debe crear una dimensin que facilite el anlisis de la cuota facturada de las
rdenes atendidas por cada empleado, as como el total facturado por cada
empleado responsable de un grupo de trabajadores.


En la figura, se resalta los cambios que debe hacer al atributo que ha
seleccionado de la vista Dim_Empleado.


136
CARRERAS PROFESIONALES CIBERTEC
La visualizacin de esta dimensin ser la siguiente :




Note que en la consulta se muestra lo facturado de las rdenes atendidas por los
empleados supervisados por BUCHANAN STEVEN, pero a su vez se observa lo
generado por el propio BUCHANAN STEVEN, as como la sumatoria de ambos.




I NTELI GENCI A DE NEGOCI OS LABORATORI O 137

CIBERTEC CARRERAS PROFESIONALES

Dimensin: Dim_Producto



La dimensin producto, est compuesta por dos tablas de dimensin Dim_Categoria y
Dim_Productos. Cuando dos tablas de dimensin se relacionan entre si, se le
denomina copo de nieve o snowflake.

A continuacin, se muestra la figura de cmo debe configurar esta dimensin.



138
CARRERAS PROFESIONALES CIBERTEC
Configure posteriormente el Dimension Usage del cubo y procselo.





Dimensin: Dim_Tiempo

La dimensin tiempo permitir hacer el anlisis por diversos periodos de tiempo, es
decir, formar diversas agrupaciones para, por ejemplo, sumarizar los montos brutos.

A continuacin, se muestra colmo debe configurar dicha dimensin y las propiedades
que debe elegir para mejorar el ordenamiento de los datos.




I NTELI GENCI A DE NEGOCI OS LABORATORI O 139

CIBERTEC CARRERAS PROFESIONALES

Finalmente, actualice el Dimension Usage y procese el cubo.



140
CARRERAS PROFESIONALES CIBERTEC


1.3. PROCESAMIENTO DE UN CUBO DESDE SSIS

Debido a que los datos son actualizados en los sistemas transaccionales
continuamente y se requiere tener los datos a disposicin en el cubo, es imperativo
procesar el cubo, ya sea calendarizndolo o procesndolo en la demanda por el
usuario. Para tal fin, se usar un paquete construido en SSIS, el cual se ejecutar de
acuerdo al calendario establecido.

Debe estar seguro de que el agente del SQL Server este activo

.


Cree un proyecto en SSIS y arrastre la herramienta de procesamiento de Anlisis
Services.




Abra el SQL Server Management Studio y cree un Job o trabajo



I NTELI GENCI A DE NEGOCI OS LABORATORI O 141

CIBERTEC CARRERAS PROFESIONALES
Pngale un nombre al Job o trabajo.



Configure lo que desea ejecutar. Note que debe presionar el botn Nuevo (New);
luego ,scribir el nombre de la actividad, configurar el tipo de ejecucin, la fuente de
paquete ser File System, debido a que es un archivo o proyecto que ser indicado en
la parte inferior.



142
CARRERAS PROFESIONALES CIBERTEC
A continuacin seleccione las conexiones involucradas.



Finalmente, se debe indicar en qu momento ejecutarlo.












I NTELI GENCI A DE NEGOCI OS LABORATORI O 143

CIBERTEC CARRERAS PROFESIONALES
Autoevaluacin




Del modelo dimensional sobre la base de datos pubs, implemente el cubo con
las dimensiones que usted estime conveniente.


Defina el DTS que procese el cubo implementado































144
CARRERAS PROFESIONALES CIBERTEC
Para recordar




1. Debe estructurar sus tablas dimensin con campos potencialmente agrupables con
la finalidad de hacer anlisis de lo ms general a lo ms detallado.

2. Debe procesar el cubo cada vez que haga cambios estructurales en las medidas o
dimensiones.

3. Cada cambio en las estructuras de las dimensiones, debe ser procesado

4. Las tablas que presentan relaciones a s mismas son candidatas a tener
dimensiones tipo padre hijo.






I NTELI GENCI A DE NEGOCI OS LABORATORI O 145

CIBERTEC CARRERAS PROFESIONALES











Explotacin de datos
OBJETIVOS ESPECFICOS
Implementar Calculations en cubos OLAP
Accesar a los datos del cubo desde software clientes
Analizar datos con grficos.
CONTENIDOS
Expresiones MDX
Explotar los datos del cubo
ACTIVIDADES
Implementan cuadros y grficos que permitan el anlisis de los datos a partir del cubo
creado en las semanas anteriores










13-14
S E MA NA S
146
CARRERAS PROFESIONALES CIBERTEC
1. Implementacin de Calculations

A travs del lenguaje de expresiones MDX, es posible extender la funcionalidad de
los cubos a travs de la implementacin de Calculations, es decir, miembros
calculados, conjuntos de nombres y otros scripts.
De esta forma, explicaremos la creacin de miembros calculados
Miembros calculados: Los miembros calculados permiten definir medidas
derivadas a partir de las ya existentes en la tabla de hechos.
Ejemplo 1 : Generacin el miembro calculado Monto Neto
Haga clic en la pestaa Calculations y seleccione New Calculated Member.

En la pantalla siguiente, ingrese los siguientes valores para las propiedades de
Calculations: Name (es el nombre de la medida), Parent Property (seleccione
Measures, que indica que el campo calculado va a formar parte de las medidas ya
existentes) ,Expression (escriba el MDX), seleccione el formato y en Non Empty
Behavior seleccione las medidas involucradas en el MDX.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 147

CIBERTEC CARRERAS PROFESIONALES


A continuacin, se muestra el cdigo generado en MDX


Ejemplo 2 : Generacin el miembro calculado Variacin Monto
El siguiente miembro calculado permite encontrar la variacin entre un periodo de
tiempo actual y el inmediato anterior en referencia al monto generado.
148
CARRERAS PROFESIONALES CIBERTEC


El resultado ser el siguiente :

I NTELI GENCI A DE NEGOCI OS LABORATORI O 149

CIBERTEC CARRERAS PROFESIONALES
Ejemplo 3 : Generacin del miembro calculado Ratio Producto
A continuacin se muestra el resultado de otro miembro calculado. El calculo Ratio
Producto permite conocer el porcentaje de partipacin de cada producto en base al
total de la categora a la cual pertenece.
Genere usted la expresin MDX para este ejercicio.


2. Acceso a los datos del cubo

El acceso a los datos o explotacin de datos de un cubo se puede realizar desde
distintas herramientas clientes, como por ejemplo : Microsoft Excel, Reporting
Services, Proclarity, Cognos o cualquier aplicacin que, a travs de la una librera y
consultas MDX, pueda accesar a los datos.

Para efectos de nuestro curso, emplearemos Excel 2003 y los office Web Components
para visualizar los datos desde el browser.

Nota:
Si usted tiene MsExcel 2003 , es necesario que instale en su PC el OLEDB para SQL
Server 2005 SQLServer2005_ASOLEDB9.


150
CARRERAS PROFESIONALES CIBERTEC
2.1 Explotando el cubo desde MS Excel

Debe seguir los siguientes pasos para lograr conectarse al servidor analtico

Cargue el Excel y seleccione la opcin del men Nueva consulta de base de datos
del men Datos / Obtener datos externos.

En la pantalla mostrada, seleccione la tercera pestaa Cubos OLAP



Haga doble clic en Nuevo Origen de datos y configure su conexin de la
siguiente manera.




Presione el botn Conectar y escriba como nombre de servidor de anlisis
Localhost ; luego, presione siguiente y selecciona la base de datos OLAP.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 151

CIBERTEC CARRERAS PROFESIONALES




152
CARRERAS PROFESIONALES CIBERTEC

Finalmente, termine el asistente para mostrar la pantalla de conexin final
Note que en el punto 4, se selecciona el cubo a explotar (puede existir mas de
un cubo en la base de datos OLAP).



Acepte la pantalla anterior, as como la pantalla de Crear origen de datos.
Observar que el asistente para tablas y grficos dinmicos le solicita que
seleccione una celda donde se dibujar la tabla dinmica.




Nota :
Una tabla dinmica es una herramienta que permite reconfigurar el diseo de una
consulta y generar agrupamientos entre los niveles de la misma y agrupar los
resultados de acuerdo a las operaciones de sumarizacin.






I NTELI GENCI A DE NEGOCI OS LABORATORI O 153

CIBERTEC CARRERAS PROFESIONALES
Finalmente, se muestra el Excel con la estructura de la tabla dinmica. Ubique
el cursor dentro de una de las celdas de la tabla (es necesario que tenga la
barra de herramientas de tabla dinmica visible; para esto, puede ir al men
Ver/Barra de herramientas/Tabla dinmica)


154
CARRERAS PROFESIONALES CIBERTEC

Ejercicio Nro 1 :
Se desea mostrar el acumulado (monto bruto) de manera anual de todas las
rdenes generadas.


Para resolver el ejercicio:

Arrastre, de la lista de campos la dimensin que est relacionado con los
valores de los aos, por ejemplo, Tiempo Anio. Sitela en la zona Coloque
Campos de Fila Aqu.




Arrastre, de la lista de campos, la medida que est relacionado con el monto
bruto y sitela en la zona Coloque Datos Aqu.

El resultado ser el siguiente:



I NTELI GENCI A DE NEGOCI OS LABORATORI O 155

CIBERTEC CARRERAS PROFESIONALES

Ejercicio Nro 2 :
Se desea dejar la tabla dinmica sin ningn campo en ella.

Para resolver el ejercicio:

Arrastre, a partir de los nombre de los elementos que estn situados en la tabla
dinmica, hacia afuera de ella hasta que visualice una X de color roja


Ejercicio Nro 3 :
Se desea mostrar el detalle acumulado (monto bruto) por mes de cada ao de
todas las rdenes generadas.

Para resolver el ejercicio:

Arrastre, de la lista de campos, la dimensin que est relacionado con los
valores de los aos, por ejemplo, Tiempo Anio. Sitela en la zona Coloque
Campos de Fila Aqu.

Arrastre, de la lista de campos, la dimensin que est relacionado con los
valores de los meses, por ejemplo, Tiempo Descripcin Mes. Sitela a la
derecha del campo anteriormente seleccionado.




Arrastre, de la lista de campos, la medida que este relacionado con el monto
bruto y sitela en la zona Coloque Datos Aqu.

El resultado ser el siguiente :








156
CARRERAS PROFESIONALES CIBERTEC


Nota :

Si desea obtener un resultado como el que se muestra, solo debe arrastrar la
dimensin Tiempo Anio de la tabla del Excel sobre la COLUMNA TOTAL, de la tabla
del ejercicio anterior.



I NTELI GENCI A DE NEGOCI OS LABORATORI O 157

CIBERTEC CARRERAS PROFESIONALES

Ejercicio Nro 4:
Se desea mostrar el detalle (monto bruto) de cada da , mes, trimestre y ao de
todas las rdenes generadas.

Para resolver el ejercicio:

Arrastre, a partir de los nombre de los elementos que estn situados en la tabla
dinmica, hacia fuera de ella hasta que visualice una X de color roja.

Arrastre, de la lista de campos, la dimensin que est relacionado con los
valores de los aos/trimestres/meses/das; por ejemplo, Tiempo Ordenes,
sitela en la zona Coloque Campos de Fila Aqu.



Note la diferencia en los detalles de las dimensiones marcadas. La dimensin Tiempo_ordenes
presenta mayor detalle que la dimensin Tiempo Anio

Arrastre, de la lista de campos, la medida que est relacionado con el monto
bruto y sitela en la zona Coloque Datos Aqu.

El resultado ser el siguiente:











158
CARRERAS PROFESIONALES CIBERTEC

Note el nivel de detalle y acumulados que se consigue con esta dimensin


Ejercicio Nro 5:
Se desea comparar los detalles (monto bruto) de cada da, mes, trimestre y ao
de todas las rdenes generadas entre el segundo y cuarto trimestre del ao 1997

Para resolver el ejercicio:

Arrastre, a partir de los nombres de los elementos que estn situados en la
tabla dinmica, hacia afuera de ella hasta que visualice una X de color roja.

Arrastre, de la lista de campos, la medida que est relacionado con el monto
bruto y sitela en la zona Coloque Datos Aqu.

Arrastre, de la lista de campos, la dimensin que est relacionado con los
valores de los aos/trimestres/meses/das, por ejemplo, Tiempo Ordenes,
sitela en la zona Coloque Campos de Fila Aqu.
I NTELI GENCI A DE NEGOCI OS LABORATORI O 159

CIBERTEC CARRERAS PROFESIONALES

Seleccione los elementos de acuerdo al ejercicio



El resultado ser el siguiente:



Si desea un nivel de detalle mayor, solo haga doble clic sobre cualquiera de los
trimestres.



160
CARRERAS PROFESIONALES CIBERTEC
Ejercicio Nro 6:
Se desea comparar los detalles (monto bruto) de cada da, mes, trimestre y ao
de todas las rdenes generadas entre el segundo y cuarto trimestre del ao
1997, pero solo de los clientes que radican en Amrica del Norte (USA, Canad,
Mxico).

Para resolver el ejercicio:

Arrastre, a partir de los nombres de los elementos que estn situados en la
tabla dinmica, hacia afuera de ella hasta que visualice una X de color roja.

Arrastre, de la lista de campos, la medida que est relacionado con el monto
bruto y sitela en la zona Coloque Datos Aqu.

Arrastre, de la lista de campos, la dimensin que est relacionado con los
valores de los aos/trimestres/meses/das; por ejemplo, Tiempo Ordenes,
sitela en la zona Coloque Campos de Fila Aqu. Haga el filtro por el segundo
y cuarto trimestre del ao 1997.

Arrastre, de la lista de campos, la dimensin Cliente_Pais y situela en la zona
Coloque campos de Pagina Aqu .



Realice el filtro de acuerdo a la imagen y el requerimiento de la pregunta,




I NTELI GENCI A DE NEGOCI OS LABORATORI O 161

CIBERTEC CARRERAS PROFESIONALES
El resultado ser el siguiente:





Nota :

Si desea tener en cada hoja de su Excel distintos tipos de consultas para hacer el
anlisis de los indicadores, con el Mouse, seleccione toda la estructura de la tabla
dinmica de la hoja primera y, luego, pguela en la hoja destino. Esto generar otra
tabla dinmica independiente de la primera.


Ejercicio Nro 7:
Se desea analizar las cadas o subidas en referencia al monto facturado por la
colocacin de rdenes a todos los clientes por determinadas categoras y ante
cualquier unidad de tiempo

Para resolver el ejercicio:

Arrastre, a partir de los nombres de los elementos que estn situados en la
tabla dinmica, hacia afuera de ella hasta que visualice una X de color roja.
162
CARRERAS PROFESIONALES CIBERTEC

Muestre la siguiente consulta en Excel.



Recuerde que construy un miembro calculado llamado VARIACIONMONTO,
el cual mostraba la diferencia entre los montos brutos de dos periodos de
tiempo adyacentes, por ejemplo, Octubre Septiembre , 1998 1997 ,
Trimestre 3 Trimestre2. Este miembro calculado fue desarrollado a partir de
la dimensin Tiempo Ordenes, la cual debe estar presente en la consulta.

Agregue la medida VariacinMonto:



El resultado ser el siguiente:



I NTELI GENCI A DE NEGOCI OS LABORATORI O 163

CIBERTEC CARRERAS PROFESIONALES

Explicacin :

Lo cual indica que, en relacin a la categora bebidas;
En el trimestre 4 de 1997 se factur 736.25 menos que en el trimestre 3 del
mismo ao.
En el ao 1998 se factur 11289.75 ms que en el ao 1997


Con el propsito de visualizar mejor el resultado, es posible generar un grfico
a partir de la tabla dinmica mostrada. Sitese dentro de la tabla dinmica y
pulse la tecla F11; esto har que se genere automticamente un grfico de
barras en una hoja nueva.



Note que el grfico mantiene las dimensiones personalizables; adems, la lista
de campos est disponible para cambiar la estructura del grfico en cualquier
momento.

Si notamos las barras oscuras que representan la medida variacin, podemos
reconocer que, en el Trimestre 2 del ao 1997, la facturacin cay en relacin
al Trimestre 1 del mismo ao. El trimestre 3 tambin represent una cada en
relacin al trimestre 2, pero en menor cuanta que el comentado anteriormente.
Si analizamos el ao 1998, observamos que existe una subida en la
facturacin, pero no podemos concluir que la tendencia dentro de ese ao es
hacia arriba. Para eso podramos detallar el grfico a nivel de trimestre de los 3
aos.
164
CARRERAS PROFESIONALES CIBERTEC

Recuerde :
Para hacer comparaciones, es necesario hacerlas entre niveles similares, es decir,
aos con aos, meses con meses, etc.
Seleccione los trimestres a comparar de todos los aos disponibles,
desde el grfico generado.



El resultado ser el siguiente:

Se puede observar que, en 1998, no existe una tendencia hacia la alza, sino todo
lo contrario.


I NTELI GENCI A DE NEGOCI OS LABORATORI O 165

CIBERTEC CARRERAS PROFESIONALES

Retire la medida Monto Bruto, a travs del selector de Datos del grfico y,
luego, generaremos una lnea de comportamiento de la facturacin de las
rdenes.


Generemos la lnea de tendencia, haciendo clic derecho en cualquier barra y
seleccionando formato de serie de datos. Seleccione la casilla que se muestra
en la imagen y d Aceptar.

166
CARRERAS PROFESIONALES CIBERTEC


Finalmente, quedara de la siguiente manera:




Si desea incrustar el grfico junto a la tabla dinmica, debe hacer clic derecho y
seleccionar la opcin Ubicacin. Seleccione como objeto en hoja Hoja1.

I NTELI GENCI A DE NEGOCI OS LABORATORI O 167

CIBERTEC CARRERAS PROFESIONALES


2.2 Explotando el cubo desde Web Components

Grabe el archivo Excel con la tabla dinmica y un grfico incrustado en ella.
Seleccione la opcin Guardar como pgina Web.



Seleccione las opciones de acuerdo al grfico mostrado.

168
CARRERAS PROFESIONALES CIBERTEC



Luego de hacer clic en el botn Publicar, selecciona las opciones como
muestra la figura siguiente

o Elemento en Hoja1: Aqu se encuentra la tabla y el grfico. Si
selecciona el grfico, este llevar consigo a la tabla dinmica.
o Opciones de Presentacin: Marque agregar interactividad con la
funcionalidad del grfico para poder manipularlo posteriormente.
o Publicar como : Indica dnde y cul ser el nombre del archivo que se
debe publicar


I NTELI GENCI A DE NEGOCI OS LABORATORI O 169

CIBERTEC CARRERAS PROFESIONALES


170
CARRERAS PROFESIONALES CIBERTEC

Presione el botn Publicar y, luego, abra el archivo generado.



Desde los Web Components, es posible reestructurar el diseo de la consulta
debido a que tenemos disponibles la lista de campos de tabla dinmica.

Ejercicio Nro 8:
Muestre un grfico circular con los montos facturados de todas las rdenes que
han sido atendidas por cada vendedor.




I NTELI GENCI A DE NEGOCI OS LABORATORI O 171

CIBERTEC CARRERAS PROFESIONALES
Autoevaluacin




Del cubo referente a pubs, implemente el acceso a los datos desde pginas
web, empleado los web components
Para qu se emplea los grficos de barras?
Para qu se emplean los grficos de pie?






























172
CARRERAS PROFESIONALES CIBERTEC
Para recordar




1. La interfaz del usuario finalmente representa todo el esfuerzo del proyecto,
as que debe ser muy sencilla y flexible.

2. Debe tener en cuenta que un grfico es ms directo que un cuadro.

3. Recuerde que los grficos tienen cada uno un objetivo , as que debe
seleccionar el adecuado




I NTELI GENCI A DE NEGOCI OS LABORATORI O 173

CIBERTEC CARRERAS PROFESIONALES











Prctica de laboratorio
Sustentacin de proyectos
OBJETIVO ESPECFICO
Demostrar el nivel alcanzado


15-16
S E MA NA

Vous aimerez peut-être aussi