Introducción a las dimensiones (Analysis Services - Datos multidimensionales)
Todas las dimensiones de Microsoft SQL ServerAnalysis Services son grupos de atributos basados en las columnas de las tablas o vistas de una vista de origen de datos.Las dimensiones son independientes de un cubo, se pueden utilizar en varios cubos, se pueden emplear varias veces en un único cubo y pueden vincularse entre instancias de Analysis Services. Una dimensión independiente de un cubo se denomina dimensión de base de datos, mientras que una instancia de una dimensión de base de datos de un cubo se denomina dimensión de cubo.
Dimensión basada en un diseño de esquema en estrella
La estructura de una dimensión depende en gran medida de la estructura de la tabla o tablas de dimensiones subyacentes. La estructura más sencilla se denomina esquema en estrella, en la que cada dimensión se basa en una única tabla de dimensiones que se vincula directamente a la tabla de hechos mediante una relación de clave principal a clave externa.
En el siguiente diagrama se muestra una subsección de la base de datos de ejemplo AdventureWorksDW, en la que la tabla de hechos FactResellerSales se relaciona con dos tablas de dimensiones: DimReseller y DimPromotion. La columna ResellerKey de la tabla de hechos FactResellerSales define una relación de clave externa con la columna de clave principal ResellerKey de la tabla de dimensiones DimReseller. De forma similar, la columna PromotionKey de la tabla de hechos FactResellerSales define una relación de clave externa con la columna de clave principal PromotionKey de la tabla de dimensiones DimPromotion.
Dimensión basada en un diseño de esquema de copo de nieve
Normalmente se necesita una estructura más compleja, dado que se necesita la información de varias tablas para definir la dimensión. En esta estructura, denominada esquema de copo de nieve, cada dimensión se basa en los atributos de las columnas de varias tablas vinculadas entre sí y a la tabla de hechos mediante relaciones de clave principal a clave externa. Por ejemplo, en el siguiente diagrama se muestran las tablas necesarias para describir por completo la dimensión Product del proyecto de ejemplo AdventureWorksDW:
Para describir completamente un producto, la categoría y la subcategoría del producto deben incluirse en la dimensión de producto. Sin embargo, esa información no reside directamente en la tabla principal de la dimensión DimProduct. Una relación de clave externa entre DimProduct y DimProductSubcategory, que a su vez tiene una relación de clave externa con la tabla DimProductCategory, permite incluir la información de las categorías y subcategorías del producto en la dimensión Product.
Esquema de copo de nieve frente a relación de referencia
Algunas veces se puede optar entre utilizar un esquema en estrella para definir los atributos de una dimensión a partir de varias tablas, o bien definir dos dimensiones independientes y una relación de dimensión de referencia entre ellas. En el siguiente diagrama se muestra este tipo de escenario.
En el diagrama anterior, la tabla de hechos FactResellerSales no tiene una relación de clave externa con la tabla de dimensiones DimGeography. No obstante, la tabla de hechos FactResellerSales tiene una relación de clave externa con la tabla de dimensiones DimReseller que, a su vez, tiene una relación de clave externa con la tabla de dimensiones DimGeography. Para definir una dimensión Reseller que contenga información geográfica acerca de cada distribuidor, sería necesario recuperar estos atributos de las tablas de dimensiones DimGeography y DimReseller. Sin embargo, en Analysis Services, se puede obtener el mismo resultado si se crean dos dimensiones independientes y se vinculan a un grupo de medida definiendo una relación de dimensión de referencia entre las dos dimensiones. Para obtener más información acerca de las relaciones de dimensión de referencia, vea Relaciones de dimensión.
Una ventaja del uso de relaciones de dimensiones de referencia en este escenario es que es posible crear una única dimensión geográfica y, a continuación, crear varias dimensiones de cubo basadas en la dimensión geográfica, sin que se necesite espacio de almacenamiento adicional. Por ejemplo, puede vincular una de las dimensiones de cubo geográficas a una dimensión de distribuidor y otra de las dimensiones de cubo geográficas a una dimensión de cliente. Temas relacionados:
Procesar una dimensión
Tras crear una dimensión, debe procesarla antes de poder ver los miembros de sus atributos y sus jerarquías. Tras modificar la estructura de una dimensión o actualizar la información de sus tablas subyacentes, tiene que volver a procesar la dimensión antes de poder ver los cambios. Cuando se procesa una dimensión después de realizar cambios estructurales, se deben procesar también los cubos que incluyen la dimensión, ya que de lo contrario el cubo no se podrá ver.
Seguridad
La seguridad de todos los objetos subordinados de una dimensión, incluidos las jerarquías, niveles y miembros, se establece utilizando funciones en Analysis Services. La seguridad de las dimensiones se puede aplicar a todos los cubos de la base de datos que utilizan la dimensión o sólo a determinado cubo. Para obtener más información sobre la seguridad de las dimensiones, vea Conceder acceso de dimensiones.