microsoft analysis services tecnología olap -manual ssas autor : asto caceres

42
Developers Group Tiempo Cliente Producto Sql Server Analysis Services 2008 Diseño Multidimensional Tecnología OLAP Tutorial SSAS C.Roberto Asto Caceres [email protected]

Upload: carasto

Post on 29-Jun-2015

1.480 views

Category:

Documents


6 download

DESCRIPTION

Sql Server Analysis Services 2008Diseño MultidimensionalTecnología OLAPTutorialSSAS

TRANSCRIPT

Page 1: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Developers Group

Tiempo

Cliente

Producto

Sql Server Analysis Services 2008 Diseño Multidimensional

Tecnología OLAP Tutorial

SSAS

C.Roberto Asto Caceres [email protected]

Page 2: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

1.-Uso de Microsoft Analysis Services En este apartado se introduce al lector en el uso de la herramienta de Microsoft que permite hacer análisis multidimensional. Su nombre es Microsoft Analysis Services. A continuación se realizan unas consideraciones que van a ayudar a hacer un buen uso de la herramienta. Un cubo OLAP es una representación multidimensional de los datos detallados (filas concretas) y de los resumidos (agregados). Se utilizan para consultas analíticas complejas que buscan información en la base de datos desde puntos de vista distintos, que quedan establecidos por sus dimensiones. Cada cubo representa una entidad de negocio diferente, como ventas o recursos humanos. Los cubos se crean a partir de un esquema de base de datos en estrella o en copo de nieve. Estos se caracterizan por tener tablas de hechos y tablas de dimensiones. Las tablas de hechos guardan los datos históricos. Estos generalmente son medidas numéricas que describen una transacción del negocio que se trate (ventas, transacciones bancarias) Las tablas de dimensiones se emplean para especificar el significado de los datos contenidos en la tabla de hechos. El esquema en estrella, se caracteriza por tener una tabla de hechos en el centro rodeada de tablas de dimensiones que contienen la descripción de los hechos desmoralizados. El esquema en copo de nieve es una extensión del modelo en estrella en el que una o más dimensiones se definen por varias tablas. 2.- Construcción Base de Datos de Origen Creado la Base de Datos Use master Go Create Database Cubo_Ventas_OLAP On Primary ( Name = 'Cubo_Ventas_Data', FileName = 'D:\BIData\Cubo_Ventas_Data.MDF', Size = 6Mb, MaxSize = UnLimited, FileGrowth = 1Mb ) Log On ( Name = 'Cubo_Ventas_Log', FileName = 'D:\BIData\Cubo_Ventas_Log.LDF', Size = 3Mb, Maxsize = 20Mb, FileGrowth = 1Mb ) Go

Page 3: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Tablas de Dimensión Use Cubo_Ventas_OLAP Go Tablas de Dimensión Tiempo_Dim Create Table Tiempo_Dim ( TiempoKey Int Identity(1,1) Not Null Primary Key, Fecha DateTime Not Null, Dia nVarchar(20) Not Null, Mes Int Not Null, Año Int Not Null, Trimestre Int Not Null, MesAño nVarchar(16) Not Null, DiaSemana Int Not Null, DiaAño Int Not Null, SemanaAño Int Not Null ) Tablas de Dimensión Cliente_Dim Create Table Cliente_Dim ( ClienteKey Int Identity(1,1) Not Null Primary Key, ClienteID nChar(5) Not Null, Empresa nVarchar(40) Not Null, NombreCliente nVarchar(30) Not Null, CargoCliente nVarchar(30) Not Null, Direccion nVarchar(60) Not Null, Localidad nVarchar(15) Not Null, Region nVarchar(15) Not Null, CodigoPostal nVarchar(10) Not Null, Pais nVarchar(15) Not Null, Telefono nVarchar(24) Not Null, Fax nVarchar(24) Null ) Tablas de Dimensión Empleado_Dim Create Table Empleado_Dim ( EmpleadoKey Int Identity(1,1) Not Null Primary Key, EmpleadoID Int Not Null, EmpleadoName nVarchar(30) Not Null, FechaInicioContrato DateTime Not Null, FechaNacimiento DateTime Not Null, Salario Money Not Null, Puesto nVarchar(30) Not Null )

