01 Material
01 Material
Capítulo 5
Modelo Multidimensional con Analysis
Services
Objetivo
Temas
1. Concepto Dimensiones
2. Dimensiones Estándar
3. Dimensiones SnowFlake
4. Named Calculations
5. Relaciones entre atributos (attribute relationships)
6. Dimensiones Time
7. Agrupar los miembros de un atributo
8. Cubos
9. Medidas y grupos de medidas
10. Relación entre las dimensiones y los grupos de medidas
1. DIMENSIONES
Las dimensiones son definidas a partir de los criterios utilizados por los usuarios para
consultar la información. Por ejemplo, si los usuarios desean obtener las ventas por
producto, región y trimestre, esto indica que se deben definir las dimensiones Producto,
UbiGeo y Tiempo.
Este diseño especifica que cada país contiene varias ciudades, y cada ciudad se
encuentra en un solo país.
Miembros
Ubigeo.Ubicacion Todos
i
Una dimensión puede contener varias jerarquías. Cada jerarquía definirá una forma
distinta de agrupar y sumarizar la información de una dimensión. Existen entidades
de negocio que no tienen un único criterio de agrupación; por ejemplo, los clientes
pueden ser disgregados por su ubicación geográfica (país, región y ciudad) y
también por su género (masculino o femenino).
Ejemplo 1:
Empleado.Región
▪ Región
▪▪ Ciudad
▪▪▪ Empleado
Empleado.División
▪ División
▪▪ Empleado
Ejemplo 2:
– Los clientes pueden ser disgregados por su ubicación geográfica (país,
región y ciudad)
– Los mismos clientes ser disgregados por su género (masculino o
femenino).
2. DIMENSIONES ESTÁNDAR
El tipo más sencillo de dimensión está constituido por las dimensiones estándar. En
estas dimensiones, cada nivel está representado por una columna en la tabla de
dimensión.
Los atributos tienen propiedades que pueden ser configuradas a través del
editor de dimensiones. A continuación, se explicarán algunas de estas
propiedades:
Por otro lado, toda dimensión tiene un miembro predeterminado. Si una consulta
de datos no especifica en forma explícita cuál es el miembro utilizado para obtener
la información asociada con una dimensión, el servidor de análisis utilizará el
miembro predeterminado para efectuar la consulta. Por defecto, el miembro
predeterminado es el miembro “All”. Sin embargo, puede cambiarse a través de la
propiedad DefaultMember presente en cada atributo de la dimensión.
3. DIMENSIONES SNOWFLAKE
Las dimensiones SnowFlake son generadas por más de una tabla de dimensión. En la
figura superior se muestran las tablas de dimensión Category_Dim y Product_Dim. Éstas
están enlazadas entre sí a través de una relación. Solo la tabla Product_Dim se enlaza con
la tabla de hechos Ventas_Fact.
Los named calculations permiten extender el modelo de datos sobre el cual se construyen
los cubos y las dimensiones, sin necesidad de modificar la estructura de las tablas en el
origen de datos. Los named calculations se crean en la data source views a través de
expresiones SQL.
Los atributos de una dimensión pueden relacionarse entre sí. Dichas relaciones se definen
a través de los attribute relationships. Cuando una dimensión es utilizada por un cubo,
los attribute relationships sirven para conectar cada atributo con la tabla de hechos.
Por defecto, el atributo clave de una dimensión (el atributo cuya propiedad Usage está
establecida a “Key”) contiene relaciones hacia todos los demás atributos de la dimensión.
De hecho, todo atributo debe estar relacionado con el atributo clave, directa o
indirectamente.
El criterio fundamental para definir attribute relationships es que la relación entre los
atributos sea uno-muchos. Por ejemplo, para relacionar los atributos “Ciudad” y
“País”, es necesario que cada ciudad esté contenida en un solo país. Esta relación
puede representarse de la siguiente forma:
Ciudad
País
6. DIMENSIÓN TIME
Una dimensión de tiempo define además la granularidad en que nuestros datos en las
tablas de hechos han sido generados, sea a nivel de año, semestre, trimestre, mes, día,
hora, entre otras escalas.
A pesar de que nuestros datos en las tablas de hechos estén guardados a un nivel granular
de tiempo específico, como ventas a nivel de mes, ventas a nivel de día, etc.; es una buena
práctica crear una dimensión de tiempo que incluya todos los niveles de granularidad que
podrían usarse no solo en las tablas de hechos (fact tables) que se vayan a utilizar en el
primer datamart, sino también las que se puedan requerir más adelante.
Es recomendable por lo menos crear una dimensión de tiempo con los niveles: año,
semestre, trimestre, mes, día.
Una de las facilidades que nos brinda SSAS con respecto a la dimensión de tiempo, es que
SQL server Data Tools la genera por nosotros incluso sin tener una tabla física de tiempo
pre-existente en nuestra data warehouse.
7.1 DiscretizationMethod
7.2 DiscretizationBucketCount
8. CUBOS
Todo cubo se construye a partir de un esquema de datos que consiste en tablas de hechos
y tablas de dimensión. Una mejora importante de SSAS 2012 sobre la versión 2000 es que
cada cubo puede contener múltiples sola tabla de hechos.
Cada dimensión puede contener varias jerarquías. Cada jerarquía contiene varios niveles.
Los niveles permiten efectuar complejas operaciones de drill down (aumentar el nivel de
detalle de las consultas) y drill up (disminuir el nivel de detalle de las consultas).
Por ejemplo, una operación de drill down puede consistir en observar la información de
ventas de manzanas en todo el Perú, y luego aumentar el nivel de detalle para consultar
las ventas de Cuzco y Lima. Una operación de drill up típica consistiría en observar las
ventas de Lima, y disminuir posteriormente el nivel de detalle para observar las ventas en
todo el Perú.
Una medida (measure) representa un valor obtenido a partir de una columna numérica
de la tabla de hechos. La definición de las medidas constituye el paso central en el análisis
de soluciones de inteligencia de negocios, pues constituyen la información que los
usuarios finales desean visualizar.
Las medidas se agrupan en grupos de medidas (measure groups). Cada measure group
corresponde con una tabla de hechos. Un cubo de SSAS 2012 puede contener varios
measure groups.
Las medidas heredan determinadas propiedades del grupo de medida del que son
miembro, aunque estas propiedades se reemplazan en el nivel de medida. Las
propiedades de medidas determinan cómo se agrega una medida, su tipo de datos,
el nombre que se muestra al usuario, la carpeta para mostrar en la que aparecerá
la medida, su cadena de formato, cualquier expresión de medida, la columna de
origen subyacente y la visibilidad para los usuarios.
El uso de la dimensión define las relaciones entre una dimensión de cubo y los grupos de
medida de un cubo. Una dimensión de cubo es una instancia de una dimensión de base
de datos que se utiliza en un cubo específico.
Una relación entre una dimensión y un grupo de medida consta de las tablas de
dimensiones y hechos que participan en la relación y un atributo de granularidad que
especifica la granularidad de la dimensión del grupo de medida concreto.
Comúnmente, estas relaciones se efectúan a través de columnas comunes en las tablas
de dimensión y las tablas de hechos.
SSAS 2016 soporta los siguientes tipos de relaciones entre las dimensiones y los measure
groups:
• Relación regular.
• Relación referenciada.
• Relación “fact”.
• Relación many – to – many.
El tipo de relación entre las dimensiones y los measure groups se determina a través del
tab Dimension Usage en el diseñador de cubos.
Las relaciones regulares constituyen el tipo más frecuente de relación. SSAS 2016
provee soporte natural a este tipo de relaciones regulares. Visualice la siguiente
figura:
El uso de la dimensión regular define las relaciones entre una dimensión de cubo y
los grupos de medida de un cubo.
Hay una relación de dimensión normal entre una dimensión de cubo y un grupo de
medida cuando la columna de clave (PK) de la dimensión se combina directamente
con la tabla de hechos (FK).
Esta relación directa se basa en una relación de clave principal a clave externa de la
base de datos relacional subyacente, pero también podría basarse en una relación
lógica definida en la vista del origen de datos.
La siguiente figura muestra una relación de este tipo entre tabla dimesnion
“Customer” y tabla de hechos “Order”: A continuación se muestran las
características de la relación entre ambas tablas:
• Una tabla de hechos puede contener tres columnas que lo enlacen con la
dimensión de tiempo: una columna para almacenar la fecha de facturación, otra
para almacenar la fecha de Entrega.
En versiones anteriores a SQL Server 2012, este tipo de requerimiento solo podía
satisfacerse duplicando las tablas de dimensión, o creando vistas a partir de la
tabla de dimensión (en los ejemplos anteriores, la solución hubiera consistido en
crear tres tablas de dimensión para el tiempo y dos tablas de dimensión para los
empleados; o en crear tres vistas a partir de la tabla de dimensión de tiempo y dos
vistas a partir de la tabla de empleados).
En cambio, SSAS 2016 provee soporte natural a las situaciones de “Role Playing”.
En SSAS 2016, la misma dimensión puede participar múltiples veces en el mismo
cubo.
Por otro lado, la siguiente figura, muestra que la tabla “FactInternetSales” también
se relaciona indirectamente con “DimGeography” a través de la tabla
“DimCustomer”.
Por tanto, se puede usar otra relación referenciada para relacionar la dimensión
“Geography” con la tabla de hechos “FactInternetSales”, a través de la dimensión
“Customer”. Este grado de flexibilidad no hubiese podido alcanzarse si se hubiese
implementado la solución a través de dimensiones Snowflake.
SSAS 2016 provee un tipo de relación que permite implementar relaciones de hecho.
Véase la siguiente figura:
La tabla contiene información sobre atributos no solo para cada línea de un pedido
emitido por un distribuidor, sino sobre el propio pedido. Esta Información es
relevante para el negocio; razón por la cual es considerado en la tabla de hechos
para ser relacionado con las medidas.
Por ejemplo, un cliente de un banco podría tener varias cuentas (cuenta corriente,
libreta de ahorro, tarjetas de crédito y cuentas de inversión) y una cuenta también
puede tener varios propietarios. La dimensión de cliente creada a partir de estas
relaciones tendrá varios miembros relacionados con una única transacción de
cuenta.
SSAS 2016 provee un tipo especial de relación que permite implementar relaciones
de muchos a muchos entre las tablas de hechos y las tablas de dimensión. Véase la
siguiente figura:
Las tablas Fact Table, Regular Dimension e Intermediate Fact Table deben estar
relacionadas en la data source view. De lo contrario, no se podrá definir la relación
muchos – muchos.
Este tipo de situaciones en las cuales las dimensiones tienen relaciones de tipo
muchos-muchos con las tablas de dimensión. Por ejemplo, véase la siguiente
imagen: