Implémentation de paramètres pour les sources de données
Pour rendre les sources de données plus flexibles, vous pouvez implémenter des paramètres d'exécution, ce qui permet à Essbase d'utiliser des variables dans la requête. L'utilisation de variables dans les sources de données vous aide à rationaliser les opérations en exigeant moins de sources de données à gérer.
Il peut s'agir de variables de substitution définies dans Essbase, de paramètres d'exécution définis par le contexte de grille quand les utilisateurs de Smart View effectuent une exploration amont des données externes ou de fonctions définies par l'utilisateur écrites dans un système source externe.
Si vous avez l'intention d'utiliser des variables dans les sources de données Essbase, vous devez tout d'abord procéder comme suit :
-
Incluez une syntaxe de variable dans la requête de source de données. Par exemple, la requête de source de donnée doit inclure
?dans sa syntaxe,?étant un espace réservé pour qu'une variable soit définie à l'exécution. -
Effectuez l'une des opérations suivantes :
-
Définissez une valeur de paramètre par défaut fixe dans la source de données pour qu'Essbase puisse l'utiliser comme une solution de secours si la variable a un contexte non valide à l'exécution
-
Définir une variable de substitution à utiliser par la source de données
-
Transmettez une fonction externe définie par l'utilisateur (ou une procédure stockée) en tant que paramètre.
-
Afin de définir les origines de données et d'implémenter des paramètres pour celles-ci, vous devez être un gestionnaire d'applications ou un gestionnaire d'applications supérieur.
L'implémentation de variables pour les sources de données vous permet de spécifier un contexte de requête d'exécution appliqué chaque fois qu'un utilisateur accède à une source de données associée à un cube Essbase.
Prenons par exemple les cas d'emploi suivants.
-
Le gestionnaire de base de données supervise un travail récurrent qui charge chaque mois les données vers le cube. Le gestionnaire de bases de données peut désormais utiliser une variable à substituer afin de charger des données pour le mois en cours, plutôt que de gérer une règle à charger pour chaque mois.
-
Un gestionnaire d'application gère les définitions de rapport d'exploration amont de plusieurs cas d'emploi métier. Le gestionnaire d'application implémente des variables dans la source de données sous-jacente à partir de laquelle l'utilisateur de Smart View extrait des éléments lors de ses opérations d'exploration amont. Il a donc moins de définitions d'exploration amont pour gérer et déboguer.
Définition d'un paramètre par défaut dans une source de données
Pour que des variables puissent être employées dans les requêtes générées par Essbase lorsqu'il utilise des données stockées en dehors du cube, définissez un paramètre par défaut dans la source de données.
Pour définir le paramètre par défaut, procédez comme suit :
-
Obtenez ou créez une connexion à la source de données externe (par exemple, créez une connexion à Oracle Database).
Le cas échéant, vous pouvez utiliser une connexion globale de la page Sources de l'interface Web Essbase, ou vous pouvez créer une connexion de niveau application.
-
Créez une source de données via la connexion que vous utiliserez pour accéder à Oracle Database.
Vous pouvez définir une source de données globalement, si elle doit être disponible pour toutes les applications, ou au niveau de l'application.
-
Pour créer une source de données globale, vous devez être un administrateur de service. Sur la page d'accueil, cliquez sur Sources, cliquez sur l'onglet Sources de données sous votre nom utilisateur, puis sur Créer une source de données.
Ou, pour créer une source de données de niveau application, vous devez être un gestionnaire d'applications ou un utilisateur super utilisateur disposant des droits d'accès de gestion d'application pour l'application spécifiée. Sur la page d'accueil, cliquez sur le nom d'une application. Cliquez ensuite sur Sources, puis sur l'onglet Sources de données sous votre nom utilisateur et cliquez sur Créer une source de données.
-
A l'étape Général, dans Connexion, sélectionnez la connexion Oracle Database créée.
-
Dans Nom, indiquez le nom de la source de données.
-
Dans Requête, indiquez une requête (cet exemple utilise du code SQL). Pour que cette dernière devienne une requête paramétrée, vous devez inclure une condition de filtre (clause WHERE) mappant une colonne relationnelle de la source avec un espace réservé. Utilisez un espace réservé (?) dans la syntaxe de requête pour indiquer la position de la variable. L'espace réservé correspond à un paramètre transmis à une étape ultérieure.
select * from SB_DT where DIMENSION_YEAR=?Par exemple, supposons que la base de données relationnelle comporte la table suivante, nommée SB_DT. La table contient la colonne DIMENSION_YEAR dont les valeurs sont des mois :

Pour utiliser une variable de sélection de valeurs de mois à partir de la colonne DIMENSION_YEAR, appliquez la syntaxe du filtre suivant dans la requête :
where DIMENSION_YEAR=?
-
Cliquez sur Suivant.
-
A l'étape Colonnes, appliquez le type de données approprié, qu'Essbase doit associer à chaque colonne des données source relationnelles.
Par exemple, définissez les colonnes numériques sur le type Double et laissez les colonnes alphanumériques sur le type Chaîne.

