Vamos a continuar la serie dedicada al Modelo Tabular. Hoy voy a introducir la necesidad del uso de Jerarquías dentro de este.
Vamos a partir de una situación muy frecuente. Tenemos 3 tablas que se dedican a describir aspectos relativos al producto: Product, ProductSubcategory y Categorias. Seleccionamos una columna de cada tabla y las enlazamos con Cantidad, como se muestra en las siguientes imágenes:
El aspecto de la lista de campos de la tabla dinámica es el siguiente:
Si desplegamos las tablas involucradas en la descripción jerárquica del datos, vemos que la única utilidad de estas tablas (ProductSubcategory y Categorias) en nuestro modelo se concreta en esas dos columnas seleccionadas, el resto no cumple ninguna función como podemos ver en la imagen.
La jerarquía se forma muy bien, permitiéndonos contraer y desplegar el datos tanto como sea necesario.
Bien, el problema está planteado, ¿cómo prescindir de estas tablas sin prescindir de estas columnas?
Pues, lo primero ya lo tenemos que es la relación entre las tablas, esto es vital y luego solucionamos … con DAX 🙂 Vamos a utilizar la función RELATED que recibe como parámetro el nombre de la columna que queremos mostrar de la tabla relacionada. En la imagen vemos que funciona Intellisense, lo que es bastante conveniente.
La misma acción realizamos para subcategoria, con lo que ya tenemos las dos columnas calculadas para la tabla Products. Vemos que la coloración de las filas es diferente, son de sólo lectura, calculadas por la fórmula.
De esta forma estamos en condiciones de eliminar del modelo las tablas innecesarias y crear jerarquías para esta tabla Product.
En la próxima entrada vamos a continuar nuestro recorrido por el trabajo con jerarquías en los Modelos tabulares de SSAS 2012.