Erweiterte Techniken: Gespeicherte Werte in Variablen referenzieren

Beispiel: Sie möchten eine Analyse erstellen, in deren Titel der aktuelle Benutzername angezeigt wird. Dies kann durch Referenzierung einer Variablen geschehen.

Sie können verschiedene Variablentypen in Ihren Analysen, Dashboards und Aktionen referenzieren: Session, semantisches Modell (Repository), Präsentation, Anforderung und global. Inhaltsautoren können Präsentations-, Anforderungs- und globale Variablen selber definieren. Andere Typen (Session und semantisches Modell (Repository)) werden jedoch im semantischen Modell für Sie definiert.

Hinweis: Oracle Analytics unterstützt nicht die Variablen ":user" und ":password" in Zugangsdaten für Datenquellenverbindungen.

Variablentyp Definiert in Definiert von Weitere Informationen

Session

  • System

  • Nichtsystem

Semantisches Modell

Datenmodellautoren

Sessionvariablen

Semantisches Modell (Repository)

  • Dynamisch

  • Statisch

Semantisches Modell

Datenmodellautoren

Variablen semantischer Modelle (Repository-Variablen)

Präsentation

Prompts für Analysen und Dashboards

Inhaltsverfasser

Präsentationsvariablen

Anforderung

Prompts für Analysen und Dashboards

Inhaltsverfasser

Anforderungsvariablen

Global

Analysen

Administratoren

Globale Variablen und Globale Variablen erstellen

Sessionvariablen

Sessionvariablen werden initialisiert, wenn ein Benutzer sich anmeldet.

Diese Variablen sind während der Sessiondauer für jeden Benutzer vorhanden und laufen ab, wenn der Benutzer den Browser schließt oder sich abmeldet. Es gibt zwei Typen von Sessionvariablen: System und Nicht-System.

Systemsessionvariablen

Sie können mehrere Systemsessionvariable in Berichten und Dashboards verwenden.

Die Systemsessionvariablen haben reservierte Namen, die Sie nicht für andere Arten von Variablen verwenden können.

Systemsessionvariable Beschreibung Beispiel für SQL-Abfragewert (Dialogfeld "Variable")

PORTALPATH

Identifiziert das Standard-Dashboard, das einem Benutzer bei der Anmeldung angezeigt wird (Benutzer können diese Voreinstellung nach der Anmeldung außer Kraft setzen).

So zeigen Sie "mydashboard" an, wenn ein Benutzer sich anmeldet:

 select ‘/shared/_portal/mydashboard’ from dual;

TIMEZONE

Gibt die Standardzeitzone für Benutzer an, wenn diese sich anmelden.

Die Zeitzone eines Benutzers wird normalerweise anhand des jeweiligen Profils aufgefüllt. Benutzer können ihre Standardzeitzone in den Voreinstellungen ändern (Mein Account).

So legen Sie die Zeitzone fest, wenn ein Benutzer sich anmeldet:

select ‘(GMT-08:00) Pacific Time (US & Canada)’ from dual;

DATA_TZ

Gibt ein Offset von der Originalzeitzone für Daten an.

Mit dieser Variablen können Sie eine Zeitzone konvertieren, damit den Benutzern die richtige Zone angezeigt wird.

So konvertieren Sie Zeitdaten in Eastern Standard Time (EST):

select ‘GMT-05:00’ from dual;

Dieses Beispiel bezeichnet Greenwich Mean Time (GMT) - 5 Stunden

DATA_DISPLAY_TZ

Gibt die Zeitzone für die Anzeige von Daten an.

So zeigen Sie Eastern Standard Time (EST) an:

select ‘GMT-05:00’ from dual;

Dieses Beispiel bezeichnet Greenwich Mean Time (GMT) - 5 Stunden

Nicht-Systemsessionvariablen

Die Nicht-Systemsessionvariablen werden in Ihrem semantischen Modell benannt und erstellt.

Beispiel: Der Datenmodellierer erstellt die Variable "SalesRegion", die als der Name der Verkaufsregion eines Benutzers initialisiert wird, wenn dieser sich anmeldet.

Variablen semantischer Modelle (Repository-Variablen)

Eine Variable eines semantischen Modells (Repositorys) enthält einen einzelnen Wert zu einem bestimmten Zeitpunkt.

Variablen semantischer Modelle (Repository-Variablen) können statisch oder dynamisch sein. Eine statische Variable eines semantischen Modells (Repositorys) enthält einen Wert, der bestehen und unverändert bleibt, bis der Administrator ihn ändert. Eine dynamische Variable eines semantischen Modells (Repositorys) enthält einen Wert, der von Daten aktualisiert wird, die aus Abfragen zurückgegeben werden.