Page 4: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Tablas de Dimensión Producto_Dim Create Table Producto_Dim ( ProductoKey Int Identity(1,1) Not Null Primary Key, ProductoID Int Not Null, ProductoNombre nVarchar(40) Not Null, SuministradorNombre nVarchar(40) Not Null, CategoriaNombre nVarchar(15) Not Null, MinimoStock Money Not Null, UnidadPrecio Money Not Null, CantidadPorUnidad nvarchar(20) Not Null ) Tablas de Dimensión Transporte_Dim Create Table Transporte_Dim ( TransporteKey Int Identity(1,1) Not Null Primary Key, TransporteID Int Not Null, Nombre nvarchar(40) Not Null ) Tablas de Hechos Ventas_Fact Create Table Ventas_Fact ( TiempoKey Int Not Null, ClienteKey Int Not Null, EmpleadoKey Int Not Null, ProductoKey Int Not Null, TransporteKey Int Not Null, FechaRequeriada DateTime Not Null, FechaEnvio DateTime Not Null, UnidadesLinea Money Not Null, TotalLinea Money Not Null, CosteFleteLinea Money Not Null, DescuentoTotalLinea Money Not Null, BeneficioTotalLinea Money Not Null, )

Page 5: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Agregando Clave Primaria a las Tablas de Dimensión Alter Table Ventas_Fact Add Primary Key (TiempoKey, ClienteKey, EmpleadoKey, ProductoKey, TransporteKey) Go Agregando Clave Secundaria a las Tablas de Dimensión Use Cubo_Ventas_OLAP Go Alter Table Ventas_Fact Add Foreign Key (TiempoKey) References Tiempo_Dim(TiempoKey) Go Alter Table Ventas_Fact Add Foreign Key (ClienteKey) References Cliente_Dim(ClienteKey) Go Alter Table Ventas_Fact Add Foreign Key (TransporteKey) References Transporte_Dim(TransporteKey) Go Alter Table Ventas_Fact Add Foreign Key (ProductoKey) References Producto_Dim(ProductoKey) Go Alter Table Ventas_Fact Add Foreign Key (EmpleadoKey) References Empleado_Dim(EmpleadoKey) Go Tabla Cliente_Dim

Recíprocamente las demás Tablas de Dimensión se encuentran vacías, para ello realizamos el mecanismo de migración de datos, a continuación. Construyendo SELECT para Cargar Data (Migración de Datos) Migramos Datos de la Base de Datos Nortwind a la Base de Datos Cubo_Ventas_OLAP

Page 6: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Tabla Northwind.dbo.Customers Tabla Cubo_Ventas_OLAP.dbo.Cliente_Dim INSERT INTO Cubo_Ventas_OLAP.dbo.Cliente_Dim SELECT CustomerID,CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Northwind.dbo.Customers GO SELECT * FROM Cubo_Ventas_OLAP.dbo.Cliente_Dim GO Tabla Northwind.dbo.Employees Tabla Cubo_Ventas_OLAP.dbo.Empleado_Dim SELECT * FROM Northwind.dbo.Employees INSERT INTO Cubo_Ventas_OLAP.dbo.Empleado_Dim SELECT EmployeeID, LastName + ' , ' + FirstName as Nombres, HireDate,BirthDate,Extension *100,Title FROM Northwind.dbo.Employees GO SELECT * FROM Cubo_Ventas_OLAP.dbo.Empleado_Dim GO Tabla Northwind.dbo.Categories Tabla Cubo_Ventas_OLAP.dbo.Producto_Dim INSERT INTO Cubo_Ventas_OLAP.dbo.Producto_Dim SELECT ProductID,ProductName,CompanyName,CategoryName, UnitsInStock ,UnitPrice,QuantityPerUnit FROM Northwind.dbo.Categories INNER JOIN Northwind.dbo.Products ON Categories.CategoryID = Products.CategoryID INNER JOIN Northwind.dbo.Suppliers ON Products.SupplierID = Suppliers.SupplierID GO Tabla Northwind.dbo.Shippers Tabla Cubo_Ventas_OLAP.dbo.Transporte_Dim INSERT Cubo_Ventas_OLAP.dbo.Transporte_Dim SELECT ShipperID, CompanyName FROM Northwind.dbo.Shippers GO Tabla Northwind.dbo.Orders Tabla Cubo_Ventas_OLAP.dbo.Tiempo_Dim INSERT INTO Cubo_Ventas_OLAP.dbo.Tiempo_Dim SELECT DISTINCT Fecha = s.ShippedDate, Dia = DATENAME(DW,s.ShippedDate ), Mes = DATEPART(MM,s.ShippedDate ), Año = DATEPART(YY,s.ShippedDate), Trimestre = DATEPART(QQ,s.ShippedDate), MesAño = DATENAME(MONTH,s.ShippedDate) + '_'+ DATENAME(YEAR,s.ShippedDate ), DiaSemana = DATEPART(DW, s.ShippedDate), DiaAño = DATEPART(DY, s.ShippedDate), SemanaAño = DatePart(wk,s.ShippedDate )

