Ejemplo 6: usar las funciones Exists y Except para especificar conjuntos permitidos y denegados
En este ejemplo, una función de base de datos tiene la configuración de seguridad de dimensión que se muestra en la siguiente tabla.
Attribute |
IsAllowed |
AllowedSet |
DeniedSet |
ApplyDenied |
VisualTotals |
---|---|---|---|---|---|
State |
True |
|
EXCEPT (State..Members, {California}) |
False |
True |
City |
True |
EXISTS (City..Members, {California} + {Seattle}) |
|
False |
False |
Gender |
False |
|
|
True |
False |
Los resultados de esta configuración de seguridad de dimensión son los siguientes:
El conjunto denegado para el atributo State especifica que la función de base de datos sólo puede ver el miembro California. Todos los demás miembros existentes y agregados nuevos del atributo State no estarán visibles.
Los miembros de las jerarquías de atributos que incluyen un miembro del atributo State siguen estando visibles, aunque el atributo State tiene un conjunto denegado. Los miembros de otras jerarquías de atributos siguen estando visibles porque la propiedad ApplyDenied de los atributos State y City se establecen en False.
La ciudad de Seattle está visible porque pertenece al conjunto permitido del atributo City.
Los totales agregados para los atributos All Level y State sólo incluyen los valores para los miembros que están visibles porque la propiedad VisualTotals para ambos atributos se establece en True.
Revisar el conjunto de resultados
Según esta configuración de seguridad de dimensión para la función (y del acceso del cubo a todas las celdas), se devuelve el siguiente conjunto de resultados del cubo cuando se consultan todos los miembros.
All Level |
State |
City |
Gender |
Sales Amount |
---|---|---|---|---|
All Offices |
|
|
|
17400 |
|
California |
|
|
12900 |
|
|
San Jose |
|
4200 |
|
|
San Francisco |
|
4400 |
|
|
Los Angeles |
|
4300 |
|
Washington |
|
|
4500 |
|
|
Seattle |
|
4500 |
Vea también