Präsentationsvariablen

Sie erstellen eine Präsentationsvariable, wenn Sie einen Spalten-Prompt oder Variablen-Prompt anlegen.

Typ Beschreibung

Spalten-Prompt

Eine Präsentationsvariable, die als Bestandteil eines Spalten-Prompts erstellt wird, ist mit einer Spalte verknüpft, und die Werte für diese Variable können aus den Spaltenwerten entnommen werden.

Um eine Präsentationsvariable als Teil eines Spalten-Prompts zu erstellen, müssen Sie im Dialogfeld "Neuer Prompt" Präsentationsvariable im Feld Variable festlegen auswählen. Geben Sie im Feld Variablenname einen Namen für die Variable ein.

Variablen-Prompt

Eine Präsentationsvariable, die als Bestandteil eines Variablen-Prompts erstellt wird, ist nicht mit einer Spalte verknüpft, und Sie definieren die Werte für diese Variable.

Um eine Präsentationsvariable als Teil eines Variablen-Prompts zu erstellen, müssen Sie im Dialogfeld "Neuer Prompt" Präsentationsvariable im Feld Prompt für auswählen. Geben Sie im Feld Variablenname einen Namen für die Variable ein.

Der Wert von Präsentationsvariablen wird von dem Spalten- oder Variablen-Prompt ausgefüllt, mit dem er erstellt wurde. Immer wenn ein Benutzer einen oder mehrere Werte im Spalten- oder Variablen-Prompt wählt, wird der Wert der Präsentationsvariable also auf den Wert oder die Werte gesetzt, die der Benutzer wählt.

Anforderungsvariablen

Mit einer Anforderungsvariablen können Sie den Wert einer Sessionvariable außer Kraft setzen, jedoch nur während der Dauer einer Datenbankanforderung, die aus einem Spalten-Prompt eingeleitet wird. Sie können eine Anforderungsvariable beim Erstellen eines Spalten-Prompts erstellen.

Eine Anforderungsvariable kann beim Erstellen eines der folgenden Typen von Dashboard Prompts erstellt werden:

  • Eine Anforderungsvariable, die als Bestandteil eines Spalten-Prompts erstellt wird, ist mit einer Spalte verknüpft, und die Werte für diese Variable können aus den Spaltenwerten entnommen werden.

    Um eine Anforderungsvariable als Teil eines Spalten-Prompts zu erstellen, müssen Sie im Dialogfeld "Neuer Prompt" Anforderungsvariable im Feld Variable festlegen wählen. Geben Sie den Namen der außer Kraft zu setzenden Sessionvariablen im Feld Variablenname an.

  • Eine Anforderungsvariable, die als Bestandteil eines Variablen-Prompts erstellt wird, ist nicht mit einer Spalte verknüpft, und Sie definieren die Werte für diese Variable.

    Um eine Anforderungsvariable als Teil eines Variablen-Prompts zu erstellen, müssen Sie im Dialogfeld "Neuer Prompt" (oder "Prompt bearbeiten") Anforderungsvariable im Feld Prompt für wählen. Geben Sie dann einen Namen der Sessionvariable, die außer Kraft gesetzt werden soll, in das Feld Variablenname ein.

Der Wert einer Anforderungsvariable wird von dem Spalten-Prompt ausgefüllt, mit dem sie erstellt wurde. Das heißt, immer wenn ein Benutzer einen Wert in dem Spalten-Prompt wählt, wird der Wert der Anforderungsvariable auf den vom Benutzer gewählten Wert gesetzt. Der Wert ist jedoch nur von dem Zeitpunkt, an dem der Benutzer auf die Schaltfläche Los für den Prompt klickt, bis zur Rückgabe der Analyseergebnisse an das Dashboard gültig.

Bestimmte Systemsessionvariablen (wie USERGUID oder ROLES) können von den Anforderungsvariablen nicht überschrieben werden. Andere Systemsessionvariablen wie DATA_TZ und DATA_DISPLAY_TZ (Zeitzone) können außer Kraft gesetzt werden, wenn sie in Model Administration Tool entsprechend konfiguriert wurden.

Nur Zeichenfolgen- und numerische Anforderungsvariablen unterstützen mehrere Werte. Alle anderen Datentypen übergeben nur den ersten Wert.

Globale Variablen

Eine globale Variable ist eine Spalte, die aus einem bestimmten Datentyp in Verbindung mit einem Wert besteht. Der Wert kann Datum, Datum und Uhrzeit, Zahl, Text und Zeit sein.

Die globale Variable wird zum Zeitpunkt der Analyseausführung ausgewertet, und ihr Wert wird entsprechend eingesetzt.

