Techniques avancées : référencement des valeurs stockées dans des variables

Vous pouvez créer une analyse dont le titre contient le nom de l'utilisateur en cours. Pour ce faire, vous pouvez référencer une variable.

Vous pouvez référencer plusieurs types de variable différents dans vos analyses, tableaux de bord et actions : session, modèle sémantique (référentiel), présentation, demande et globale. Les auteurs de contenu peuvent définir les variables de présentation, de demande et globales eux-mêmes, mais d'autres types (session et modèle sémantique [référentiel]) sont définis pour vous dans le modèle sémantique.

Remarque : Oracle Analytics ne prend pas en charge les variables :user et :password dans les informations d'identification de connexion à une source de données.

Type de variable Défini dans Défini par Informations complémentaires

Session

  • Système

  • Non-système

Modèle sémantique

Auteurs de modèle de données

A propos des variables de session

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

  • Dynamique

  • Statique

Modèle sémantique

Auteurs de modèle de données

A propos des variables de modèle sémantique (référentiel)

Présentation

Invites des tableaux de bord et des analyses

Auteur de contenu

A propos des variables de présentation

Demande

Invites des tableaux de bord et des analyses

Auteur de contenu

A propos des variables de demande

Global

Analyses

Administrateurs

A propos des variables globales et Création de variables globales

A propos des variables de session

Les variables de session sont initialisées lorsqu'un utilisateur se connecte.

Ces variables existent pour chaque utilisateur pour la durée de leur session de navigation et expirent lorsque l'utilisateur ferme le navigateur ou se déconnecte. Il existe deux types de variable de session : système et non système.

Variables de session système

Il existe plusieurs variables de session système que vous pouvez utiliser dans les rapports et tableaux de bord.

Les variables de session système ont des noms réservés, vous ne pouvez donc pas les utiliser pour d'autres types de variable.

Variable de session système Description Exemple de valeur de requête SQL (boîte de dialogue Variable)

PORTALPATH

Identifie le tableau de bord par défaut que voit un utilisateur lorsqu'il se connecte (il peut remplacer cette préférence après s'être connecté).

Pour afficher mydashboard lorsqu'un utilisateur se connecte, procédez comme suit :

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

TIMEZONE

Indique le fuseau horaire par défaut d'un utilisateur lorsqu'il se connecte.

Le fuseau horaire d'un utilisateur est en général défini à partir de son profil. Les utilisateurs peuvent modifier le fuseau horaire par défaut dans les préférences (Mon compte).

Pour définir un fuseau horaire lorsqu'un utilisateur se connecte, procédez comme suit :

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

DATA_TZ

Indique un décalage par rapport au fuseau horaire d'origine des données.

Cette variable permet de convertir un fuseau horaire de sorte que les utilisateurs voient le fuseau adéquat.

Pour convertir les données de temps en heure standard de l'est (EST), procédez comme suit :

select ‘GMT-05:00’ from dual;

Cet exemple signifie Heure de Greenwich (GMT) - 5 heures

DATA_DISPLAY_TZ

Indiquez le fuseau horaire pour l'affichage des données.

Pour afficher l'heure standard de l'est (EST), procédez comme suit :

select ‘GMT-05:00’ from dual;

Cet exemple signifie Heure de Greenwich (GMT) - 5 heures

Variables de session non système

Les variables de session non système sont nommées et créées dans votre modèle sémantique.

Par exemple, Data Modeler peut créer une variable SalesRegion qui initialise le nom de la région de ventes d'un utilisateur lorsqu'il se connecte.

A propos des variables de modèle sémantique (référentiel)

Une variable de modèle sémantique (référentiel) est une variable qui possède, à tout moment, une seule valeur.

Les variables de modèle sémantique (référentiel) peuvent être statiques ou dynamiques. Une variable de modèle sémantique (référentiel) statique comporte une valeur persistante qui ne change pas tant que l'administrateur ne la modifie pas. Une variable de modèle sémantique (référentiel) dynamique comporte une valeur qui est actualisée par les données renvoyées à partir de requêtes.

A propos des variables de présentation

Lorsque vous créez une invite de colonne ou de variable, vous créez une variable de présentation.

Type Description

Invite de colonne

Une variable de présentation créée en tant que partie d'une invite de colonne est associée à une colonne, et les valeurs qu'elle peut posséder sont issues des valeurs de la colonne.

Pour créer une variable de présentation dans le cadre d'une invite de colonne, dans la boîte de dialogue Nouvelle invite, vous devez sélectionner Variable de présentation dans le champ Définir une variable. Saisissez le nom de la variable dans le champ Nom de la variable.

Invite de variable

Une variable de présentation créée en tant que partie d'une invite de variable n'est associée à aucune colonne et vous définissez les valeurs qu'elle peut posséder.

Pour créer une variable de présentation dans le cadre d'une invite de variable, dans la boîte de dialogue Nouvelle invite, vous devez sélectionner Variable de présentation dans le champ Invite pour. Saisissez le nom de la variable dans le champ Nom de la variable.