Page 7: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

FROM Northwind.dbo.Orders S WHERE s.ShippedDate IS NOT NULL GO --OBS SELECT DATENAME(DW,GETDATE() ) SELECT DATEPART(DW,GETDATE())

Migrando Datos de las Tablas de Dimensión a la Tabla Ventas_Fact INSERT INTO Cubo_Ventas_OLAP.dbo.Ventas_Fact SELECT TDIM.TiempoKey, CDIM.ClienteKey , EDIM.EmpleadoKey, PDIM.ProductoKey,SDIM.TransporteKey , --Fecha de Pedido FechaRequeriada = O.RequiredDate, --Fecha de Envio FechaEnvio = O.OrderDate, --Precio Unitario por Producto = PrecioUnitario UnidadesLinea = OD.UnitPrice, --Monto Total por Producto (TotalLinea = PrecioUnitario * Cantidad) TotalLinea = OD.UnitPrice * OD.Quantity, --Costo del Flete CosteFleteLinea = ((O.Freight / (Select SUM(Quantity) From Northwind.dbo.[Order Details] od Where OD.OrderID = O.OrderID)) * OD.Quantity), --Descuento de la Linea DescuentoTotalLinea = ((OD.Discount) * (OD.UnitPrice * OD.Quantity )), --BeneficioTotal = MontoTotal + Flete - Descuento BeneficioTotalLinea = (OD.UnitPrice * OD.Quantity ) + ((O.Freight / (Select SUM(Quantity) From Northwind.dbo.[Order Details] od Where OD.OrderID = O.OrderID)) * OD.Quantity)-((OD.Discount) * (OD.UnitPrice * OD.Quantity )), FROM Northwind.dbo.Orders AS O INNER JOIN Northwind.dbo.[Order Details] AS OD ON O.OrderID = OD.OrderID INNER JOIN Cubo_Ventas_OLAP.dbo.Producto_Dim AS PDIM ON OD.ProductID = PDIM.ProductoID INNER JOIN Cubo_Ventas_OLAP.dbo.Cliente_Dim AS CDIM ON O.CustomerID = CDIM.ClienteID INNER JOIN Cubo_Ventas_OLAP.dbo.Tiempo_Dim AS TDIM ON O.ShippedDate = TDIM.Fecha INNER JOIN Cubo_Ventas_OLAP.dbo.Transporte_Dim AS SDIM ON O.ShipVia = SDIM.TransporteID INNER JOIN Cubo_Ventas_OLAP.dbo.Empleado_Dim AS EDIM ON O.EmployeeID = EDIM.EmpleadoID WHERE O.ShippedDate IS NOT NULL

Page 8: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Tabla Cliente_Dim

Tabla Ventas_Fact

Page 9: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Figura 1: Ejemplo de Esquema en Estrella

