Relaciones de dimensión
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. Un cubo puede y suele tener dimensiones de cubo que no están directamente relacionadas con un grupo de medida, pero que podrían estar indirectamente relacionadas con el grupo de medida a través de otra dimensión o grupo de medida. Cuando se agrega una dimensión de base de datos o un grupo de medidas a un cubo, Microsoft SQL Server Analysis Services intenta determinar el uso de la dimensión mediante el examen de las relaciones entre las tablas de dimensiones y las tablas de hechos de la vista de origen de datos del cubo y el examen de las relaciones entre los atributos de las dimensiones. Analysis Services establece automáticamente la configuración del uso de la dimensión para las relaciones que puede detectar.
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.
Relaciones de dimensión normales
Hay una relación de dimensión normal entre una dimensión de cubo y un grupo de medida cuando la columna de clave de la dimensión se combina directamente con la tabla de hechos. 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 de origen de datos. Una relación de dimensión normal representa la relación entre tablas de dimensiones y una tabla de hechos en un diseño de esquema en estrella tradicional. Para obtener más información acerca de las relaciones regulares, vea Definir relaciones normales y propiedades de las relaciones normales.
Relaciones de dimensión de referencia
Hay una relación de dimensión de referencia entre una dimensión de cubo y un grupo de medida cuando la columna de clave de la dimensión se combina indirectamente con la tabla de hechos mediante una clave de otra tabla de dimensiones, como se muestra en la siguiente ilustración.
Una relación de dimensión de referencia representa la relación entre tablas de dimensiones y una tabla de hechos en un diseño de esquema de copo de nieve. Cuando las tablas de dimensiones se conectan en un esquema de copo de nieve, es posible definir una única dimensión mediante columnas de varias tablas, o bien, definir dimensiones independientes basadas en las tablas de dimensiones independientes y, a continuación, definir un vínculo entre ellas mediante la configuración de la relación de dimensión de referencia. En la siguiente ilustración se muestra una tabla de hechos denominada InternetSales y dos tablas de dimensiones denominadas Customer y Geography, en un esquema de copo de nieve.
Puede crear una dimensión con la tabla Customer como la tabla principal de dimensiones y la tabla Geography incluida como una tabla relacionada. Entonces se define una relación normal entre la dimensión y el grupo de medida InternetSales.
También puede crear dos dimensiones relacionadas con el grupo de medida InternetSales: una dimensión basada en la tabla Customer y una dimensión basada en la tabla Geography. A continuación, puede relacionar la dimensión geográfica con el grupo de medida InternetSales mediante una relación de dimensión de referencia por medio de la dimensión de cliente. En este caso, cuando los hechos del grupo de medida InternetSales están influenciados por la dimensión geográfica, los hechos están influenciados por Customer y Geography. Si el cubo contiene un segundo grupo de medida denominado Reseller Sales, no podrá dimensionar los hechos del grupo de medida Reseller Sales por Geography, dado que no existiría relación entre Reseller Sales y Geography.
No hay ningún límite con respecto al número de dimensiones de referencia que se pueden encadenar, como se muestra en la siguiente ilustración.
Para obtener más información acerca de las relaciones referenciadas, vea Definir relaciones referenciadas y propiedades de las relaciones referenciadas.
Relaciones de dimensión de hechos
Las dimensiones de hechos, más conocidas como dimensiones degeneradas, son dimensiones estándar que se crean a partir de columnas de atributos de tablas de hechos en lugar de columnas de atributos de tablas de dimensiones. Los datos útiles de dimensiones algunas veces se almacenan en una tabla de hechos para reducir la duplicación. Por ejemplo, en el siguiente diagrama se muestra la tabla de hechos FactResellerSales de la base de datos de ejemplo Adventure Works DW.
La tabla contiene información sobre atributos no sólo para cada línea de un pedido emitido por un distribuidor, sino sobre el propio pedido. Los atributos delimitados por un círculo en el diagrama anterior identifican los datos de la tabla FactResellerSales que pueden utilizarse como atributos de una dimensión. En este caso, dos piezas adicionales de información, el número de seguimiento del transportista y el número de orden de compra emitido por el distribuidor están representados por las columnas de atributo CarrierTrackingNumber y CustomerPONumber. Esta información es interesante; por ejemplo, los usuarios estarían sin duda interesados en la consulta de la información agregada, como el costo total del producto para todos los pedidos que se envían con un mismo número de seguimiento. Sin embargo, sin una dimensión no se pueden organizar ni agregar datos para estos dos atributos.
En teoría, se podría crear una tabla de dimensiones que utilizara la misma información de clave que la tabla FactResellerSales y mover las otras dos columnas de atributos, CarrierTrackingNumber y CustomerPONumber, a esa tabla de dimensiones. Sin embargo, así se duplicaría una parte significativa de los datos y se agregaría una complejidad innecesaria al almacenamiento de datos para poder representar sólo dos atributos como una dimensión independiente.
Nota
Las dimensiones de hechos se suelen utilizar para permitir acciones de obtención de detalles. Para obtener más información acerca de las acciones, vea Acciones (Analysis Services - Datos multidimensionales).
Nota
Las dimensiones de hechos deben actualizarse incrementalmente después de cada actualización al grupo de medida al que hace referencia la relación de hechos. Si la dimensión de hechos es una dimensión ROLAP, el motor de procesamiento de Analysis Services elimina todas las cachés y procesa incrementalmente el grupo de medida.
Para obtener más información acerca de las relaciones de hechos, vea Definir relaciones de hechos y propiedades de las relaciones de hechos.
Relaciones de dimensión varios a varios
En la mayoría de dimensiones, cada hecho se combina con un solo miembro de la dimensión y un único miembro de la dimensión puede asociarse a varios hechos. En terminología de bases de datos relacionales, esto se conoce como relación de uno a varios. No obstante, suele resultar útil combinar un único hecho con varios miembros de la dimensión. 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.
SQL Server Analysis Services permite definir una relación de varios a varios entre una dimensión y una tabla de hechos.
Nota
Para admitir una relación de dimensión de varios a varios, la vista de origen de datos debe haber establecido una relación de clave externa entre todas las tablas implicadas, tal y como se muestra en el diagrama anterior. De lo contrario, no será posible seleccionar el grupo de medida intermedio correcto al establecer la relación en la ficha Uso de dimensiones del Diseñador de dimensiones.
Para obtener más información acerca de las relaciones de varios a varios, vea Definir una relación de varios a varios y las propiedades de las relaciones de varios a varios.