2017-02-06 6 views
0

Ich habe einen SSAS-Würfel mit Verkaufsdaten. Eine Dimension ist Abteilung genannt und sieht wie folgt aus: Ebene 1: AbteilungDimension Sicherheit in SSAS

Stufe 2: Kostenstelle

Eine weitere Dimension wie folgt aussieht: Stufe 1: Client

Stufe 2: AccountNo

Level 3: Rechnung

Einige Benutzer sollten nur eine bestimmte Kostenstelle sehen können. Dies habe ich mit dem Erstellen einer Rolle und dem eingeschränkten Zugriff auf Dimensionsdaten für die Dimension Abteilung gelöst. Das funktioniert bisher gut.

Jetzt hat mein Manager gesagt, dass die Benutzer mit eingeschränktem Zugang nicht die Namen der Kunden sehen dürfen, die nicht mit der Kostenstelle der begrenzten Benutzer Geschäfte gemacht haben.

Also muss ich den Zugriff auf die Dimension Client beschränken. Das geht aber nicht so einfach, da es tausende Kunden gibt und ein Kunde eines Tages von einem anderen Unternehmen mit einer neuen Kostenstelle Geschäfte machen kann. Ein Kunde kann auch mehrere Konten haben, die zu verschiedenen Kostenstellen gehören.

Ich brauche hier einen Eintrag zu meinen Optionen. Wäre irgendeine Art von Subcube eine Option oder ein neuer Cube (klingt ein wenig übertrieben)? Eine andere Option wäre, eine weitere Hierarchie in der Client-Dimension zu erstellen, die Kostenstelle, Konto und Rechnung verwendet. Dies würde die Kundenebene eliminieren müssen, da ein Kunde mehrere Konten haben kann, die zu verschiedenen Kostenstellen gehören.

Jeder Eingang willkommen, ich brauche keine exakten Lösungen, sondern Führung ...

Antwort

0

Die gute Nachricht ist, dass Sie dies in Dimensionssicherheit zu tun.

Sie müssen für diese Benutzer eine Rolle eingerichtet haben. Auf der Registerkarte Dimensionsdaten der Rolle in VS gibt es eine Registerkarte Erweitert. Hier können Sie MDX eingeben, das eine Reihe von Dimensionselementen zurückgibt, die die Benutzer sehen können.

Es gibt durchaus ein paar lästigen gotchas mit Dimensionssicherheit:

  1. Stellen Sie sicher, setzen Sie die Sicherheit in den Würfeln Dimensionen, nicht die Datenbank Dimensionen (sie beide nach unten in der Drop aufgelistet werden ganz oben, so dass es sehr einfach ist, die falsche Instanz auszuwählen).
  2. Verwenden Sie in Ihrem MDX-Ausdruck nur Attributhierarchien, nicht "Benutzerhierarchien". Sonst bekommst du komische Fehler.

Ihr „erlaubt Elementgruppe“ Ausdruck für die Clients Dimension sollte wie folgt sein:

EXISTS([Client].[An attribute hierarchy].Members, 
{A set of cost centers the user is allowed to see}, 
"Name of a measure group that will have a non-NULL value if the client has 
had dealings with the cost centre") 

Als Beispiel kam der Ausdruck, den ich mit bis diese arbeite ich auf dem Würfel zu überprüfen auf (Kunden auf diejenigen beschränken, die eine bestimmte Marke gekauft haben) war:

EXISTS([Customer].[Customer Key].Members,[Product].[Brand].&[MH],"OrderItems") 
+0

Es funktioniert! Vielen Dank! – user88139

Verwandte Themen