Page 10: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Los cubos OLAP son esencialmente las funciones de agregación que se calculan de acuerdo con el esquema en estrella o copo de nieve. Los datos y las agregaciones del cubo pueden almacenarse de diferentes modos: MOLAP, ROLAP, HOLAP. La estructura MOLAP almacena los datos y las agregaciones en una estructura multidimensional. Permite dimensiones que contengan hasta 5 millones de miembros. Es la más eficiente en búsquedas, independiente del gestor y la que requiere mayor tiempo de procesado y de espacio en disco. Una desventaja es que hay que actualizarlo para que incorpore los datos nuevos que vayan entrando al DW. La estructura ROLAP mantiene los datos en la tabla de hechos original y almacena las agregaciones en tablas relacionales de la misma base de datos. Es más lenta la búsqueda pero es válida aunque el tamaño del cubo exceda los 5 Gb, donde MOLAP tiene problemas. La estructura HOLAP mantiene los datos en la tabla de hechos original y almacena las agregaciones en una estructura multidimensional. Como Crear un Cubo OLAP A continuación se establecerán los pasos para crear un cubo OLAP sobre la base de datos Cubo_Ventas_OLAP. Se abre la herramienta SQL Server Business Intelligence Development Studio,eligiendo como tipo de proyecto Analysis Service. Comprobar que el servicio Analysis Services está iniciado. El primer paso es crear un Origen de datos configurándolo hacia la base de datos donde residen los esquemas en estrella. En este caso, la base de datos Cubo_Ventas_OLAP en SQL Server2008. Indicar la carpeta de ubicación qué el usuario utiliza Analysis Services para conectarse a la BD relacional, poner por defecto la cuenta asociada al servicio.

Page 11: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Cubo OLAP Creado Definir Origen de Datos

Page 12: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

1.- Conectando al Servidor Local. 2.- Selecciona Cubo_Ventas_OLAP

1.- Usa la Cuenta de Servicio

Page 13: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Vista de Base de Datos de Origen A continuación se crea un Vista de los orígenes de datos que recoja el esquema de nuestra estrella. Los proyectos de proceso analítico en línea (OLAP) y minería de datos de Microsoft SQL Server se diseñan basándose en un modelo de datos lógico de tablas, vistas y consultas relacionadas de uno o varios orígenes de datos. Este modelo de datos lógico se denomina vista de origen de datos. Una vista de origen de datos es un objeto que contiene los metadatos de objetos de origen de datos seleccionados, incluidas las relaciones entre estos objetos definidos en el origen de datos subyacente o en la vista de origen de datos. Una vista de origen de datos almacena en caché los metadatos de los orígenes de datos a partir de los cuales se genera. Los metadatos almacenados en caché le permiten desarrollar un proyecto de Analysis Services sin tener una conexión activa continua con el origen de datos.

Page 14: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres
Page 15: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres
Page 16: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Cubo En este momento ya se pueden definir los cubos que sean necesarios para nuestro Data Warehouse. Para ello se selecciona la opción “Nuevo cubo (New Cube)” “Asistente” que arrancará el asistente de creación de cubos.

Page 17: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

El asistente presenta la pantalla

Pantalla incial de Asistente para la generación de Cubos

Al pulsar “Siguiente>>”, presenta la pantalla de la Figura donde se seleccionará la vista del origen de datos que proporcionará los datos al cubo.

Page 18: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Figura. Selección de la vista de origen de datos y tabla de hechos

A continuación, tras pulsar “Siguiente >” se presenta la pantalla de la Figura donde el asistente detecta las medidas a crear.

A continuación muestra las dimensiones que detecta y crea además las jerarquías subyacentes en función de las relaciones que encuentra (puede que no tengan sentido para nosotros). Hay jerarquías de atributo (se crean para cada atributo de la tabla de dimensión) y jerarquías de usuario (que constan de varios niveles). A continuación se confirman o modifican las tablas de hechos y dimensiones detectadas por el asistente (Figura).

Page 19: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Figura. Identificación de tabla de hechos y dimensiones

Por último se observa el cubo definido (Figura)

Figura. Cubo definido

Page 20: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Ahora vamos a revisar las medidas definidas. Se puede observar en carpeta Propiedades la operación definida sobre cada una de las medidas. Todas ellas tienen la operación SUM por defecto, a excepción del atributo Recuento Ventas _Fact que es COUNT. Una vez diseñado el cubo hay que construirlo. Para ello se elige la opción Procesar del menú Generar y se pulsa Ejecutar, sino hay ningún error se mostrará la imagen de la Figura.

Click en Change Settings

Page 21: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

ok

Run

Page 22: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Close

Figura: Cubo Construido

Ahora ya podemos utilizarlo (construir consultas) desde la carpetilla (Browser) Examinador.