-
Cliquez sur Suivant.
-
A l'étape Paramètres, Param1 est créé. L'existence de ce paramètre est due à l'utilisation du "?" dans la requête à l'étape Général.
Laissez le cas Utiliser des variables désélectionné, cliquez deux fois sur le champ de texte sous Valeur et saisissez la valeur par défaut du paramètre d'exécution. Cette valeur par défaut est destinée à être utilisée par Essbase comme solution de secours si le contexte du paramètre à l'exécution n'est pas valide. Cette étape est importante si vous comptez utiliser des paramètres d'exécution dans le cadre des définitions de rapport d'exploration amont.
Vous pouvez également renommer Param1 afin que son nom soit plus explicite pour le cas d'emploi. Par exemple, vous pouvez le renommer en param_G_month pour indiquer que le paramètre utilise une variable globale pour le mois en cours ou en param_<appName>_month pour indiquer que le paramètre utilise une variable de niveau application pour le mois en cours. La personnalisation des noms de paramètre peut être utile lors du débogage des paramètres à l'aide des fichiers journaux de serveur Essbase.

Si vous souhaitez personnaliser le paramètre afin de faire référence à une variable de substitution, vous n'avez pas besoin de fournir de valeur par défaut. Reportez-vous à Utilisation de variables de substitution dans une source de données au lieu de cette rubrique.
-
Cliquez sur Suivant.
-
Dans l'aperçu, le paramètre par défaut a été appliqué à la requête. Par conséquent, l'aperçu est uniquement rempli d'enregistrements de source externe affichant la valeur Jan dans la colonne DIMENSION_YEAR.

Bien que l'aperçu affiche uniquement les valeurs correspondant au paramètre par défaut appliqué, ultérieurement, lorsque vous implémenterez des paramètres d'exécution pour la définition de rapport d'exploration amont, vous aurez accès à plus de données externes que celles visibles dans l'aperçu.
-
Cliquez sur Enregistrer pour créer la source de donnée basée sur cette requête des données source externes. La source de données prend en charge l'implémentation des paramètres d'exécution.
-
Utilisation de variables de substitution dans une source de données
Le workflow suivant explique comment créer une source de données Essbase à partir d'une requête portant sur des données source externes, à l'aide d'une variable de substitution définie dans Essbase. La variable de substitution offre davantage de flexibilité lors de la conception de la requête effectuant l'extraction à partir des données source.
Dans cet exemple, vous allez utiliser une variable de substitution dans Essbase pour déclarer le mois en cours. Au lieu de mettre à jour les sources de données chaque mois afin d'extraire les données du mois en cours, vous pouvez ignorer les sources de données et ne mettre à jour que la variable de substitution définie.
-
Créez une variable de substitution de niveau application ou global.

-
Obtenez ou créez une connexion à la source de données externe (par exemple, créez une connexion à Oracle Database).
Le cas échéant, vous pouvez utiliser une connexion globale de la page Sources de l'interface Web Essbase, ou vous pouvez créer une connexion de niveau application.
-
Créez une source de données via la connexion que vous utiliserez pour accéder à Oracle Database.
Vous pouvez définir une source de données globalement, si elle doit être disponible pour toutes les applications, ou au niveau de l'application.
-
A l'étape Général, dans Connexion, sélectionnez la connexion Oracle Database créée.
-
Dans Nom, indiquez le nom de la source de données.
-
Dans Requête, indiquez une requête (cet exemple utilise du code SQL). Pour que cette dernière devienne une requête paramétrée, vous devez inclure une condition de filtre (clause WHERE) mappant une colonne relationnelle de la source avec un espace réservé. Utilisez un espace réservé
?dans la syntaxe de requête pour indiquer la position de la variable. L'espace réservé correspond à un paramètre transmis à une étape ultérieure.select * from SB_DT where DIMENSION_YEAR=?Par exemple, supposons que la base de données relationnelle comporte la table suivante, nommée SB_DT. La table contient la colonne DIMENSION_YEAR dont les valeurs sont des mois :

Pour utiliser une variable de sélection de valeurs de mois à partir de la colonne DIMENSION_YEAR, appliquez la syntaxe du filtre suivant dans la requête :
where DIMENSION_YEAR=?
-
Cliquez sur Suivant.
-
A l'étape Colonnes, appliquez le type de données approprié, qu'Essbase doit associer à chaque colonne des données source relationnelles.
Par exemple, définissez les colonnes numériques sur le type Double et laissez les colonnes alphanumériques sur le type Chaîne.

-
Cliquez sur Suivant.
-
A l'étape Paramètres, Param1 est créé. Ce paramètre existe car vous avez utilisé une valeur
?dans la requête de l'étape Général. Pour personnaliser Param1 afin de faire référence à une variable à remplacer, cliquez sur Utiliser des variables et sélectionnez une variable à remplacer dans la liste déroulante Valeur.Si vous créez une source de données au sein d'une application, des variables de substitution globales et de niveau application sont disponibles pour sélection. Les variables de niveau application ont comme préfixe le nom de l'application. Si vous créez une source de données globale, seules des variables de substitution globales sont disponibles pour sélection.
Vous pouvez renommer Param1 afin que son nom soit plus explicite pour le cas d'emploi. Par exemple, vous pouvez le renommer en param_G_month pour indiquer que le paramètre utilise une variable globale pour le mois en cours ou en param_<appName>_month pour indiquer que le paramètre utilise une variable de niveau application pour le mois en cours. La personnalisation des noms de paramètre peut être utile lors du débogage des paramètres à l'aide des fichiers journaux de serveur Essbase.

-
Cliquez sur Suivant.
-
Dans l'aperçu, la variable de substitution est appliquée à la requête. Par conséquent, l'aperçu est uniquement composé d'enregistrements de source externe affichant la valeur Aug dans la colonne DIMENSION_YEAR.

-
Cliquez sur Enregistrer pour créer une source de donnée basée sur cette requête des données source externes.
-