Freigeben über


Beispiel 6 – Verwenden der Exists- und Except-Funktionen zum Angeben zulässiger und verweigerter Gruppen

In diesem Beispiel weist eine Datenbankrolle die Dimensionssicherheitseinstellungen in der nachfolgenden Tabelle auf.

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

Die Ergebnisse dieser Dimensionssicherheitseinstellungen sehen wie folgt aus:

  • Die verweigerte Gruppe für das State-Attribut gibt an, dass nur das California-Element von der Datenbankrolle angezeigt werden kann. Alle anderen vorhandenen Elemente sowie sämtliche neu hinzugefügten Elemente des State-Attributs sind nicht sichtbar.

  • Elemente in Attributhierarchien, die ein Mitglied des State-Attributs einschließen, bleiben sichtbar, obwohl das State-Attribut eine verweigerte Gruppe aufweist. Die Elemente in anderen Attributhierarchien bleiben sichtbar, da die ApplyDenied-Eigenschaft für die Attribute State und City auf False festgelegt ist.

  • Die Stadt Seattle ist sichtbar, da sie sich in der zulässigen Gruppe für das City-Attribut befindet.

  • Die aggregierten Gesamtergebnisse für die Attribute All Level und State schließen nur die Werte für sichtbare Elemente ein, da die VisualTotals-Eigenschaft für diese beiden Attribute jeweils auf True festgelegt ist.

Überprüfen des Resultsets

Basierend auf diesen Dimensionssicherheitseinstellungen für die Rolle (und basierend auf dem Cubezugriff auf alle Zellen) wird folgendes Resultset vom Cube zurückgegeben, wenn alle Elemente abgefragt werden.

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