Page 23: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Se observa que las dimensiones no ofrecen atributos ni jerarquías de interés por lo que hay que editarlas y modificarlas. Construir Dimensiones Comenzamos revisando la dimensión Producto. Para ello pulsamos doble clic sobre la dimensión en la ventana del Explorador de soluciones. Vemos que por defecto el asistente solo asigna el atributo clave. Así que incorporaremos a la dimensión los distintos atributos por los que se quiera consultar. También crearemos dos jerarquías de usuario: categoría producto y suministrador producto Consideraremos mínimo Stock y obsoleto como propiedades del nombre del producto pues no tiene mucho sentido como atributo de consulta, aunque en la dimensión se mantendrá (se establece en versión 2008 en la carpetilla Relaciones de atributos). La idea de las propiedades es poder mostrar esta información en vez de navegar por la jerarquía de atributos para verla. Nota en Versión 2005: hay que establecer la Cardinalidad a 1 en la relación del atributo (un producto tiene un mínimo stock y solo una situación de obsoleto). En versión 2008: se hace por medio del establecimiento de las relaciones de atributo (ver Figura 14). Para cada tabla incluida en una dimensión, hay una relación de atributos que relaciona el atributo clave de la tabla con otros atributos en esa tabla. Esto tiene como ventaja: - Reducir la cantidad de memoria necesaria para procesar la dimensión. Esto acelera el procesamiento de dimensiones, particiones y consultas. - Aumentar el rendimiento de las consultas porque el acceso al almacenamiento es más rápido y se optimizan mejor los planes de ejecución. - Hacer que los algoritmos de diseño de agregaciones seleccionen agregados más efectivos, siempre y cuando las jerarquías definidas por el usuario se hayan establecido a lo largo de las rutas de acceso de la relación.

Page 24: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

La principal restricción al crear una relación de atributos consiste en asegurarse de que el atributo al que la relación de atributos hace referencia no tenga más de un valor para ningún miembro en el atributo al que pertenece la relación de atributos. Por ejemplo, si se define una relación entre un atributo ProductoNombre y una CategoriaNombre, cada productoNombre sólo puede relacionarse con una única CategoriaNombre.

Page 25: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Definir Dimension

Definir Relaciones de Atributo Al explorar la dimensión, podemos seleccionar cada uno de los atributos o jerarquías y visualizar las propiedades de sus miembros al pulsar el botón Propiedades (Figura).

Recíprocamente quedando así:

Page 26: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Nos Ubicamos en el Browser: Si vemos los datos de la Jerarquía, ésta solo contiene números, los que representa la clave (ProdutoKey).Si queremos que en vez de mostrar la Clave muestre el Nombre,cambiamos la propiedad NameColumn, además ya creada las Jerarquias Categoria – Producto,Suministrador - Producto

Page 27: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres
Page 28: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Seleccionamos ProductNombre

Page 29: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Ejecutamos Actualizamos

Page 30: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres
Page 31: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

En la dimensión Empleado, Si vemos los datos de la jerarquía, ésta solo contiene números, los que representa la clave (empleadoKey). Si queremos que en vez de mostrar la clave muestre el nombre, cambiamos la propiedad NameColumn (Figura). Además crearemos la jerarquía Puesto empleado.

Page 32: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Figura. Dimensión empleado cambiada por la relación primario- Clave

Por último está la dimensión temporal. Crearemos las jerarquías especificadas en la Figura. Observar que aunque la jerarquía Año-trimestre-mes-dia tiene el atributo mes, se ha puesto en NameColumn el MesAño para que salga el texto y no el número, también podemos elegir el atributo MesAño. Además se ha establecido la ordenación de cada atributo por key y no por name para que la ordenación sea numérica y no alfanumérica.

Page 33: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

En la Dimensión Cliente crearemos las jerarquías que se muestran en la Figura.

Page 34: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

En la Dimensión Transporte crearemos las jerarquías que se muestran en la Figura

Propiedades de las Dimensiones A continuación se comentarán algunas propiedades de las dimensiones que permiten personalizar el comportamiento de las mismas.

