Welche Syntax wird zur Referenzierung von Variablen verwendet?

Sie können Variablen in Analysen, Dashboards, KPIs und Agents referenzieren. Die Referenzierung einer Variablen hängt von der Task ab, die Sie ausführen.

Bei Tasks, 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 Tasks, 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 Tabelle beschrieben.

Hinweis:

Wenn in der Syntax auf das "at"-Zeichen (@) keine geschweifte Klammer folgt ({), wird es als At-Zeichen behandelt.
Variablentyp Syntax Beispiel

Session

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

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

Eine Liste der System-Sessionvariablen, die Sie verwenden können, finden Sie unter System-Sessionvariablen in Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.

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

Repository

@{biServer.variables.variablename}

oder

@{biServer.variables['variablename']}

wobei variablename der Name der Repository-Variable ist, Beispiel: prime_begin.

@{biServer.variables.prime_begin}

oder

@{biServer.variables['prime_begin']}

Präsentation oder Anforderung

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

oder

@{scope.variables['variablename']}

Dabei gilt:

  • 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 für den Standardwert angewendet wird.)

  • (Optional) defaultvalue ist eine konstante oder variable Referenz, die einen Wert angibt, der verwendet werden muss, wenn die von 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.)

Hinweis: Wird ein Dashboard Prompt mit einer Präsentationsvariable verwendet, 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 vollständig angegebenen Namen verwenden.

Hinweis: 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 der folgenden Tabelle beschrieben.

Variablentyp Richtlinien Beispiel

Session

  • 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.

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

Repository

  • Beziehen Sie die Repository-Variable als Argument der Funktion VALUEOF ein.

  • Setzen Sie den Variablennamen in doppelte Anführungszeichen.

  • Referenzieren Sie eine statische Repository-Variable nach Name.

  • Referenzieren Sie eine dynamische Repository-Variable mit ihrem vollständigen Namen.

    Wenn Sie eine dynamische Repository-Variable verwenden, müssen die Namen des Initialisierungsblocks und die Repository-Variable in doppelte Anführungszeichen (") gesetzt, durch einen Punkt getrennt und in Klammern gesetzt werden. Beispiel: Um den Wert einer dynamischen Repository-Variable namens REGION in einem Initialisierungsblock namens "Region Security" zu verwenden, muss folgende Syntax verwendet werden:

    VALUEOF("Region Security"."REGION")

    Weitere Informationen finden Sie unter "Repository-Variablen" in Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.

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

Präsentation

  • Verwenden Sie diese 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 von variablename referenzierte Variable nicht ausgefüllt ist.

  • Um die Variable in eine Zeichenfolge zu konvertieren, setzen Sie die ganze Syntax in Hochkommata, Beispiel:

    '@{user.displayName}'
    

Hinweis: 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 und Uhrzeit — (@{variablename}{timestamp 'defaultvalue'})

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

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

"Market"."Region"=@{MyFavoriteRegion}{EASTERN REGION}

oder

"Products"."P4 Brand"=(@{myTextVar}['@']{BizTech})

oder

"Products"."PO Product Number"=(@{myNumVar}{1000})

oder

"Sales Person"."E7 Hire Date"=(@{myDateTimeVar}{timestamp '2013-05-16 00:00:01'})

oder

"Time"."Total Fiscal Time"=(@{myDateVar}{date '2013-05-16'})

oder

"Time"."Time Right Now"=(@{myTimeVar}{time '00:00:01'})

Bei mehreren Werten (in angegebenen Datentypen) bei Verwendung von SQL:

  • Ist der Spaltentyp Text und variablename übergibt val1, val2 und val3, ergibt sich ('val1', 'val2', 'val3').

oder

  • Ist der Spaltentyp Datum und variablename übergibt 2013-08-09 und 2013-08-10, ergibt sich (Datum '2013-08-09', Datum '2013-08-10').

oder

  • Ist der Spaltentyp Datum und Uhrzeit und variablename übergibt 2013-08-09 00:00:00 und 2013-08-10 00:00:00, ergibt sich (Zeitstempel '2013-08-09 00:00:00', Zeitstempel '2013-08-10 00:00:00').

Spezifische Bereiche, in denen Sie Variablen referenzieren können, finden Sie in Wo können Variablen referenziert werden?