Sie können dynamische Filter basierend auf externen Quelldaten erstellen, um die Anzahl der erforderlichen Filterdefinitionen zu reduzieren.
@datasourceLookup
und der Variablen $LoginUser
und $LoginGroup
. Die externen Quelldaten liegen als CSV-Datei oder relationale Tabelle vor. Bei relationalen Quelldaten können Sie die CSV-Datei in eine relationale Tabelle laden.Verwenden Sie Syntax für dynamische Filter, um flexible Filter zu erstellen, die Sie mehreren Benutzern und Gruppen zuweisen können.
Filterzeilen können folgende Elemente als Teil der Definition zusammen mit Elementausdrücken enthalten.
$loginuser
Diese Variable speichert den Wert des derzeit angemeldeten Benutzers zur Laufzeit. Sie kann zusammen mit der Methode @datasourcelookup
verwendet werden.
$logingroup
Diese Variable speichert den Wert aller Gruppen, zu denen der aktuell angemeldete Benutzer gehört. Dazu gehören sowohl direkte als auch indirekte Gruppen. Bei Kombination mit der Methode @datasourcelookup
wird jede Gruppe einzeln in der Datenquelle gesucht.
@datasourcelookup
Diese Methode ruft Datensätze aus einer Datenquelle ab.
Syntax
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parameter | Beschreibung |
---|---|
dataSourceName |
Der Name der externen Datenquelle, die in Essbase definiert ist. Stellen Sie bei einer Datenquelle auf Anwendungsebene den Anwendungsnamen und einen Punkt als Präfix voran. |
columnName |
Der Name der Datenquellenspalte, in der nach einem angegebenen columnValue gesucht werden soll. |
columnValue |
Der Wert, nach dem in columnName gesucht werden soll. |
returnColumnName |
Der Name der Datenquellenspalte, aus der eine Liste mit Werten zurückgegeben werden soll. |
Beschreibung
Ein @datasourcelookup-Aufruf entspricht der folgenden SQL-Abfrage:
select returnColumnName from dataSourceName where columnName=columnValue
@datasourcelookup sucht die angegebene Datenquelle und gibt Datensätze zurück, bei denen columnName columnValue enthält. Wenn Sie $loginuser
für columnValue angeben, werden Datensätze gesucht, bei denen columnName den Namen des derzeit angemeldeten Benutzers enthält.
Essbase bildet die Filterdefinitionszeile, indem die Listenelemente in einer durch Komma getrennten Zeichenfolge kombiniert werden. Wenn ein Datensatz Sonderzeichen, Leerzeichen oder nur Zahlen enthält, wird er in Anführungszeichen gesetzt.
Beispiele
Schließen Sie die Parameter in Anführungszeichen ein.
Der folgende Aufruf ruft eine globale Datenquelle ab und gibt eine Liste mit Geschäftsnamen zurück, bei denen Mary Store-Manager ist.
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
Der folgende Aufruf ruft eine Datenquelle auf Anwendungsebene ab und gibt eine Liste mit Geschäftsnamen zurück, bei denen der derzeit angemeldete Benutzer Store-Manager ist.
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
Der folgende Aufruf ruft eine Datenquelle auf Anwendungsebene ab und gibt eine Liste mit Geschäftsnamen zurück, bei denen die Geschäftsabteilung einer der Gruppen entspricht, zu denen der angemeldete Benutzer gehört.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
Wenn der angemeldete Benutzer zu 3 Gruppen gehört, gibt die oben genannte @datasourcelookup
-Methode alle übereinstimmenden Spaltenwerte für jede Gruppe zurück.
Mit dem folgenden allgemeinen Workflow können Sie dynamische Filter erstellen.
Beim diesem Workflow für dynamische Filter wird vorausgesetzt, dass Sie bereits über einen Cube verfügen und Benutzern und Gruppen Berechtigungen zugewiesen haben.
$loginuser
, die Variable $logingroup
und die Methode @datasourcelookup
nach Bedarf verwendet werden.Der folgende dynamische Filter funktioniert mit dem Cube "Efficient.UserFilters", der in der Galerie als Beispielvorlage verfügbar ist.
Um zu erfahren, wie Sie diesen dynamischen Filter erstellen und anwenden, laden Sie die Arbeitsmappenvorlage Efficient_Filters.xlsx
vom Abschnitt "Technisch" der Galerie herunter, und befolgen Sie die README-Anweisungen in der Arbeitsmappe. Sie finden die Galerie in der Essbase-Weboberfläche im Abschnitt Dateien.