Quelle est la syntaxe de référencement des variables ?

Vous pouvez référencer des variables dans des analyses, des tableaux de bord, des KPI et des agents. La façon dont vous référencez une variable dépend de la tâche que vous exécutez.

Pour les tâches pour lesquelles vous devez remplir les champs d'une boîte de dialogue, vous ne devez définir que le type et le nom de la variable (pas la syntaxe complète), par exemple, pour le référencement d'une variable dans une définition de filtre.

Pour les autres tâches, telles que le référencement d'une variable dans une vue de titre, vous devez spécifier la syntaxe de la variable. La syntaxe utilisée dépend du type de variable, comme le décrit le tableau.

Remarque :

Dans la syntaxe, si le signe arobase (@) n'est pas suivi d'une accolade ({), il est alors traité comme un signe arobase.
Type de variable Syntaxe Exemple

Session

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

nomvariable est le nom de la variable de session, par exemple DISPLAYNAME.

Pour obtenir la liste des variables de session système que vous pouvez utiliser, reportez-vous à About System Session Variables dans le manuel Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.

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

Référentiel

@{biServer.variables.variablename}

ou

@{biServer.variables['variablename']}

variablename est le nom de la variable de référentiel, par exemple, prime_begin.

@{biServer.variables.prime_begin}

ou

@{biServer.variables['prime_begin']}

Présentation ou demande

@{variables.nomvariable}[format]{valeurpardéfaut}

ou

@{scope.variables['variablename']}

où :

  • nomvariable est le nom de la variable de présentation ou de demande, par exemple, MyFavoriteRegion.

  • (facultatif) format est un masque de format qui dépend du type de données de la variable, par exemple #,##0, MM/DD/YY hh:mm:ss. (Le format n'est pas appliqué à la valeur par défaut.)

  • (facultatif) valeurpardéfaut est une constante ou une référence de variable indiquant la valeur à utiliser si la variable référencée par nomvariable n'est pas définie.

  • scope identifie les qualificatifs de la variable. Vous devez spécifier la portée lorsqu'une variable est utilisée sur plusieurs niveaux (analyses, pages de tableau de bord et tableaux de bord) et que vous voulez accéder à une valeur spécifique. (Si vous ne spécifiez pas la portée, l'ordre de priorité est le suivant : analyse, pages de tableau de bord et tableaux de bord.)

Remarque : lors de l'utilisation d'une invite de tableau de bord avec une variable de présentation pouvant avoir plusieurs valeurs, la syntaxe varie en fonction du type de colonne. Les valeurs multiples sont formatées en valeurs séparées par des virgules et par conséquent, n'importe quelle clause de format est appliquée à chaque valeur avant qu'elles ne soient jointes par des virgules.

@{variables.MyFavoriteRegion}{EASTERN REGION}

ou

@{MyFavoriteRegion}

ou

@{dashboard.variables['MyFavoriteRegion']}

ou

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

ou

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

ou

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

Global

@{global.variables.variablename}

nomvariable est le nom de la variable globale, par exemple, gv_region. Lorsque vous faites référence à une variable globale, vous devez utiliser le nom qualifié complet comme indiqué dans l'exemple.

Remarque : la convention de dénomination pour les variables globales doit être conforme aux spécifications de langage de script EMCA pour JavaScript. Le nom ne doit pas dépasser 200 caractères, et ne doit pas contenir ni espace imbriqué, ni mot réservé, ni caractère spécial. Si vous ne connaissez pas les exigences de langue de JavaScript, reportez-vous à une référence tierce.

@{global.variables.gv_date_n_time}

Vous pouvez également référencer des variables dans des expressions. Les lignes directrices en matière de référencement des variables dans les expressions sont décrites dans le tableau ci-après.

Type de variable Lignes directrices Exemple

Session

  • Indiquez la variable de session en tant qu'argument de la fonction VALUEOF.

  • Entourez le nom de la variable par des guillemets.

  • Précédez la variable de session par NQ_SESSION suivi d'un point.

  • Entourez la portion NQ_SESSION et le nom de la variable de session par des parenthèses.

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

Référentiel

  • Indiquez la variable de référentiel en tant qu'argument de la fonction VALUEOF.

  • Entourez le nom de la variable par des guillemets.

  • Faites référence à une variable de référentiel statique par son nom.

  • Faites référence à une variable de référentiel dynamique par son nom qualifié complet.

    Si vous utilisez une variable de référentiel dynamique, les noms du bloc d'initialisation et de la variable de référentiel doivent apparaître entre guillemets ("), être séparés par un point et entourés par des parenthèses. Par exemple, pour utiliser la valeur d'une variable de référentiel dynamique nommée REGION contenue dans un bloc d'initialisation nommé Region Security, utilisez la syntaxe suivante :

    VALUEOF("Region Security"."REGION")

    Pour plus d'informations, reportez-vous à "About Repository Variables" dans le manuel 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

  • Utilisez la syntaxe suivante :

    @{variablename}{defaultvalue}
    

    nomvariable est le nom de la variable de présentation et valeurpardéfaut (facultatif) est une constante ou une référence de variable indiquant la valeur à utiliser si la variable référencée par nomvariable n'est pas définie.

  • Pour la coercition (c'est-à-dire la conversion) de la variable en chaîne, entourez la syntaxe entière d'apostrophes, par exemple :

    '@{user.displayName}'
    

Remarque : si le signe @ n'est pas suivi d'une accolade {, il est traité comme un signe @.

Lors de l'utilisation d'une variable de présentation pouvant avoir plusieurs valeurs, la syntaxe varie en fonction du type de colonne.

Utilisez la syntaxe suivante dans SQL pour le type de colonne spécifié afin de générer des instructions SQL valides :

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

  • Numeric : (@{variablename}{defaultvalue})

  • Date-time : (@{variablename}{timestamp 'defaultvalue'})

  • Date (uniquement la date) : (@{variablename}{date 'defaultvalue'})

  • Time (uniquement l'heure) : (@{variablename}{time 'defaultvalue'})

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

ou

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

ou

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

ou

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

ou

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

ou

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

Pour les valeurs multiples (dans les types de données spécifiés), lorsque vous utilisez SQL :

  • Si le type de colonne est Text et que variablename transmet val1, val2 et val3, le résultat est ('val1', 'val2', 'val3').

ou

  • Si le type de colonne est Date et que variablename transmet 2013-08-09 et 2013-08-10, le résultat est (date '2013-08-09', date '2013-08-10').

ou

  • Si le type de colonne est Date-time et que variablename transmet 2013-08-09 00:00:00 et 2013-08-10 00:00:00, le résultat est (timestamp '2013-08-09 00:00:00', timestamp '2013-08-10 00:00:00').

Pour connaître les zones spécifiques dans lesquelles vous pouvez référencer des variables, reportez-vous à Où puis-je référencer des variables ?