Es muy habitual que queramos organizar jerárquicamente los miembros de una dimensión, facilitando así rutas de navegación a través del cubo. Por ejemplo, para navegar a través de los miembros de la dimensión tiempo, es bastante habitual que lo hagamos en tres niveles: año, trimestre y mes, mostrándose los miembros tal y como se ve en la siguiente figura.

 

Figura 1 Jerarquía de la Dimensión tiempo

Figura 1 Jerarquía de la Dimensión tiempo

En SQL Server Analysis Services (SSAS) disponemos para ello de las jerarquías, que nos permiten agrupar uno o más atributos organizados como niveles, a las que además podemos dar un nombre que más adelante será utilizado por el usuario para la navegación.

Hay dos tipos de jerarquías, las jerarquías de atributos, que son jerarquías de un solo nivel, que se crean automáticamente para cada atributo de la dimensión y que siempre tienen el mismo nombre que el atributo correspondiente; y las jerarquías de varios niveles, que se crean como jerarquías configuradas independientemente, y que son las que hemos visto en el ejemplo del tiempo y en las que nos vamos a centrar ahora.

Para crear estas jerarquías de varios niveles, simplemente tenemos que arrastrar los atributos desde el panel ‘Atributos’ al panel ‘Jerarquías y niveles’, y posteriormente hacer ciertos retoques en algunas propiedades que citaremos más adelante. Es posible definir varias jerarquías de varios niveles, incluso si en varias de ellas se utilizan los mismos atributos. Así para la dimensión Tiempo podremos definir una jerarquía con los niveles Año, Mes y Día, y otra con los niveles Año, Trimestre y Mes. O una jerarquía para la dimensión Producto con los niveles Talla, Color, Producto, y otra con Color, Talla, Producto.

Podemos clasificar las jerarquías en dos tipos:

  • Jerarquías naturales. Cuando cada atributo incluido en la jerarquía es una propiedad de miembro del atributo situado inmediatamente por debajo. Por ejemplo: Familia, Subfamilia y Producto
  • Jerarquías de navegación. No cumplen lo anterior, aunque se definen para que sean utilizadas para mejorar la navegación por el cubo. Por ejemplo: Color, Talla y Producto, y por otro lado, Talla, Color y Producto.
Figura 2  Atributos, Jerarquías y Niveles

Figura 2 Atributos, Jerarquías y Niveles

 

Durante el procesamiento de los atributos, Analysis Services optimiza el almacenamiento y las agregaciones aprovechando las jerarquías naturales. Veremos más adelante cuando estudiemos “las relaciones entre atributos” cómo realizar un buen diseño de ellas para conseguir dicha optimización.

A continuación vamos a ver algunas propiedades de las jerarquías de dimensiones de base de datos:

  • AllMemberName. Especifica el nombre del nivel All para dicha jerarquía.
  • DisplayFolder. Especifica la carpeta en la que aparecerá la jerarquía en las herramientas cliente, facilitando así la clasificación y presentación al usuario.

Propiedades de los Niveles:

  • HideMemberIf. Permite ocultar un nivel bajo determinadas condiciones. Permite crear jerarquías desiguales. Valores: Never, OnlyChildWithNoName, OnlyChildWithParentName, NoName, ParentName.
  • Name. Nombre del nivel.

Y algunas propiedades de las jerarquías de dimensiones de cubo:

  • Enabled. Indica si la jerarquía está habilitada en esa dimensión de cubo. Valores: True, False.
  • OptimizedState. Indica si la jerarquía se optimiza en esta dimensión de cubo. Valores: FullyOptimized, NonOptimized.
  • Visible. Indica si la jerarquía está visible en esta dimensión de cubo. Valores: True, False.

 

Post publicados anteriormente como parte de este curso:

Salvador Ramos

Consultor, Formador y Mentor en Business Intelligence. SQL Server MVP.
Director de Formación en SolidQ.
Microsoft MCSE 2012: Business Intelligence.

Latest posts by Salvador Ramos (see all)