Page 35: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Propiedades dimensión: AttributeAllMemberName: texto que se mostrará para el nivel superior (Todos) Default member: El miembro predeterminado se utiliza cuando se evalúa una celda y no hay ningún otro miembro especificado para la dimensión (condición por la cuál se hace el browse de los datos). Esta es utilizada si la dimensión no está incluida en una consulta. Por defecto el Analysis Server incluye todas las dimensiones en la consulta para que luego el usuario haga los filtros. Member keys unique: Indica si las claves de miembro son únicas a través de toda la dimensión. Member name unique: Indica si los nombres de miembros son únicos a través de toda la dimensión. Caso de una dimensión versionada. Storage Mode: modo de almacenamiento Molap o Rolap. Propiedades nivel: Member key column: Indica el nombre de la columna que contiene las claves de miembro. Member name column: Indica el nombre de la columna que contiene el nombre de los miembros. Este valor puede ser un campo o una concatenación de ellos ("producto"."producto_nombre" + ‘ ‘ + "producto"."producto_version") 1.2.2. Elegir cómo ordenar los miembros de un nivel. Member key column tiene un número entero que referencia a cada miembro. Member name column es el título de la columna que se muestra en el cubo. Order by campo por el que se establece la ordenación. Por defecto, las dos primeras propiedades toman el mismo valor pero al independizarlas permite establecer la ordenación, como se puede observar en la dimensión Empleado (EmpleadoKey y EmpleadoApellidosNombre). 1.3. Definir medidas y miembros calculados en los Cubo. Un cubo debe contener al menos una dimensión y una medida. La medida más simple corresponde a un campo numérico de la tabla de hechos. Pero es posible también crear medidas. Por ejemplo, vamos a crear la medida COMISION como el 15% de total de la línea y el nº de pedidos como la cuenta de distintos pedidosID. Para ello se pulsa sobre la sección de Medidas y se indica Nueva medida. Se seleciona el atributo sobre el que se construirá la medida derivada (por ejemplo PedidoID) y luego en propiedades se establecerá la función de agregación y su nombre (Ver Figura).

Page 36: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Para el caso de la comisión, no nos deja establecer la función de cálculo en la versión Standard Edition, lo que podemos resolver, creando este campo en la vista del origen de datos, a través de crear un nuevo cálculo con nombre en la tabla de hechos (Ver Figura) y luego agregarla al grupo de medidas del cubo. Crear Medida Comisión

Page 37: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Por defecto, la función de agregación de cualquier medida es la suma. Si quisiéramos crear un indicador (ratio) que muestre el margen neto obtenido ( = beneficio / total) para que sea correcto, se debe realizar la agregación antes de la división. Por ello es necesario crear un miembro calculado. La diferencia entre medida y miembro calculado es cuándo el cálculo se realiza. Una medida derivada se calcula antes que las agregaciones sean creadas y los valores son almacenados en el cubo. Un miembro calculado se calcula las agregaciones y los miembros no son almacenados en el cubo. Como ejemplo vamos a calcular el margen neto que se ha conseguido en las ventas. Poner la propiedad Format String a Porcentaje. Y también puedes poner un código de colores para que se marque cuando está por encima o por debajo de un determinado valor.

Page 38: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

CREATE MEMBER CURRENTCUBE.[Measures].MargenNeto AS [Measures].[Benefio Total Linea]/[Measures].[Total Linea], FORMAT_STRING = "Percent", FORE_COLOR = iif ( MargenNeto <0.9,255/*Red*/,65280,/*Lime*/), VISIBLE = 1 ;

Page 39: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

Crear Métrica Calculada de MargenNeto

Page 40: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

A continuación se observa el resultado.

Page 41: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

También se puede calcular la aportación de cada miembro de la dimensión producto al beneficio total, para saber qué productos son los que más beneficios nos aportan (Ver Figura). CREATE MEMBER CURRENTCUBE.[MEASURES].[Aportacion (Ratio) del Producto al Beneficio Total] AS [MEASURES].[Benefio Total de Linea]/ ( Root ([Producto dim]), [MEASURES].[Beneficio Total Linea]), FORMAT_STRING = "Percent", VISIBLE = 1;

Page 42: Microsoft  Analysis Services Tecnología OLAP -Manual SSAS Autor : Asto Caceres

A continuación se observa el resultado.