Dans cette leçon, vous allez apprendre à personnaliser la génération Data Manager existante pour extraire, transformer et charger les données dans l'entrepôt de données.
Conditions préalables : - Vous avez complété la leçon 1.1.
- Vous avez créé une base de données vide pour le catalogue ETL.
Dans cette leçon, vous allez modifier la génération Data Manager de sorte que les attributs d'une table de données passent par le flux de données pour entrer dans le processus de collecte de données. Vous allez apprendre à personnaliser une génération existante pour extraire de nouveaux attributs, les transformer et les envoyer à l'entrepôt de données
- Lancez IBM Cognos Data Manager.
- Sélectionnez Create a new catalog, indiquez VegaETL comme nom, entrez les informations de connexion de la base de données vide que vous avez créée avant de commencer cette leçon, puis cliquez sur Terminer.
- Une fois le nouveau catalogue ouvert, cliquez sur , et sélectionnez le fichier OOTBDMCatalog.ctg. L'emplacement par défaut de ce fichier est le répertoire INSTALLDIR/datamgr/vega_catalog/.
- Développez le dossier . Cliquez sur CQ_ENT_Defect .
Remarque : Dans Data Manager, le processus ETL est indiqué dans les générations de faits ou de dimensions. Une génération de faits distribue des données factuelles ainsi que des données de dimension, vous permettant ainsi de créer un magasin de données privé dans une seule génération. Une génération de dimensions distribue des données pour décrire une seule dimension métier telle un produit ou un client. Rational Insight utilise les générations de faits pour charger les données dans le magasin de données consolidé. Les générations de faits et de dimensions permettent de générer les magasins de données ou le schéma en étoile. Les générations sont organisées dans JobStreams comme une série d'étapes pouvant être exécutées en séquence ou en parallèle dans Data Manager.
- Cliquez deux fois sur l'icône de source de données Vega_Stg.
Cliquez sur l'onglet Requête.
Remarque : A l'aide de l'élément de source de données de la génération, vous pouvez sélectionner un sous-ensemble de la base de données requise pour la génération.
Dans la leçon 1.1, vous avez modifié l'entité de l'incident ClearQuest pour exposer l'ID de composant et les attributs de statut associés. Dans les étapes suivantes, vous allez modifier la requête de source de données pour inclure les nouveaux attributs.
- Développez le noeud ClearQuest pour afficher les schémas de base de données (modélisés en tant que groupes de ressources dans XDC). Développez le schéma CQEnterprise pour afficher toutes les tables de données définies dans le groupe de ressources CQEnterprise à partir du fichier de configuration XDC de la leçon 1.1. Développez la table ENTDefect pour afficher toutes les colonnes définies.
Vous allez maintenant modifier le SQL existant pour extraire les colonnes Component_dbid et Statut. Vous devez ajouter une virgule pour séparer le nom des colonnes.
- Déplacez les colonnes Statut et Component_dbid de ENTDefect depuis le panneau situé à gauche vers le panneau SQL Query à droite. Placez les nouvelles colonnes après l'entrée "href" existante. Vérifiez que les colonnes sont séparées par une virgule.
- Pour tester la nouvelle instruction SQL, cliquez sur le bouton de lecture situé en bas à gauche de la boîte de dialogue. Dans la boîte de dialogue pour indiquer les variables, entrez le nom de schéma (CQEnterprise) de l'entrée $RESOURCEGROUP. Ne renseignez pas la zone $MODIFIED_SINCE afin que la valeur NULL soit utilisée par le service de données pour renvoyer tous les enregistrements.
- Cliquez sur l'onglet Result columns, puis cliquez sur Actualiser.
Dans la boîte de dialogue pour indiquer les variables, entrez le nom de schéma (CQEnterprise) de l'entrée $RESOURCEGROUP. Ne renseignez pas la zone $MODIFIED_SINCE afin que la valeur NULL soit utilisée par le service de données pour renvoyer tous les enregistrements. Les colonnes définies dans cet onglet sont les colonnes résultantes du SQL défini au cours de l'étape 7. Elles seront utilisées dans les objets en aval. Cliquez sur OK.
- Cliquez avec le bouton droit de la souris sur DataStream et sélectionnez Propriétés.
Dans l'onglet DataStream items, cliquez deux fois sur les nouvelles colonnes dans le panneau de gauche pour les ajouter au flux de données, puis cliquez sur OK.
Remarque : Un objet DataStream regroupe toutes les sources de données à partir desquelles une structure de référence ou de génération acquiert des données. Ceci permet de combiner diverses sources de données dans un même objet. Vous trouverez un exemple de cela dans les générations RequisitePro.
- Cliquez avec le bouton droit de la souris sur l'icône Transformation Model et ouvrez la boîte de dialogue de mappage.
Remarque : Le modèle de transformation est essentiel pour une génération de faits. Il vous permet de manipuler la source de données acquise de différentes façons, telles la fusion de données issues de sources différentes et l'agrégation des données. Dans cette leçon, vous allez charger les nouveaux attributs sans appliquer de règles métier.
- Cliquez deux fois sur le flux de données Statut.
Vous avez ajouté une nouvelle colonne au catalogue et mis à jour le modèle de transformation pour refléter cette modification.
Puis, vous allez transformer l'attribut component_dbid en la clé de substitution du composant figurant dans l'entrepôt de données.
- Cliquez sur Ajouter, sur Dimension,
indiquez Lookup_Component comme étant le nom, et sélectionnez le noeud enfant (aucune référence). Cliquez sur le bouton à droite du noeud.
- Sélectionnez le noeud , puis cliquez sur OK.
- Revenez à la boîte de dialogue de mappage. Dans le panneau de gauche, sélectionnez l'élément de flux de données Component_dbid, dans le panneau de droite, sélectionnez l'attribut Lookup_Component=>EXTERNAL_KEY1, puis cliquez sur Mappe.
Remarque : Pendant les étapes 14 à 18, vous générez la relation entre l'incident et l'entité du composant dans l'entrepôt de données. EXTERNAL_KEY1 indique la clé naturelle (dbid pour Rational ClearQuest) du composant. La recherche renvoie la clé de substitution si le composant existe dans l'entrepôt de données.
Si l'enregistrement n'existe pas, la génération insère l'entrée -1 par défaut qui représente
"info not available".
- Cliquez sur le bouton Ajouter, puis cliquez sur Attribut.
Indiquez le nom comme étant COMPONENT_ID, puis cliquez deux fois sur OK.
- Cliquez à l'aide du bouton droit de la souris sur l'icône Transfomation Model et sélectionnez Build Elements. Cliquez deux fois sur Lookup_Component, cliquez sur l'onglet Unmatched Members, sélectionnez Accept unmatched member identifiers, puis cliquez sur OK.
- Dans l'onglet Transfomation Model, cliquez avec le bouton droit de la souris sur l'attribut COMPONENT_ID et cliquez sur Convert to derivation.
- Dans l'onglet Transformation Model, cliquez deux fois sur l'attribut COMPONENT_ID, cliquez sur l'ongletCalcul, puis entrez le code suivant :
If NOT Unmatched( Lookup_Component )
then RETURN Lookup_Component.COMPONENT_ID ;
else RETURN -1;
Cliquez sur OK.Remarque : Pour indiquer une correspondance positive pour ce type de condition, une construction comprenant deux valeurs négatives est utilisée dans le script.
Ensuite, vous allez envoyer les nouveaux attributs dans la table cible de l'entrepôt de données.
- Cliquez deux fois sur la distribution de la table "{$CDA}"."REQUEST".
- Dans l'onglet Table Properties, indiquez le nom des colonnes comme étant STATUS et COMPONENT_ID pour les éléments Statut et COMPONENT_ID. Cochez la case Automatically add columns to table. Cliquez sur OK.
Remarque : Etant donné que vous n'avez pas modifié la table d'incidents dans l'entrepôt de données pour y inclure des colonnes pour le stockage des nouveaux attributs, la sélection de l'option Automatically add columns to table entraîne la modification de la table si les colonnes n'existent pas. Vous pouvez également utiliser Rational Data Architect pour modifier la table avant d'exécuter la tâche ETL ou pour mettre à jour le modèle de données à partir de l'entrepôt de données une fois que la tâche ETL a modifié la table.
- Sauvegardez le catalogue.
Vous avez modifié une génération existante.
Dans cette leçon, vous avez :
- Ajouté un attribut dans la génération Data Manager
- Mappé le nouvel attribut à une colonne de table dans l'entrepôt de données
- Déployé les modifications
Lorsque vous chargez une nouvelle entité, vous devez créer une génération et modifier une génération existante pour ajouter plus d'attributs à une entité existante. Dans cette leçon, vous avez modifié une génération existante. Dans la leçon suivante (Leçon 1.3), vous allez créer une génération. Le processus ETL requiert une génération pour chaque entité.