Nur Benutzer mit der Rolle "BI Service Administrator" können globale Variablen verwalten (hinzufügen, bearbeiten und löschen).

Sie erstellen einen globalen Wert beim Erstellen einer Analyse mit dem Dialogfeld "Spaltenformel bearbeiten". Die globale Variable wird dann im Katalog gespeichert und ist in allen anderen Analysen innerhalb eines spezifischen Inhaltssystems verfügbar.

Globale Variablen erstellen

Sie können eine Berechnung als globale Variable speichern und dann in verschiedenen Analysen wieder verwenden.

  1. Öffnen Sie die Analyse zur Bearbeitung zur Bearbeitung.
  2. Klicken Sie im Bereich "Gewählte Spanten" auf Optionen neben dem Spaltennamen.
  3. Wählen Sie Formel bearbeiten, um die Registerkarte "Spaltenformel" anzuzeigen.
  4. Klicken Sie auf Variable, und wählen Sie Global aus.
  5. Klicken Sie auf Neue globale Variable hinzufügen.
  6. Geben Sie den Wert für Name ein. Beispiel: gv_region, date_and_time_global_variable, oder rev_eastern_region_calc_gv.
    Der Name für eine globale Variable muss bei der Referenzierung vollqualifiziert sein. Ihr wird deshalb der Text "global.variables" vorangestellt. Beispiel: Eine globale Variable, die zur Berechnung des Umsatzes festgelegt wurde, wird wie folgt im Dialogfeld "Spaltenformel" angezeigt:

    "Base Facts"."1- Revenue"*@{global.variables.gv_qualified}

  7. Geben Sie Werte für Typ und Wert ein.
    • Wenn Sie "Datum und Uhrzeit" als Datentyp auswählen, geben Sie den Wert nach dem Muster des folgenden Beispiels ein: 03/25/2004 12:00:00 AM
    • Wenn Sie einen Ausdruck oder eine Berechnung als Wert eingeben, müssen Sie als Datentyp "Text" auswählen, wie im folgenden Beispiel dargestellt: "Base Facts"."1- Revenue"*3.1415
  8. Klicken Sie auf OK. Die neue globale Variable wird dem Dialogfeld "Globale Variable einfügen" hinzugefügt.
  9. Wählen Sie die gerade von Ihnen erstellte neue globale Variable, und klicken Sie auf OK. Im Fensterbereich "Spaltenformel" wird das Dialogfeld "Spaltenformel bearbeiten" mit der eingefügten neuen globalen Variablen angezeigt. Das Kontrollkästchen Angepasste Überschriften ist automatisch aktiviert.
  10. Um die Variable besser wiederzugeben, geben Sie einen neuen Namen für die Spalte ein, der Sie eine globale Variable zugewiesen haben.
  11. Klicken Sie auf OK.

Syntax für das Referenzieren von Variablen

Sie können Variablen in Analysen und Dashboards referenzieren.

Die Referenzierung einer Variablen hängt von der Aufgabe ab, die Sie ausführen. Bei Aufgaben, bei denen Felder in einem Dialogfeld angezeigt werden, müssen Sie nur den Typ und Namen der Variablen (nicht die ganze Syntax) angeben; Beispiel: Referenzieren einer Variablen in einer Filterdefinition.

Bei anderen Aufgaben, wie dem Referenzieren einer Variablen in einer Titelansicht, geben Sie die Variablensyntax an. Die verwendete Syntax hängt von dem Typ der Variable ab, wie in der folgenden Tabelle beschrieben.

Typ Syntax Beispiel

Session

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

wobei variablename der Name der Sessionvariable ist, Beispiel: DISPLAYNAME.

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

Semantisches Modell (Repository)

@{biServer.variables.variablename}

oder

@{biServer.variables['variablename']}

wobei variablename der Name der Variable ist, z.B. prime_begin

@{biServer.variables.prime_begin}

oder

@{biServer.variables['prime_begin']}

Präsentation oder Anforderung

@{variables.variablename}[format]{defaultvalue}

oder

@{scope.variables['variablename']}

Dabei entspricht:

variablename ist der Name der Präsentations- oder Anforderungsvariable, Beispiel: MyFavoriteRegion.

(Optional) format ist eine Formatmaske, die vom Datentyp der Variablen abhängig ist; Beispiel: #,##0, MM/DD/YY hh:mm:ss. (Beachten Sie, dass das Format nicht auf den Standardwert angewendet wird.)

(Optional) defaultvalue ist eine konstante oder variable Referenz, die einen Wert angibt, der verwendet werden muss, wenn die durch variablename referenzierte Variable nicht ausgefüllt ist.