La valeur d'une variable de présentation est définie par l'invite de colonne ou de variable avec laquelle elle a été créée. Ainsi, chaque fois qu'un utilisateur sélectionne des valeurs dans l'invite de colonne ou de variable, la valeur de la variable de présentation est définie sur au moins une des valeurs sélectionnées par l'utilisateur.

A propos des variables de demande

Une variable de demande vous permet de remplacer la valeur d'une variable de session, mais uniquement pendant la durée de la demande de base de données initiée à partir d'une invite de colonne. Vous pouvez créer une variable de demande dans le cadre du processus de création d'une invite de colonne.

Vous pouvez créer une variable de demande dans le cadre du processus de création de l'un des types suivants d'invite de tableau de bord :

  • Une variable de demande créée en tant que partie d'une invite de colonne est associée à une colonne, et les valeurs qu'elle peut posséder sont issues des valeurs de la colonne.

    Pour créer une variable de demande dans le cadre d'une invite de colonne, dans la boîte de dialogue Nouvelle invite, sélectionnez Variable de demande dans le champ Définir une variable. Saisissez le nom de la variable de session à remplacer dans le champ Nom de la variable.

  • Une variable de demande créée en tant que partie d'une invite de variable n'est associée à aucune colonne, et vous définissez les valeurs qu'elle peut posséder.

    Pour créer une variable de demande dans le cadre d'une invite de variable, dans la boîte de dialogue Nouvelle invite (ou Modifier l'invite), sélectionnez Variable de demande dans le champ Invite pour. Saisissez ensuite le nom de la variable de session que vous voulez remplacer dans le champ Nom de la variable.

La valeur d'une variable de demande est définie par l'invite de colonne avec laquelle elle a été créée. Ainsi, chaque fois qu'un utilisateur sélectionne une valeur dans l'invite de colonne, la valeur de la variable de demande est définie sur la valeur sélectionnée par l'utilisateur. Cependant, la valeur n'est effective qu'entre le moment où l'utilisateur clique sur le bouton Exécuter pour l'invite et le moment où les résultats d'analyse sont renvoyés vers le tableau de bord.

Il est impossible de remplacer certaines variables de session système (telles que USERGUID ou ROLES) par des variables de demande. Vous pouvez remplacer d'autres variables de session système, telles que DATA_TZ et DATA_DISPLAY_TZ (fuseau horaire), si la configuration de l'outil d'administration de modèle le permet.

Seules les variables de demande de type Numeric ou String prennent en charge des valeurs multiples. Tous les autres types de données transmettent uniquement la première valeur.

A propos des variables globales

Une variable globale est une colonne créée en combinant un type de données à une valeur. La valeur peut être de type Date, Date and Time, Number, Text et Time.

La variable globale est évaluée au moment de l'exécution de l'analyse et sa valeur est remplacée en conséquence.

Seuls les utilisateurs dotés du rôle d'administrateur de service BI peuvent gérer (ajouter, modifier et supprimer) les variables globales.

Créez une valeur globale lors du processus de création d'une analyse à l'aide de la boîte de dialogue Modifier la formule de colonne. La variable globale est ensuite enregistrée dans le catalogue et mise à la disposition de toutes les autres analyses dans un système locataire spécifique.

Création de variables globales

Vous pouvez enregistrer un calcul en tant que variable globale, puis le réutiliser dans différentes analyses.

  1. Ouvrez l'analyse pour modification.
  2. Dans le panneau Colonnes sélectionnées, cliquez sur Options en regard du nom de colonne.
  3. Sélectionnez Modifier la formule pour afficher l'onglet Formule de colonne.
  4. Cliquez sur Variable, puis sélectionnez Globale.
  5. Cliquez sur Ajouter une nouvelle variable globale.
  6. Entrez la valeur pour Nom. Par exemple, gv_region, date_and_time_global_variable ou rev_eastern_region_calc_gv.
    Le nom d'une variable globale doit être qualifié complet en cas de référencement de la variable et a donc le texte "global.variables" comme préfixe. Par exemple, une variable globale définie pour calculer le chiffre d'affaires est affichée dans la boîte de dialogue Formule de colonne comme suit :

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

  7. Entrez les valeurs pour Type et Valeur.
    • Si vous sélectionnez Date et heure comme type de données, saisissez la valeur comme dans l'exemple suivant : 03/25/2004 12:00:00 AM
    • Si vous saisissez une expression ou un calcul comme valeur, vous devez utiliser le type de données Texte comme dans l'exemple suivant : "Base Facts"."1- Revenue"*3.1415
  8. Cliquez sur OK. La nouvelle variable globale est ajoutée à la boîte de dialogue Insérer une variable globale.
  9. Sélectionnez la nouvelle variable globale que vous venez de créer, puis cliquez sur OK. La boîte de dialogue Modifier la formule de colonne s'affiche avec la variable globale insérée dans le panneau Formule de colonne. La case En-têtes personnalisés est automatiquement sélectionnée.
  10. Saisissez le nouveau nom de la colonne à laquelle vous avez affecté une variable globale de façon à refléter la variable avec plus de précision.
  11. Cliquez sur OK.

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

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