Wie kann Oracle BI 12c gezwungen werden, so viele Sitzungsvariablen zu erstellen, wie ein Programmierer benötigt?

Der Oracle BI 12c-Server verfügt über interessante Funktionen zum automatischen Erstellen einer Reihe von Sitzungsvariablen, ohne deren Namen auf Benutzersitzungsebene anzugeben und ohne deren Nummer auf Repository-Ebene explizit zu beschreiben, wenn eine BI-Sitzung eines bestimmten Benutzers autorisiert wird.

In dem Schema, in das wir aus der physischen Schicht eingeben, erstellen wir die folgende Tabelle:

USERID NAME VALUE ---------- ---------- --------------- weblogic level 11 weblogic status FULL-TIME Tom Kyte status PART-TIME Tom Kyte level 9 Tom Kyte flow cache 

Wir werden eine Abfrage detaillierter beschreiben, mit der Variablen auf Sitzungsebene dynamisch erstellt werden können. Wir verwenden die Systemsitzungsvariable USER .


 SELECT NAME, VALUE FROM RW_SESSION_VARS WHERE USERID='VALUEOF(NQ_SESSION.USER)' 


Beachten Sie, dass wir keine neuen Variablen erstellen, sondern das Kontrollkästchen Zeilenweise Initialisierung aktivieren (vergessen Sie nicht, das Kontrollkästchen Caching verwenden zu deaktivieren).



Erstellen Sie ein Dashboard mit einem einzelnen Textfeld, um die erstellten Variablen anzuzeigen.


 [b]@{biServer.variables['NQ_SESSION.USER']}[br/] @{biServer.variables['NQ_SESSION.level']}[br/] @{biServer.variables['NQ_SESSION.status']}[br/] @{biServer.variables['NQ_SESSION.flow']}[/b] 


Wir stellen fest, dass zwei Variablen für den Weblogic-Benutzer erstellt und initialisiert wurden.


 [b]@{biServer.variables['NQ_SESSION.USER']}=>weblogic[br/] @{biServer.variables['NQ_SESSION.level']}=>11[br/] @{biServer.variables['NQ_SESSION.status']}=>FULL-TIME[br/] @{biServer.variables['NQ_SESSION.flow']}=> [/b] 


Wir stellen fest, dass der Benutzer Tom Kyte drei Variablen erstellt und initialisiert hat.


 [b]@{biServer.variables['NQ_SESSION.USER']}=>Tom Kyte[br/] @{biServer.variables['NQ_SESSION.level']}=>9[br/] @{biServer.variables['NQ_SESSION.status']}=>PART-TIME[br/] @{biServer.variables['NQ_SESSION.flow']}=>cache[/b] 


Die Frage, wie so viele Sitzungsvariablen erstellt werden können, wie der Programmierer benötigt, haben wir vom Kursteilnehmer zum Aufbau des Oracle BI 12c-Repositorys unseres Schulungszentrums erhalten.

Die Antwort auf die Frage kann hilfreich sein, wenn Sie eine Reihe von Sitzungsvariablen erstellen, um den Betrieb von Objekten eines bestimmten autorisierten Benutzers sicherzustellen.

PS Da bis zum vollständigen Tutorial ein Tablet aus der Dokumentation fehlt,
lege es unter die Katze.
So wählen Sie den Typ der Repository-Variablen aus und greifen darauf zu.

Typ
der Variablen


Syntax


Beispiel


Sitzung


@ {biServer.variables ['NQ_SESSION. Variablenname ']}


@ {biServer.variables ['NQ_SESSION.USER']}


wo Variablenname ist
Der Name der Sitzungsvariablen, z. B. DISPLAYNAME.


Für
Eine Liste der Systemsitzungsvariablen, die Sie verwenden können, finden Sie unter "Info"
Systemsitzungsvariablen "im Metadata Repository Builder
Handbuch für Oracle Business Intelligence Enterprise Edition .


Repository


@ {biServer.variables. Variablenname }


@ {biServer.variables.prime_begin}


oder


oder


@ {biServer.variables [' Variablenname ']}


@ {biServer.variables ['prime_begin']}


wo Variablenname ist
Der Name der Repository-Variablen, z. B. prime_begin.



Präsentation
oder Anfrage


@ {Variablen. Variablenname } [ Format ] { Standardwert }


@ {variables.MyFavoriteRegion} {EASTERN
REGION}


oder


oder


@ { scope .variables [' Variablenname ']}


@ {MyFavoriteRegion}


wo:


oder


Variablenname ist
der Name der Präsentations- oder Anforderungsvariablen, z.
MyFavoriteRegion.


@ {dashboard.variables ['MyFavoriteRegion']}


(optionales) Format ist
eine vom Datentyp der Variablen abhängige Formatmaske, z
Beispiel #, ## 0, MM / TT / JJ hh: mm: ss. (Beachten Sie, dass das Format nicht ist
auf den Standardwert angewendet.)


oder


(optional) Standardwert ist
eine konstante oder variable Referenz, die einen Wert angibt, der verwendet werden soll, wenn
Die Variable, auf die durch Variablenname verwiesen wird , ist
nicht besiedelt.


(@ {myNumVar} [#, ## 0] {1000})


Umfang identifiziert
die Qualifikationsmerkmale für die Variable. Sie müssen den Bereich angeben, wenn a
Variable wird auf mehreren Ebenen verwendet (Analysen, Dashboard-Seiten,
und Dashboards) und Sie möchten auf einen bestimmten Wert zugreifen. (Wenn du
Geben Sie den Umfang nicht an, dann ist die Rangfolge
Analysen, Dashboard-Seiten und Dashboards.)


oder


Hinweis: Wann
Verwenden einer Dashboard-Eingabeaufforderung mit einer Präsentationsvariablen, die dies kann
haben mehrere Werte, die Syntax unterscheidet sich je nach Spalte
Typ. Mehrere Werte werden in durch Kommas getrennte Werte formatiert
Daher wird jede Formatklausel zuvor auf jeden Wert angewendet
durch Kommas verbunden.


(@ {variables.MyOwnTimestamp} [JJ-MM-TT
hh: mm: ss] {)



oder



(@ {myTextVar} {A,
B, C})


Global


@ {global.variables. Variablenname }


@ {global.variables.gv_date_n_time}


Source: https://habr.com/ru/post/de459698/


All Articles