El uso de expresiones lógicas para filtrar elementos de un nivel de una dimensión permite implementar requerimientos de seguridad complejos. Se presentan aquí los identificadores y funciones necesarios para definir restricciones sobre dimensiones.
Definición de restricciones
Usando restricciones de acceso el administrador podrá especificar, además de las medidas y dimensiones que podrán ser accedidas:
- Desde qué nivel y hasta qué nivel de cada dimensión podrán ser accedidos. La raíz de la dimensión es representada por el nivel 0.
- Filtrar en forma parámetrica los elementos de un nivel de una dimensión definiendo una expresión lógica.
En estos casos, la restricción se implementa como una expresión lógica, que es evaluada para cada elemento del nivel especificado, haciendo que se muestren solamente los elementos para los cuales la expresión es verdadera.
En la definición de la expresión lógica es posible usar identificadores para referirse a los elementos de un nivel de la dimensión, al usuario y su rol, o a funciones para atributos del usuario o rol:
- Identificadores para elementos de un nivel (nodos de la jerarquía de cada dimensión)
Identificador | Función | |
---|---|---|
NodeKey | Retorna el valor de la clave del elemento que se está evaluando | Corresponde al atributo clave en la definición del nivel de la dimensión en O3 Designer. |
NodeLabel | Retorna el valor de la etiqueta del elemento que se está evaluando | Corresponde al atributo etiqueta corta en la definición del nivel de la dimensión en O3 Designer. |
NodeLongLabel | Retorna el valor de la etiqueta larga del elemento que se está evaluando | Corresponde al atributo etiqueta larga en la definicion del nivel de la dimensión en O3 Designer. |
NodeDescription | Retorna el valor de la descripción del elemento que se está evaluando | Corresponde al atributo descripción en la definición del nivel de la dimensión en O3 Designer. |
- Identificadores para usuario y su rol:
Identificador | Función |
---|---|
userName | Retorna el identificador del usuario que está logueado consultando el cubo |
roleName | Retorna el nombre del rol del usuario con el que abrió el cubo |
- Funciones para manejo de atributos de usuario o rol:
O3 BI permite definir atributos a los usuarios y roles. Estos atributos poseen un nombre, un tipo de datos y un valor. Ver definición de atributos en: Administrando Usuarios en O3 Security
El acceso al valor de los atributos desde las restricciones se realiza con las siguientes funciones:
Función | Descripción |
---|---|
getUserValue(<nombre del atributo>) | Retorna el valor asignado al atributo para el usuario que accede al cubo |
getRoleValue(<nombre del atributo>) | Retorna el valor asignado al atributo para el rol del usuario que está accediendo al cubo |
Ejemplos de restricciones
Restricciones sobre la dimensión Destinos del cubo Bodega Ventas
Como puede verse en la imagen, se trata de una dimensión jerárquica, de 3 niveles. El primero presenta los mercados, el segundo los países y el tercero las ciudades.
Restricción para visualizar sólo las ciudades de Kenya, usando la etiqueta corta de los elementos. Se presentan dos ejemplos:
Nivel desde Nivel hasta Expresión de la restricción 3 32767 NodeLabel=="Mombasa" || NodeLabel=="Nairobi"
2 3 NodeLabel=="Kenya"
Restricción para visualizar sólo las ciudades de México, usando la clave de los elementos. Las claves son 1234=Acapulco, 1235=Ciudad de México, 1236=Guadalajara y 1237=Monterrey.
Nivel desde Nivel hasta Expresión de la restricción 3 32767 NodeKey==1234 || NodeKey==1235 || NodeKey==1236 || NodeKey==1237
Restricción para visualizar mercados según el atributo Mercado del usuario logueado. Se tiene un equipo de vendedores donde cada uno tiene un atributo mercado, con uno de los valores posibles: Mercado Africano, Mercado América Central, Mercado América del Norte, etc.
Nivel desde Nivel hasta Expresión de la restricción 1 1 NodeLabel==getUserValue("Mercado")