scope identifiziert die Bezeichner für die Variable. Sie müssen den "scope" (Geltungsbereich) angeben, wenn eine Variable auf mehreren Ebenen verwendet wird (Analysen, Dashboard-Seiten und Dashboards) und Sie auf einen bestimmten Wert zugreifen möchten. (Wenn Sie den Geltungsbereich nicht angeben, ist die Prioritätsfolge: Analysen, Dashboard-Seiten und Dashboards.)

Wenn ein Dashboard Prompt mit einer Präsentationsvariable verwendet wird, die mehrere Werte haben kann, hängt die Syntax vom Spaltentyp ab. Mehrere Werte werden als durch Komma getrennte Werte formatiert, und daher wird vor der Verbindung durch Kommas auf jeden Wert eine FORMAT-Klausel, falls zutreffend, angewendet.

@{variables.MyFavoriteRegion}{EASTERN REGION}

oder

@{MyFavoriteRegion}

oder

@{dashboard.variables['MyFavoriteRegion']}

oder

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

oder

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

oder

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

Global

@{global.variables.variablename}

wobei variablename der Name der globalen Variable ist, Beispiel: gv_region. Wenn Sie auf eine globale Variable referenzieren, müssen Sie, wie im Beispiel gezeigt, den vollqualifizierten Namen verwenden.

Die Namenskonvention für globale Variablen muss den Spezifikationen der EMCA-Skriptsprache für JavaScript entsprechen. Der Name darf nicht länger sein als 200 Zeichen und darf keine eingebetteten Leerzeichen, reservierten Wörter oder Sonderzeichen enthalten. Falls Sie mit den Anforderungen der JavaScript-Skriptsprache nicht vertraut sind, wenden Sie sich an einen Experten

@{global.variables.gv_date_n_time}

Sie können Variablen auch in Ausdrücken referenzieren. Die Richtlinien zur Referenzierung von Variablen in Ausdrücken werden in den folgenden Themen beschrieben:

Sessionvariablen

Sie können die folgenden Richtlinien bei der Referenzierung von Sessionvariablen in Ausdrücken verwenden.

  • Beziehen Sie die Sessionvariable als Argument der Funktion VALUEOF ein.
  • Setzen Sie den Variablennamen in doppelte Anführungszeichen.
  • Stellen Sie der Sessionvariable NQ_SESSION und einen Punkt voran.
  • Setzen Sie den NQ_SESSION-Teil und den Namen der Sessionvariable in Klammern.

Beispiel:

"Market"."Region"=VALUEOF(NQ_SESSION."SalesRegion")

Präsentationsvariablen

Sie können die folgenden Richtlinien bei der Referenzierung von Präsentationsvariablen in Ausdrücken verwenden.

Bei der Referenzierung einer Präsentationsvariable verwenden Sie folgende Syntax:

@{variablename}{defaultvalue}

wobei variablename der Name der Präsentationsvariable und defaultvalue (optional) eine konstante oder variable Referenz ist, die einen Wert angibt, der verwendet werden muss, wenn die durch variablename referenzierte Variable nicht ausgefüllt ist.

Um die Variable in eine Zeichenfolge zu konvertieren oder mehrere Variablen aufzunehmen, setzen Sie die ganze Variable in einfache Anführungszeichen. Beispiel:

'@{user.displayName}'

Wenn auf das @-Zeichen keine { folgt, wird es als @-Zeichen behandelt. Wird eine Präsentationsvariable verwendet, die mehrere Werte haben kann, hängt die Syntax vom Spaltentyp ab.

Verwenden Sie die folgende Syntax in SQL für den angegebenen Spaltentyp, um gültige SQL-Anweisungen zu erstellen:

  • Text - (@{variablename}['@']{'defaultvalue'})

  • Numerisch - (@{variablename}{defaultvalue})

  • Datum/Uhrzeit - (@{variablename}{timestamp 'defaultvalue'})

  • Datum (nur das Datum) - (@{variablename}{date 'defaultvalue'})

  • Uhrzeit (nur die Uhrzeit) - (@{variablename}{time 'defaultvalue'})

Beispiel:

'@{user.displayName}'

Variablen semantischer Modelle (Repository-Variablen)

Sie können die folgenden Richtlinien bei der Referenzierung von Variablen semantischer Modelle (Repository-Variablen) in Ausdrücken verwenden.

  • Schließen Sie die Variable als Argument der VALUEOF-Funktion ein.
  • Setzen Sie den Variablennamen in doppelte Anführungszeichen.
  • Referenzieren Sie eine statische Variable eines semantischen Modells (Repositorys) nach Name.
  • Referenzieren Sie eine dynamische Variable eines semantischen Modells (Repositorys) mit ihrem vollqualifizierten Namen.

Beispiel:

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END