Syntaxe de référencement des variables

Vous pouvez référencer des variables dans des analyses et des tableaux de bord.

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 que vous utilisez dépend du type de variable, comme décrit dans le tableau ci-après.

Type Syntaxe Exemple

Session

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

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

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

Modèle sémantique (référentiel)

@{biServer.variables.nomvariable}

ou

@{biServer.variables['nomvariable']}

variablename est le nom de la variable, 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['nomvariable']}

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

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

@{dashboard.MyFavoriteRegion}{EASTERN REGION}

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.nomvariable}

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.

La convention de dénomination pour les variables globales doit être conforme aux spécifications de langage de script ECMA 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 langage 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 pour le référencement des variables dans les expressions sont décrites dans les rubriques suivantes :

Variables de session

Vous pouvez vous servir des lignes directrices suivantes pour le référencement des variables de session dans les expressions.

  • 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.
  • Placez NQ_SESSION entre guillemets.
  • Entourez la portion NQ_SESSION et le nom de la variable de session par des parenthèses.

Par exemple :

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

Variables de présentation

Vous pouvez vous servir des lignes directrices suivantes pour le référencement d'une variable de présentation dans les expressions.

Lors du référencement d'une variable de présentation, utilisez la syntaxe suivante :

@{nomvariable}{valeurpardéfaut}

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 ou l'inclusion de plusieurs variables, entourez la variable entière d'apostrophes, par exemple :

'@{utilisateur.nomaffichage}'

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 :

  • Texte : (@{nomvariable}['@']{'valeurpardéfaut'})

  • Numérique : (@{nomvariable}{valeurpardéfaut})

  • Date-heure : (@{nomvariable}{timestamp 'valeurpardéfaut'})

  • Date (uniquement la date) : (@{nomvariable}{date 'valeurpardéfaut'})

  • Heure (uniquement l'heure) : (@{nomvariable}{time 'valeurpardéfaut'})

Par exemple :

'@{utilisateur.nomaffichage}'

Variables de modèle sémantique (référentiel)

Vous pouvez vous servir des lignes directrices suivantes pour le référencement des variables de modèle sémantique (référentiel) dans les expressions.

  • Indiquez la variable en tant qu'argument de la fonction VALUEOF.
  • Entourez le nom de la variable par des guillemets.
  • Faites référence à une variable de modèle sémantique (référentiel) statique par son nom.
  • Faites référence à une variable de modèle sémantique (référentiel) dynamique par son nom qualifié complet.

Par exemple :

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