Inteligencia de Negocios Laboratorio
Inteligencia de Negocios Laboratorio
Laboratorio
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
ndice
Presentacin Sesiones de aprendizaje
SEMANA 1 - SEMANA 2
SEMANA 3 - SEMANA 4
: Soluciones OLAP Instalacin de SQL Server Analysis Services Instalacion de SQL Server Integration Services Entorno del Servidor de Analysis Services. : Modelamiento dimensional Caso prctico (Parte 1) Herramientas ETL (Integration Services)
31
SEMANA 5 - SEMANA 6
: Modelamiento dimensional (Parte 2) Herramientas ETL (Integration Services) Avanzado : Semana de exmenes parciales de teora 81
SEMANA 7
SEMANA 8
SEMANA 9 - SEMANA 10
105
SEMANA 11 - SEMANA 12
119
SEMANA 13 - SEMANA 14
145
SEMANA 15 - SEMANA 16
: Sustentacin de proyectos
173
CIBERTEC
CARRERAS PROFESIONALES
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
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.
CIBERTEC
CARRERAS PROFESIONALES
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
SEMANA
1-2
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)
CIBERTEC
CARRERAS PROFESIONALES
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
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
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.
CIBERTEC
CARRERAS PROFESIONALES
10
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.
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
11
Cuadro N1: Anlisis mostrado. Total facturado. Agrupado por categoras para el ao 1996
CIBERTEC
CARRERAS PROFESIONALES
12
Cuadro N2: Anlisis mostrado Comparacin del total facturado. Agrupado por categoras para los aos 1996 y 1998
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
13
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
CIBERTEC
CARRERAS PROFESIONALES
14
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
15
CIBERTEC
CARRERAS PROFESIONALES
16
CARRERAS PROFESIONALES
CIBERTEC
INTELIGENCIA DE NEGOCIOS
LABORATORIO
17
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.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:
CIBERTEC
CARRERAS PROFESIONALES
19
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
CARRERAS PROFESIONALES
CIBERTEC
20
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.
CARRERAS PROFESIONALES
CIBERTEC
21
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.
CIBERTEC
CARRERAS PROFESIONALES
22
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
CARRERAS PROFESIONALES
CIBERTEC
23
(*) 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
CIBERTEC
CARRERAS PROFESIONALES
24
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
CARRERAS PROFESIONALES
CIBERTEC
25
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
CIBERTEC
CARRERAS PROFESIONALES
26
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
CARRERAS PROFESIONALES
CIBERTEC
27
Es posible verificar los servicios del SQL SERVER desde el administrador de servicios del Sistema Operativo.
D. Seleccionar como tipo de Servidor : Analysis Services. Colocar como nombre del servidor : Localhost. Clic en Conectar
CIBERTEC
CARRERAS PROFESIONALES
28
Cubos Dimensiones
CARRERAS PROFESIONALES
CIBERTEC
29
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.
CIBERTEC
CARRERAS PROFESIONALES
30
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.
CARRERAS PROFESIONALES
CIBERTEC
31
SEMANA
3-4
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
ACTIVIDADES
Construye un modelo dimensional en base a la base de datos pubs.
CIBERTEC
CARRERAS PROFESIONALES
32
1.1.
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. 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. La tabla registra la informacin relacionada con las categoras que agrupan varios 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. 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.
Employees (Empleados)
Categoras (Categoras)
Products (Productos)
Orders (Ordenes)
Order Details (Detalle de La tabla registra el detalle de cada lnea de producto Ordenes) de cada orden generada, es decir, el producto, la orden, la cantidad solicitada, el precio unitario y el descuento.
CARRERAS PROFESIONALES
CIBERTEC
33
1.2.
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.
CIBERTEC
CARRERAS PROFESIONALES
34
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.
CARRERAS PROFESIONALES
CIBERTEC
35
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
CIBERTEC
CARRERAS PROFESIONALES
36
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
CARRERAS PROFESIONALES
CIBERTEC
37
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.
CIBERTEC
CARRERAS PROFESIONALES
38
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
CARRERAS PROFESIONALES
CIBERTEC
39
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
CIBERTEC
CARRERAS PROFESIONALES
40
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.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.
CARRERAS PROFESIONALES
CIBERTEC
41
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 o o o o Anlisis comparativos de monto facturado entre categoras por periodos de tiempo Anlisis geogrfico por pases de clientes que solicitan ordenes por periodos de tiempo Anlisis de productos con problemas de aceptacin por rangos de tiempo Comparativos entre meses relacionados a monto de facturacin Encontrar los peridos de tiempo con menos ingresos (facturacin) para la empresa con respecto a las rdenes
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
CIBERTEC
CARRERAS PROFESIONALES
42
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)
CARRERAS PROFESIONALES
CIBERTEC
43
2.3.
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.
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.
CIBERTEC
CARRERAS PROFESIONALES
44
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.).
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
CARRERAS PROFESIONALES
CIBERTEC
45
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
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).
CIBERTEC
CARRERAS PROFESIONALES
46
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).
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.
CARRERAS PROFESIONALES
CIBERTEC
47
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.
CIBERTEC
CARRERAS PROFESIONALES
48
Del modelo dimensional (MD) se puede concluir: o o o El M.D, est en esquema estrella, pues las tablas dimensin se conectan con la tabla de hechos directamente. Las estructuras de las tablas del M.D. presentan diferencias con las del modelo E-R. Existe una recodificacin total para los cdigos originales.
CARRERAS PROFESIONALES
CIBERTEC
49
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
CIBERTEC
CARRERAS PROFESIONALES
50
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.
CARRERAS PROFESIONALES
CIBERTEC
51
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.
CIBERTEC
CARRERAS PROFESIONALES
52
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.
Definicin de las fuentes de datos que intervendran en dicha solucin o o o El ETL involucra un solo servidor o ms de uno? El ETL involucra solo servidores SQL SERVER? 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
CARRERAS PROFESIONALES
CIBERTEC
53
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.
CIBERTEC
CARRERAS PROFESIONALES
54
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).
CARRERAS PROFESIONALES
CIBERTEC
55
Si vemos en Proveedor, vamos a encontrar los diferentes orgenes a los cuales nos podemos conectar desde SSIS.
En nuestro caso, por encontrarse Northwind tambin en SQL Server 2005, elegiremos el proveedor SQL Native Client.
CIBERTEC
CARRERAS PROFESIONALES
56
o 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. Seleccionamos la base de datos a la cual nos vamos a conectar. En este caso, Northwind. La pantalla final debe ser como muestra la siguiente figura.
Finalmente probamos la conexin. Para verificar que nos podamos conectar a la base de datos seleccionada. Clic en Probar Conexin.
Clic en Aceptar
Una vez configurada la conexin, le asignamos un nombre: Northwind OLTP. Clic en Finalizar.
CARRERAS PROFESIONALES
CIBERTEC
57
Aparece la pantalla donde seleccionaremos las tablas que utilizaremos en el desarrollo de los paquetes de ETL. Clic en siguiente.
CIBERTEC
CARRERAS PROFESIONALES
58
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.
CARRERAS PROFESIONALES
CIBERTEC
59
CIBERTEC
CARRERAS PROFESIONALES
60
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)
CARRERAS PROFESIONALES
CIBERTEC
61
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 Limpiar Tablas Limpiar las Tablas del Stage Area OLE DB Localhost.Northwind_Stage Truncate Table STG_Cliente
CIBERTEC
CARRERAS PROFESIONALES
62
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)
CARRERAS PROFESIONALES
CIBERTEC
63
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.
CIBERTEC
CARRERAS PROFESIONALES
64
SSIS dentro del flujo de control nos permite conectarnos a los siguientes orgenes:
Para desarrollar nuestra Tarea de flujo de datos seguiremos los siguientes pasos:
CARRERAS PROFESIONALES
CIBERTEC
65
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
Administrador de Conexin OLE DB Modo de Acceso a Datos Nombre de la tabla o vista
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.
CIBERTEC
CARRERAS PROFESIONALES
66
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.
CARRERAS PROFESIONALES
CIBERTEC
67
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
CIBERTEC
CARRERAS PROFESIONALES
68
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
Administrador de conexin OLE DB Modo de acceso a datos Nombre de la tabla o vista
En la opcin de Asignaciones, relacionamos las columnas del origen (o de las transformaciones) con las columnas del destino. Origen
CustomerID CompanyName ContactName Address City Region PostalCode Country
CARRERAS PROFESIONALES
CIBERTEC
69
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).
CIBERTEC
CARRERAS PROFESIONALES
70
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 Administrador de Conexin OLE DB Modo de Acceso a Datos Nombre de la tabla o vista Columnas Valor Northwind_OLTP Tabla o Vista [dbo].[Products] 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
CARRERAS PROFESIONALES
CIBERTEC
71
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
Columna de entrada Alias de ealida Tipo de datos Longitud
Valor
ProductName ProductName_Varchar Cadena[DT_STR] 35
CIBERTEC
CARRERAS PROFESIONALES
72
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
Administrador de Conexin OLE DB Modo de Acceso a Datos Nombre de la tabla o vista
Valor
Localhost.Northwind_Stage 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
ProductID ProductName_Varchar CategoryID UnitPrice
Destino
Producto_Codigo Producto_Nombre Producto_PUnitario CategoriaProducto_Codigo
Clic en Aceptar.
CARRERAS PROFESIONALES
CIBERTEC
73
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).
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.
CIBERTEC
CARRERAS PROFESIONALES
74
Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las siguientes propiedades:
Propiedad
Administrador de conexin OLE DB Modo de acceso a datos Texto de comando SQL
Valor
Northwind_OLTP 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:
CARRERAS PROFESIONALES
CIBERTEC
75
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
Nombre de columna Columna derivada Expresin Tipo de datos Longitud
Valor
FullName <agregar como columna nueva> TRIM( [LastName] )+" "+TRIM( [FirstName]) Cadena Unicode[DT_WSTR]
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.
CIBERTEC
CARRERAS PROFESIONALES
76
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
Administrador de conexin OLE DB Modo de acceso a datos Nombre de la tabla o vista
Valor
Localhost.Northwind_Stage 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
EmployeeID LastName FirstName Address City Region PostalCode Country ReportsTo FullName
Destino
Empleado_Codigo Empleado_Apellido Empleado_Nombre Empleado_Direccin Empleado_Ciudad Empleado_Region Empleado_Postal Empleado_Pais Empleado_ReportID Empleado_NombreCompleto
Clic en Aceptar.
CARRERAS PROFESIONALES
CIBERTEC
77
SuperiorSkey
Empleado_Superior
sern
Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea Cargar STG_Empleado y ejectelo. Debe mostrar la siguiente pantalla:
Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las siguientes propiedades:
Propiedad
Connection Type Connection SQLStatement
Valor
OLE DB Localhost.Northwind_Stage Execute USP_Completa_Jefe El stored procedure esta creado en la base de datos stage. El cdigo ser proporcionado y explicado en clase.
CIBERTEC
CARRERAS PROFESIONALES
78
Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea Completar Jefe de Empleado y ejectelo. Debe mostrar la siguiente pantalla:
CARRERAS PROFESIONALES
CIBERTEC
79
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.
CIBERTEC
CARRERAS PROFESIONALES
80
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
CARRERAS PROFESIONALES
CIBERTEC
81
SEMANA
5-6
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.
CIBERTEC
CARRERAS PROFESIONALES
82
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
CARRERAS PROFESIONALES
CIBERTEC
83
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
Administrador de conexin OLE DB Modo de acceso a datos Nombre de la tabla o vista Columnas
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:
CIBERTEC
CARRERAS PROFESIONALES
84
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
CARRERAS PROFESIONALES
CIBERTEC
85
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
DescripcionTrimestre DescripcionMes DescripcionDiaSemana DescripcionSemestre o
Tipo de Dato
DT_STR(15) DT_STR(10) DT_STR(10) DT_STR(15)
CIBERTEC
CARRERAS PROFESIONALES
86
CARRERAS PROFESIONALES
CIBERTEC
87
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
CIBERTEC
CARRERAS PROFESIONALES
88
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
Administrador de conexin OLE DB Modo de acceso a datos Nombre de la tabla o vista
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.
CARRERAS PROFESIONALES
CIBERTEC
89
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).
CIBERTEC
CARRERAS PROFESIONALES
90
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.
CARRERAS PROFESIONALES
CIBERTEC
91
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
CategoryID CategoryName
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 Nombre Administrador de conexin OLE DB Columnas Valor Leer Categora Archivo Categora CategoryID CategoryName Valor Grabar STG_CategoriaProducto Localhost.Northwind_Stage Tabla o Vista [dbo].[STG_CategoriaProducto] CategoryID Categora_Codigo CategoryName Categora_Nombre
Destino de OLE DB Nombre Administrador de conexin OLE DB Modo de acceso a datos Nombre de la tabla o vista Asignaciones
Clic en Aceptar
Para poder probar el paquete, ubquese en Flujo de control, seleccione la tarea Cargar STG_Categoria y ejectelo. Debe mostrar la siguiente pantalla :
CIBERTEC
CARRERAS PROFESIONALES
92
Al finalizar la taream pare la ejecucin (Men Depurar / Detener Depuracin). Grabe el proyecto (Men Archivo / Guardar Todo).
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
Connection Type Connection SQLStatement
Valor
OLE DB Localhost.Northwind_Stage Execute USP_Completa_Categoria El stored procedure esta creado en la base de datos stage.
CARRERAS PROFESIONALES
CIBERTEC
93
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).
CIBERTEC
CARRERAS PROFESIONALES
94
Aparece la pantalla con las propiedades de la tarea seleccionada. Configure las siguientes propiedades:
Propiedad
Connection Type Connection SQLStatement
Valor
OLE DB Localhost.Northwind_Stage Execute USP_Carga_STG_Ventas El stored procedure esta creado en la base de datos stage. El cdigo ser proporcionado y explicado en clase.
CARRERAS PROFESIONALES
CIBERTEC
95
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).
Para definir la secuencia, solo hay que arrastrarla hacia la tarea(s) que se ejecutar(n) despus.
CIBERTEC
CARRERAS PROFESIONALES
96
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:
CARRERAS PROFESIONALES
CIBERTEC
97
Para ejecutar el paquete completo, ir a Menu Deploy / Iniciar Depuracin o F5. Al finalizar la tarea, pare la ejecucin (Men Depurar / Detener Depuracin).
CIBERTEC
CARRERAS PROFESIONALES
98
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. b. c. d. Bebidas y condimentos corresponde al Grupo 1 Confecciones, Lcteos y Cereales corresponde al Grupo 2 Carnes y pescados corresponde al Grupo 3 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.
CARRERAS PROFESIONALES
CIBERTEC
99
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.
CIBERTEC
CARRERAS PROFESIONALES
100
CARRERAS PROFESIONALES
CIBERTEC
101
SEMANAS
9-10
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.
CIBERTEC
CARRERAS PROFESIONALES
102
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
CARRERAS PROFESIONALES
CIBERTEC
103
Ingrese al SQL Server Business Intelligence Development Studio, para crear un proyecto Analtico
CIBERTEC
CARRERAS PROFESIONALES
104
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
CARRERAS PROFESIONALES
CIBERTEC
105
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.
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
CIBERTEC
CARRERAS PROFESIONALES
106
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.
CARRERAS PROFESIONALES
CIBERTEC
107
CIBERTEC
CARRERAS PROFESIONALES
108
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
CARRERAS PROFESIONALES
CIBERTEC
109
Seleccione el Data Source base Northwind_Mart y contine con el asistente. Debe seleccionar las tablas necesarias para su solucin analtica.
CIBERTEC
CARRERAS PROFESIONALES
110
CARRERAS PROFESIONALES
CIBERTEC
111
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.
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.
CIBERTEC
CARRERAS PROFESIONALES
112
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.
CARRERAS PROFESIONALES
CIBERTEC
113
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.
CIBERTEC
CARRERAS PROFESIONALES
114
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.
CARRERAS PROFESIONALES
CIBERTEC
115
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..
CIBERTEC
CARRERAS PROFESIONALES
116
Autoevaluacin
Cree un cubo para la base de datos pubs basado en el modelo dimensional que fue creado en la seccin anterior.
CARRERAS PROFESIONALES
CIBERTEC
117
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.
CIBERTEC
CARRERAS PROFESIONALES
118
CARRERAS PROFESIONALES
CIBERTEC
119
SEMANAS
11-12
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
CIBERTEC
CARRERAS PROFESIONALES
120
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.
CARRERAS PROFESIONALES
CIBERTEC
121
CIBERTEC
CARRERAS PROFESIONALES
122
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 :
Calculation KPIs
Actions
Partitions
Perspective
Personaliza la estructura del cubo Personaliza las asociaciones entre las dimensiones y las medidas del cubo (se crean grupos. Define nuevos miembros y medidas basados en los ya existentes. Permite definir indicadores de rendimiento y el progreso de su avance en relacin a un valor meta. Crea acciones que modifica los reportes y el anlisis de detalle, estas acciones se transfieren a las aplicaciones cliente. Permite almacenar secciones de un cubo en diferentes lugares con propiedades y definiciones de agregaciones diferentes. Reduce la complejidad de un cubo para un
CARRERAS PROFESIONALES
CIBERTEC
123
Translation Browser
usuario de negocio. Gestiona la personalizacin de los nombres de los objetos del cubo. 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.
Finalmente, visualizamos el resultado del cubo. Debe ejecutar la actividad de procesar el cubo previamente.
CIBERTEC
CARRERAS PROFESIONALES
124
CARRERAS PROFESIONALES
CIBERTEC
125
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.
CIBERTEC
CARRERAS PROFESIONALES
126
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
CARRERAS PROFESIONALES
CIBERTEC
127
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.
CIBERTEC
CARRERAS PROFESIONALES
128
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.
CARRERAS PROFESIONALES
CIBERTEC
129
CIBERTEC
CARRERAS PROFESIONALES
130
Agregue atributos a la dimensin. Para esto, debe arrastrar los campos de la vista DataSourceView al panel de atributos.
CARRERAS PROFESIONALES
CIBERTEC
131
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.
CIBERTEC
CARRERAS PROFESIONALES
132
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).
CARRERAS PROFESIONALES
CIBERTEC
133
CIBERTEC
CARRERAS PROFESIONALES
134
Visualizando el cubo
CARRERAS PROFESIONALES
CIBERTEC
135
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.
CIBERTEC
CARRERAS PROFESIONALES
136
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.
CARRERAS PROFESIONALES
CIBERTEC
137
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.
CIBERTEC
CARRERAS PROFESIONALES
138
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.
CARRERAS PROFESIONALES
CIBERTEC
139
CIBERTEC
CARRERAS PROFESIONALES
140
1.3.
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
CARRERAS PROFESIONALES
CIBERTEC
141
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.
CIBERTEC
CARRERAS PROFESIONALES
142
CARRERAS PROFESIONALES
CIBERTEC
143
Autoevaluacin
Del modelo dimensional sobre la base de datos pubs, implemente el cubo con las dimensiones que usted estime conveniente.
CIBERTEC
CARRERAS PROFESIONALES
144
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.
CARRERAS PROFESIONALES
CIBERTEC
145
SEMANAS
13-14
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
CIBERTEC
CARRERAS PROFESIONALES
146
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.
CARRERAS PROFESIONALES
CIBERTEC
147
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.
CIBERTEC
CARRERAS PROFESIONALES
148
CARRERAS PROFESIONALES
CIBERTEC
149
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.
CIBERTEC
CARRERAS PROFESIONALES
150
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.
CARRERAS PROFESIONALES
CIBERTEC
151
CIBERTEC
CARRERAS PROFESIONALES
152
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.
CARRERAS PROFESIONALES
CIBERTEC
153
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)
CIBERTEC
CARRERAS PROFESIONALES
154
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:
CARRERAS PROFESIONALES
CIBERTEC
155
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 :
CIBERTEC
CARRERAS PROFESIONALES
156
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.
CARRERAS PROFESIONALES
CIBERTEC
157
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:
CIBERTEC
CARRERAS PROFESIONALES
158
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.
CARRERAS PROFESIONALES
CIBERTEC
159
Si desea un nivel de detalle mayor, solo haga doble clic sobre cualquiera de los trimestres.
CIBERTEC
CARRERAS PROFESIONALES
160
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 .
CARRERAS PROFESIONALES
CIBERTEC
161
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.
CIBERTEC
CARRERAS PROFESIONALES
162
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:
CARRERAS PROFESIONALES
CIBERTEC
163
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.
CIBERTEC
CARRERAS PROFESIONALES
164
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.
Se puede observar que, en 1998, no existe una tendencia hacia la alza, sino todo lo contrario.
CARRERAS PROFESIONALES
CIBERTEC
165
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.
CIBERTEC
CARRERAS PROFESIONALES
166
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.
CARRERAS PROFESIONALES
CIBERTEC
167
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.
CIBERTEC
CARRERAS PROFESIONALES
168
Luego de hacer clic en el botn Publicar, selecciona las opciones como muestra la figura siguiente o o o Elemento en Hoja1: Aqu se encuentra la tabla y el grfico. Si selecciona el grfico, este llevar consigo a la tabla dinmica. Opciones de Presentacin: Marque agregar interactividad con la funcionalidad del grfico para poder manipularlo posteriormente. Publicar como : Indica dnde y cul ser el nombre del archivo que se debe publicar
CARRERAS PROFESIONALES
CIBERTEC
169
CIBERTEC
CARRERAS PROFESIONALES
170
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.
CARRERAS PROFESIONALES
CIBERTEC
171
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?
CIBERTEC
CARRERAS PROFESIONALES
172
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
CARRERAS PROFESIONALES
CIBERTEC
173
SEMANA
15-16
Prctica de laboratorio Sustentacin de proyectos
OBJETIVO ESPECFICO Demostrar el nivel alcanzado
CIBERTEC
CARRERAS PROFESIONALES