Relaciones de atributo
En Microsoft SQL Server Analysis Services, los atributos de una dimensión siempre están relacionados directa o indirectamente con el atributo clave.Al definir una dimensión basada en un esquema en estrella, que es aquel donde todos los atributos de la dimensión se derivan de la misma tabla relacional, se define automáticamente una relación de atributo entre el atributo clave y cada atributo sin clave de la dimensión. Al definir una dimensión basada en un esquema de copo de nieve, que es aquel donde los atributos de la dimensión se derivan de varias tablas relacionadas, se define automáticamente una relación de atributo del modo siguiente:
Entre el atributo clave y cada atributo sin clave enlazado a columnas de la tabla principal de dimensiones.
Entre el atributo clave y el atributo enlazado a la clave externa de la tabla secundaria que vincula las tablas de dimensiones subyacentes.
Entre el atributo enlazado a la clave externa de la tabla secundaria y cada atributo no clave enlazado a las columnas de la tabla secundaria.
Sin embargo, hay una serie de razones por las que puede que desee cambiar estas relaciones de atributo predeterminadas. Por ejemplo quizás desee definir una jerarquía natural, un orden personalizado o una granularidad de dimensión basados en un atributo no clave. Para obtener más información, vea Definición de atributos de dimensión.
Nota
Las relaciones de atributos se conocen como propiedades de miembros en las Expresiones multidimensionales (MDX).
Relaciones de jerarquías naturales
Una jerarquía es natural cuando cada atributo incluido en la jerarquía definida por el usuario tiene una relación de uno a varios con el atributo situado inmediatamente debajo. Por ejemplo imagine una dimensión de cliente basada en una tabla de origen relacional con ocho columnas:
CustomerKey
CustomerName
Age
Gender
Email
City
Country
Region
La dimensión correspondiente de Analysis Services tiene siete atributos:
Customer (basado en CustomerKey; CustomerName proporciona los nombres de miembro)
Age, Gender, Email, City, Region, Country
Las relaciones que representan jerarquías naturales se aplican al crear una relación de atributo entre el atributo de un nivel y el atributo del nivel situado debajo. Para Analysis Services, esto especifica una relación natural y una agregación potencial. En la dimensión de cliente, existe una jerarquía natural para los atributos Country, Region, City y Customer. La jerarquía natural de {Country, Region, City, Customer} se describe al agregar las siguientes relaciones de atributo:
El atributo Country como una relación de atributo con el atributo Region.
El atributo Region como una relación de atributo con el atributo City.
El atributo City como una relación de atributo con el atributo Customer.
Para desplazarse por los datos del cubo, también puede crear una jerarquía definida por el usuario que no represente una jerarquía natural en los datos (denominada una jerarquía ad hoc o de informes). Por ejemplo, podría crear una jerarquía definida por el usuario basada en {Age, Gender}. los usuarios no ven ninguna diferencia en el comportamiento de las dos jerarquías, aunque la jerarquía natural se beneficia de las estructuras de agregación e indizado (ocultas al usuario) que explican las relaciones naturales de los datos de origen.
La propiedad SourceAttribute de un nivel determina qué atributo se utiliza para describir el nivel. La propiedad KeyColumns del atributo especifica la columna de la vista de origen de datos que proporciona los miembros. La propiedad NameColumn del atributo puede especificar una columna de nombre diferente para los miembros.
Para definir un nivel en una jerarquía definida por el usuario mediante Business Intelligence Development Studio, el Diseñador de dimensiones permite seleccionar un atributo de la dimensión, una columna de una tabla de dimensiones o una columna de una tabla relacionada incluidos en la vista de origen de datos del cubo. Para obtener más información acerca de la creación de jerarquías definidas por el usuario, vea Crear jerarquías definidas por el usuario.
En Analysis Services, se suele hacer una suposición acerca del contenido de los miembros. Los miembros hoja no tienen descendientes y contienen datos derivados de los orígenes de datos subyacentes. Los miembros no hoja tienen descendientes y contienen datos derivados de agregaciones realizadas en miembros secundarios. En los niveles agregados, los miembros se basan en agregaciones de niveles subordinados. Por lo tanto, cuando la propiedad IsAggregatable está establecida en False en un atributo de origen de un nivel, no se deben agregar atributos agregables como niveles por encima de él.
Definir una relación de atributo
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 City y uno State, cada ciudad sólo puede relacionarse con un único estado.
Consultas de las relaciones de atributos
Puede usar las consultas MDX para recuperar datos de las relaciones de atributos, en formato de propiedades de miembro, por medio de la palabra clave PROPERTIES de la instrucción SELECT de MDX. Para obtener más información sobre cómo usar MDX para recuperar propiedades de miembro, vea Usar las propiedades de miembro (MDX).