En Analysis Services (SSAS) podemos diferenciar dos tipos de Jerarquías, las Jerarquías de Atributo (un único Atributo define una Jerarquía de un único nivel de profundidad) y las Jerarquías definidas por el Usuario (varios Atributos definen una Jerarquía con varios niveles de profundidad, como por ejemplo, año-mes-día).
En función de las necesidades del negocio y de las herramientas de visualización, nos puede interesar utilizar Jerarquías de un tipo o de otro, incluso podríamos utilizar Jerarquías de ambos tipos. Por poner el ejemplo típico de la Dimensión tiempo, podríamos tener:
- Una Jerarquía de Atributo para el Año.
- Una Jerarquía de Atributo para el Mes.
- Una Jerarquía de Atributo para el Día.
- Una Jerarquía definida por el Usuario para Mes-Año-Día.
Con las tres primeras Jerarquías, podríamos obtener fácilmente cruces de información como Mes-Año (por poner un ejemplo), es decir, poder analizar nuestras medidas viendo la evolución entre los mismos meses de los diferentes años (ej: evolución de las ventas en las Navidades de los distintos años).
Por otro lado, con cuarta Jerarquía, tendríamos la posibilidad de navegar por la información (Drill-Down y Drill-Up), aunque esto dependerá bastante de las herramientas de visualización que estemos utilizando. Es decir, podríamos mostrar los Años, y al hacer doble-click sobre un año en particular, se mostrasen los meses de dicho año (Drill-Down), etc., una experiencia de navegación que dependerá de la herramienta de visualización. Este efecto de navegación, también lo podríamos conseguir con las primeras tres Jerarquías, pero haciéndolo de forma manual (bastante menos intuitivo para el usuario final).
Ya hablamos hace poco sobre cómo trabajar con la Dimensiones en Analysis Services (SSAS), en un artículo introductorio en el que explicábamos entre otras cosas, cómo añadir nuevas Jerarquías de Atributo a una Dimensión existente. Así que, en el presente artículo vamos a introducir cómo crear Jerarquías definidas por el Usuario en Analysis Services (SSAS).
En nuestro caso de ejemplo, vamos a modificar una Dimensión existente (la Dimensión Producto) de un proyecto existente de Analysis Services 2014 (SSAS), realizado sobre la Base de Datos de ejemplo de AdventureWorksDW2012. En particular, vamos a crear un Jerarquía definida por el Usuario, que muestre la Categoría y Sub-Categoría (dos niveles de profundidad) de los Productos.
Antes de poder crear una Jerarquía definida por el Usuario, deberemos añadir como Atributos los campos de las Tablas de nuestras Dimensiones que necesitemos utilizar, lo que creará las correspondientes Dimensiones de Atributo (que si no queremos, podemos ocultar), para seguidamente poder crear nuestra Jerarquía. Vamos a verlo.
Editamos la Dimensión Producto, y arrastramos y soltamos (Drag and Drop) los campos EnglishProductCategoryName y EnglishProductSubcategoryName, desde el panel Data Source View al panel Attributes.
Realizado esto, deberemos arrastrar y soltar (Drag and Drop) el atributo English Product Category Name al panel Hierarchies. De este modo, crearemos nuestra Jerarquía definida por el Usuario, que en estos momentos tendrá un único nivel.
El siguiente paso, el arrastrar y soltar (Drag and Drop) el atributo EnglishProductCategoryName a la caja etiquetada como New Level en la Jerarquía que acabamos de crear.
Hecho esto habremos creado el segundo nivel de nuestra Jerarquía.
Si ahora procesamos nuestra Dimensión, desde el Navegador (Browser) de Visual Studio podremos observar el resultado, formado por la nueva Jerarquía definida por el Usuario (con dos niveles de profundidad), así como las tres Jerarquías de Atributo.
A partir de este momento, podemos empezar con el maquillaje (ocultar Atributos, renombrar Jerarquías, etc.) para conseguir una navegación más intuitiva para el usuario de negocio.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.