Vous êtes sur la page 1sur 74

Tutorial Informatica powercenter 8

Tutorial INFORMATICA POWERCENTER 8

Architecture Informatica powercenter

Repository Manager : Fournit une interface graphique permettant la création des groupes,
utilisateurs, et de gérer leurs privilèges.
Designer : Le designer fournit une interface graphique pour définir des sources de données, concevoir
et définir la cible et les processus ETL
Workflow manager : Permet la création des sessions et de Workflow pour exécuter les processus
ETL. Il permet également de définir des stratégies de chargement de données.
Workflow monitor : Permet de surveiller le processus au moment de l’exécution, de visualiser les
logs.
Integration services : C’est le service qui exécute le Workflow. Vous pouvez définir plusieurs pour
permettre le chargement en parallèle.
Admin console : La console d’administration vous permet de réaliser des taches d’administration tel
que ajouter un autre Integration service, arrêter et démarrer Integration service, gérer les utilisateurs,…

Préparation de l’environnement
Avoir deux compte utilisateur dans la base de données oracle. Le premier pour la source de données,
et le deuxième pour la cible.
Créer le schéma source dans oracle

Créer le schéma cible dans oracle

Création des tables sources


Exécutez le script CREATE_SRC_ISOSQL.SQL qui se trouve dans le répertoire \Tutorial\scripts

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 1


Tutorial Informatica powercenter 8

Chargement des données dans les tables sources


Exécutez le script LOAD_SRC_DATABASE.SQL de répertoire \Tutorial\scripts

Création d’un groupe et un utilisateur dans Repository manager


Pour pouvoir se connecter au designer ou au Workflow pour créer des Mappings et des Workflow,
vous devez créer un utilisateur avec des privilèges nécessaire (Voir avec l’administrateur de
Informatica). Vous pouvez gérer les droits de plusieurs utilisateurs via un groupe. Un groupe vous
permet de nicher plusieurs utilisateurs qui possèdent les mêmes privilèges que le groupe.

Démarrer Repository Manager à partir de Tous les programmes>Informatica PowerCenter


8.1.1>Client> PowerCenter Repository Manager
Sélectionnez PowerCenter, puis cliquez sur Repository>Connect
Authentifiez vous par le compte administrateur, puis cliquez sur Connect

Création d’un groupe


Cliquez sur Manage Users and Privileges de menu Security

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 2


Tutorial Informatica powercenter 8

Dans l’onglet Groups de la fenêtre qui apparaît, cliquez sur Add. Entrez Gp_Tutorial comme nom de
groupe puis cliquez sur Ok.
Cliquez sur l’onglet Users, la fenêtre suivante apparaîtra

Dans l’onglet General, entrez User_Tutorial dans Username et Password.


Cliquez sur l’onglet Group Memberships,

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 3


Tutorial Informatica powercenter 8

Assignez le groupe Gp_Tutorial à cet utilisateur.


Cliquez sur l’onglet Privileges

Assignez les privileges suivant à Gp_Tutorial: Workflow operator, Use Designer, Use Workflow
Manager, Use Repository Manager, Manage Connection.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 4


Tutorial Informatica powercenter 8

Cliquez sur Ok

Création d’un repertoire (Folder)


Un Folder vous permet de centraliser tous vos travaux dans un seul répertoire.
Connectez vous avec l’utilisateur User_Tutorial.

Dans le menu Folder, cliquez sur Create.

Entrez Tutorial dans Name. Accordez toutes les permissions à Owner et Owner’s Group.
Cliquez sur Ok
Déconnectez vous de Repository Manager à partir de Repository>Disconnect
Démarrer le Designer

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 5


Tutorial Informatica powercenter 8

Cliquez sur l’icône , pour démarrer le designer. Ou bien à partir de


Tous les programmes>Informatica PowerCenter 8.1.1>Client> PowerCenter Designer
Cliquez sur Repository>Connect

Entrez le nom d’utilisateur User_Tutorial et son mot de passe puis cliquez sur Connect.
La structure d’un folder est la suivante

Sources pour contenir la définition des sources de données


Target pour contenir la définition des bases de données cibles
Cubes et Dimensions vont contenir respectivement les définitions des cubes multidimensionnels, et
les tables de dimensions
Transformations pour contenir toutes les transformations
Mapplets et Mappings vont contenir les processus ETL.

Création des sources ODBC


Créez des sources ODBC pour se permettre à connecter à la base de données oracle.
Créer une appelée source pour la base source, et une autre appelée cible pour la base cible.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 6


Tutorial Informatica powercenter 8

Définition de la source de données


Pour pouvoir créer des Mapping, vous devez tout d’abord importer la définition du schéma de la base
de données source.
De menu Tools, cliquez Source Analyser.
De Sources cliquez sur Import from Database
Entrez la source de données source dans ODBC data source

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 7


Tutorial Informatica powercenter 8

Entrez le nom d’utilisateur source et le mot de passe source puis cliquez sur Connect.

Sélectionnez les tables SRC_CITY, SRC_CUSTOMER, SRC_ORDERS, SRC_ORDER_LINES,


SRC_PRODUCT, SRC_REGION, et SRC_SALES_PERSON, puis cliquez sur Ok.
Création de la base cible
Vous pouvez créer les tables cibles à partir d’un script SQL directement dans le designer
Cliquez sur Target Designer de Tools.
Puis Generate / Execute SQL de Targets

Dans Filename, sélectionnez le script CREATE_TRG_ISOSQL.SQL qui se trouve dans le


répertoire \Tutorial\scripts

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 8


Tutorial Informatica powercenter 8

Cliquez sur Connect pour se connecter à la base cible

Sélectionnez la source cible. Entrer le nom cible dans Username et cible dans Password.
Cliquez sur Connect.
Sélectionnez All tables, puis cochez toutes les cases de Generation options.

Cliquez sur Execute SQL file.


Cliquez sur Targets>Import from Database
Entrez la source cible dans ODBC data source. Entrez cible dans Username et Password, puis cliquez
sur Connect.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 9


Tutorial Informatica powercenter 8

Sélectionnez les tables TRG_CITY,TRG_COUNTRY,TRG_CUSTOMER, TRG_PRODUCT,


TRG_PROD_FAMILY, TRG_REGION, TRG_SALES, puis cliquez sur Ok
Voila à ce que ressemble la structure de l’arborescence de répertoire Tutorial

Modèle conceptuel de données

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 10


Tutorial Informatica powercenter 8

Le tableau ci-dessous définit le schéma de données d’une application de suivi des commandes qui sera
utilisé dans ce tutorial.
Les tables sources

Les fichiers plats

Schéma de la base cible

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 11


Tutorial Informatica powercenter 8

Mapping MAP_TRG_CUSTOMER
Ce premier Mapping a pour objectif de charger des données de la table source SRC_CUSTOMER
dans la table cible TRG_CUSTOMER.
Cependant la table source SRC_CUSTOMER ne contient pas toutes les données nécessaires, On veut
rajouter les informations suivantes à la table cible.
• La tranche d’age « AGE_RANGE » comme il est définie dans le fichier plat
SRC_AGE_GROUP qui correspond à l’attribut AGE dans la table source.

• Concaténation de nom et prénom

• Transformer les valeur numériques (0, 1, 2) de l’attribut DEAR de la table source, qui
correspond à Monsieur, Madame, Mademoiselle, à (Mr, Mrs, Ms) dans la table cible

On veut également respecter les règles de gestions suivantes


• L’age de client doit être plus de 21 ans

• Le client doit être associé à une ville (CITY_ID) qui existe dans la table TRG_CITY

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 12


Tutorial Informatica powercenter 8

A présent la description des sources et leurs correspondance dans la cible


Données sources

Jointures

Transformation

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 13


Tutorial Informatica powercenter 8

Les étapes à suivre


Définir une source de données pour les fichiers SRC_AGE_GROUP.TXT et
SRC_SALES_PERSON.TXT dans le Designer
Tools>Source Analyser
Sources>Import from File
Sélectionnez l’emplacement du fichier SRC_AGE_GROUP, puis cliquez sur Ok
Dans la fenêtre suivante, sélectionnez Delimited
Entrez 2 dans la case Start Import at Row, car la première ligne est réservée au libellés des
colonnes

Cliquez sur Suivant


Dans la fenêtre suivante, cochez la case Semicolon, et sélectionnez la case No quotes
Cliquez sur Suivant

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 14


Tutorial Informatica powercenter 8

Définir les colonnes comme suit :


Colonne 1 : AGE_MIN Type Numérique Taille 3
Colonne 2 : AGE_MAX Type Numérique Taille 3
Colonne 3 : AGE_RANGE Type Texte Taille 50

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 15


Tutorial Informatica powercenter 8

Cliquez sur Terminer


Faite la même chose pour SRC_SALES_PERSON.TXT
Sélectionnez l’emplacement du fichier SRC_SALES_PERSON
Sélectionnez Delimited et Start Import at Row à 1, car c’est un fichier sans les libellés de colonnes

Cliquez sur Suivant


Cochez la case Comma, No quotes

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 16


Tutorial Informatica powercenter 8

Cliquez sur Suivant


Définier les colonnes comme suit :
Colonne 1 : SALES_PERSON_ID Type Numérique taille 10
Colonne 2 : FIRST_NAME Type Texte taille 50
Colonne 3 : LAST_NAME Type Texte taille 50
Colonne 4 : HIRE_DATE Type Date

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 17


Tutorial Informatica powercenter 8

Cliquez sur Termine


Création du Mapping
1. Tools> Mapping Designer
Mapping>Create
Entrez le nom TRG_CUSTOMER dans le nom de Mapping puis cliquez sur Ok

2. Glissez la source SRC_CUSTOMER dans l’espace de travail


3. Glissez la table "TRG_CUSTOMER" de Targets dans l’espace de travail
Voila à ce que ressemble le Mapping à ce stade

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 18


Tutorial Informatica powercenter 8

Jointure entre SRC_CUSTOMER et SRC_AGE_GROUP: Vous devez utiliser le


composant LOOKUP.
Transformation>create
Entrez LKP_AGE_RANGE dans NAME

Cliquez create

Choisissez source et sélectionnez SRC_AGE_GROUP, cliquez Ok

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 19


Tutorial Informatica powercenter 8

Cliquez Done
Glissez l’attribut AGE de SQ_SRC_CUSTOMER dans LKP_AGE_RANGE
Double cliques sur LKP_AGE_RANGE pour ouvrir ses propriétés
Dans l’onglet Condition, cliquez deux fois sur le bouton Add pour ajouter deux conditions.

Entrez ces deux conditions


AGE_MIN <= AGE et AGE_MAX > AGE
Cliquez sur Ok
Jointure avec SRC_SALES_PERSON : Utilisez un LOOKUP
Transformation>create

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 20


Tutorial Informatica powercenter 8

Entrez LKP_AGE_RANGE dans NAME, puis cliquez sur Create


Choisissez Source, puis sélectionnez le fichier SRC_SALES_PERSON

Cliquez Done

Glissez SALES_PERS_ID de SRC_CUSTOMER à LKP_SALES_PERSON


Double click sur LKP_SALES_PERSON pour éditer ses propriétés

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 21


Tutorial Informatica powercenter 8

Dans l’onglet Condition, cliquez une fois sur le bouton Add pour ajouter une conditions.
Entrez cette condition
SALES_PERSON_ID=SALES_PERS_ID

Transformations avec Expression : vous utiliserez des transformations de type


Expression pour opérer tout genre de transformation sur les données.
Vous allez créer une transformation pour concaténer le nom et le prénom du client, de
renseigner sa civilité.
Transformations>Create
Choisissez Expression, et entrez EXP_TRG_CUSTOMER dans NAME

Cliquez sur Create

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 22


Tutorial Informatica powercenter 8

Cliquez sur Done

Glissez les colonnes CUSTID, DEAR, LAST_NAME, FIRST_NAME, ADRESS, CITY_ID, PHONE,
AGE de SQ_SCR_CUSTOMER vers EXP_TRG_CUSTOMER
Glissez la colonne AGE_RANGE de LKP_RANGE_AGE vers EXP_TRG_CUSTOMER
Glissez les colonnes FIRST_NAME, LAST_NAME de LKP_SALES_PERSON vers
EXP_TRG_CUSTOMER

Double click sur EXP_TRG_CUSTOMER pour ouvrir ses propriétés

Concaténation de nom et prénom de CUSTOMER


Ajouter un champ CUSTOMER_FULL_NAME de type texte et de taille 100
Décochez la case « I » qui correspond à INPUT
Double click dans la case qui lui correspond dans expression
Entrez cette formule dans la zone formula
CONCAT(LAST_NAME,UPPER(FIRST_NAME))
Cliquez sur validate pour valider l’expression puis sur ok

Concaténation de nom et prénom de SALES_PERSON


De la même manière pour le nom et prénom de SALES_PERSON
Ajouter un champ SALES_PERSON_FULL_NAME de type texte et de taille 100
Décochez la case « I » qui correspond à INPUT
Double click dans la case qui lui correspond dans expression
Entrez cette formule dans la zone formula
CONCAT(FIRST_NAME1,UPPER(LAST_NAME1))
Cliquez sur validate pour valider l’expression puis sur ok

Transformation de DEAR
Ajouter un champ DEAR2 de type texte de taille 10
Décochez la case « I » qui correspond à INPUT
Double click dans la case qui lui correspond dans expression
Entrez cette formule dans la zone formula
DECODE(true,

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 23


Tutorial Informatica powercenter 8

DEAR=0, 'Mr',
DEAR=1, 'Mrs',
DEAR=2, 'Ms'
)
Cliquez sur validate pour valider l’expression puis sur ok
Ajouter les champs suivants : CRE_DATE et UPD_DATE de type DATE/TIME
Cochez uniquement la case « O » qui correspond à OUTPUT
Entrez SYSDATE dans le champ EXPRESSION

Cliquez sur ok
Faire correspondre les champs comme c’est montré dans la figure suivante

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 24


Tutorial Informatica powercenter 8

Cliquez Repository>save
A présent le récapitulatif du Mapping

Cliquez sur Layout>Arrange


Cochez la case Iconic et cliquez sur Ok

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 25


Tutorial Informatica powercenter 8

Création d’une session et d’un Workflow

Ouvrir le Workflow Manager


Tools>Task Developer
Tasks>Create

Entrez S_TRG_CUSTOMER dans NAME


Cliquez sur Create

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 26


Tutorial Informatica powercenter 8

Sélectionnez TRG_CUSTOMER, puis cliquez sur Ok

Cliquez sur Done


Double click sue la session S_TRG_CUSTOMER
Dans l’onglet Mapping, sélectionnez SQ_SRC_CUSTOMER
Dans Relational de Connections, sélectionnez la source de données source

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 27


Tutorial Informatica powercenter 8

Sélectionnez TRG_CUSTOMER depuis Targets


Dans Relational de Connections, sélectionnez la source de données cible

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 28


Tutorial Informatica powercenter 8

Cliquez sur LKP_AGE_RANGE depuis Transformations


Entrez le répertoire où se trouve le fichier SRC_AGE_GROUP.TXT (C:\Tutorial\file\) dans Lookup
source file directory, SRC_AGE_GROUP.txt dans Lookup source filename

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 29


Tutorial Informatica powercenter 8

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 30


Tutorial Informatica powercenter 8

Cliquez sur LKP_SALES_PERSON depuis Transformations


Entrez le répertoire où se trouve le fichier SRC_SALES_PERSON.TXT (C:\Tutorial\file\) dans
Lookup source file directory, et SRC_AGE_GROUP.TXT dans Lookup source filename

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 31


Tutorial Informatica powercenter 8

Scripts Pre SQL et Post SQl


Vous pouvez définir des scripts SQL à exécuter avant ou après l’exécution de la session. Sont très
utiles notamment, lors de chargement des gros volumes de données. Pour accélérer le chargement,
vous pouvez désactiver les contraintes d’intégrités et les indexes pour minimiser les Check point.
Pour ajouter un script Pre SQL pour desactiver les contraint et indexes
Cliquez sur TRG_CUSTOMER depuis Targets
Cliquez sur la zone de texte à coté de Pre SQL
La fenêtre suivante apparaîtra

Entrez les commandes SQL suivantes dans la zone SQL

alter table TRG_CUSTOMER disable constraint SYS_C006113;


alter table TRG_CUSTOMER disable constraint SYS_C006114;
alter table TRG_CUSTOMER disable constraint FK_CUST_CITY;

Cliquez sur Ok
Creation d’un Workflow
Tools>Workflow Designer
Workflows>Create
Entrez WK_TRG_CUSTOMER dans NAME

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 32


Tutorial Informatica powercenter 8

Cliquez sur Ok

Tasks>Link Task
Glissez le curseur de START vers S_TRG_CUSTOMER

Repository>Save

Click droit sur WF_TRG_CUSTOMER, puis cliquez sur start workflow


L’éxecution de Workflow provoque l’apparition de la fenêtre Workflow Monitor

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 33


Tutorial Informatica powercenter 8

Voila le premier Mapping est exécuté correctement.

Mapping TRG_SALES
L’objectif de ce Mapping est de charger la table SRC_ORDERS et la table SRC_ORDER_LINES à la
table cible TRG_SALES. Les données doivent être agrégé avant d’être chargées. Que les commandes
dont le statut est ‘CLO’ seront utilisées.
Cependant les données ne sont pas toujours consistantes par rapport aux contraintes d’intégrités de la
base cible.
• The sales must be associated with a customer ("CUST_ID") that exists in the
"TRG_CUSTOMER" table (reference "FK_SALES_CUST")
• The sales must be associated with a product ("PRODUCT_ID") that exists in the
"TRG_PRODUCT" table (reference "FK_SALES_PROD")
The functional details for these rules and the procedure to follow are given below.

Données sources

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 34


Tutorial Informatica powercenter 8

Jointures

Filters

Transformations

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 35


Tutorial Informatica powercenter 8

Créez un nouveau Mapping MAP_TRG_SALES


Glissez la table TRG_SALES dans l’espace de travail
Glissez les deux tables sources « SRC_ORDERS », « SRC_ORDER_LINES » dans l’espace de travail
Ajoutez une transformation de type jointure pour faire une jointure entres les deux tables sources

Faire glisser tous les attributs des deux tables source dans JOINT_TRG_SALES
Doubles click sur JOINT_TRG_SALES pour éditer ses propriétés
Ajouter la condition ORDER_ID1=ORDER_ID

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 36


Tutorial Informatica powercenter 8

Ajouter une transformation de type filtre pour filtrer que les commandes de statut « CLO »

Glissez tous les attributs de JOINT_TRG_SALES vers le filtre


Doubles click sur le filtre pour éditer ses propriétés
Ajouter la condition STATUS=’CLO’

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 37


Tutorial Informatica powercenter 8

Insérer une transformation de type EXPRESSION AGG_TRG_SALES,

Glissez les attributs : ORDER_ID, ORDER_DATE, QTY, AMOUNT de filtre à l’aggregator


AGG_TRG_SALES
Doubles click sur AGG_TRG_SALES pour éditer ses propriétés
Dans l’onglet PORTS, ajouter les attributs suivants comme des outputs:
FIRST_ORD_ID
FIRST_ORD_DATE
LAST_ORD_ID
LAST_ORD_DATE
QTY1
AMOUNT1
PROD_AVG_PRICE
Ajouter les fonctions d’agrégations suivantes
MIN(SRC_ORDERS.ORDER_ID) pour FIRST_ORD_ID
MIN(SRC_ORDERS.ORDER_DATE) pour FIRST_ORD_DATE
MAX(SRC_ORDERS.ORDER_ID) LAST_ORD_ID
MAX(SRC_ORDERS.ORDER_DATE) pour LAST_ORD_DATE
SUM(SRC_ORDER_LINES.QTY) pour QTY1

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 38


Tutorial Informatica powercenter 8

SUM(SRC_ORDER_LINES.AMOUNT) pour AMOUNT1


AVG(SRC_ORDER_LINES.AMOUNT) pour PROD_AVG_PRICE

Cochez la case Group by pour ORDER_ID

Liez les attributs de l’aggregator vers la table cible

Repository>Save
Créez une session et un Workflow pour exécuter ce Mapping
Création d’une session et d’un Workflow pour exécuter ce Mapping

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 39


Tutorial Informatica powercenter 8

Créez une session S_TRG_SALES

Sélectionnez le Mapping MAP_TRG_SALES

Editer les propriétés de cette session


Configurer la source et la cible

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 40


Tutorial Informatica powercenter 8

Définir les scripts pre-SQL


Ajouter les commandes suivantes dans Pre-SQL de la session S_TRG_SALES. Elles permettent de
désactiver les contraintes d’intégrités.
alter table trg_sales disable constraint SYS_C006123
alter table trg_sales disable constraint SYS_C006124
alter table trg_sales disable constraint SYS_C006125
alter table trg_sales disable constraint SYS_C006126
alter table trg_sales disable constraint SYS_C006127
alter table trg_sales disable constraint SYS_C006128
alter table trg_sales disable constraint SYS_C006129
alter table trg_sales disable constraint SYS_C006130
alter table trg_sales disable constraint SYS_C006131
alter table trg_sales disable constraint PK_TRG_SALES
alter table trg_sales disable constraint FK_SALES_CUST

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 41


Tutorial Informatica powercenter 8

Créez un Workflow WF_TRG_SALES

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 42


Tutorial Informatica powercenter 8

Liez la session START et S_TRG_SALES

Exécutez le Workflow

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 43


Tutorial Informatica powercenter 8

Exercices

1. supprimer toutes les lignes de TRG_CUSTOMER, et TRG_SALES


2. Créez un Mapping MAP_TRG_COUNTRY pour charger les données de SRC_REGION vers
TRG_COUNTRY
3. Créez un Mapping MAP_TRG_REGION pour charger les données de SRC_REGION vers
TRG_REGION
4. Créez un Mapping MAP_TRG_CITY pour charger les données de SRC_CITY vers TRG_CITY
5. Créez un Mapping MAP_TRR_PROD_FAMILY pour charger les données de
SRC_PROD_FAMILY vers TRG_PROD_FAMILY
6. Créez un Mapping MAP_ TRG_PRODUCT pour charger les données de SRC_PRODUCT vers
TRG_PRODUCT
7. Créez une session S_NOMMAPPING pour chaque Mapping.
8. Créer une autre session pour exécuter le script Pre-SQL (Désactiver des contraints) suivante
begin
for i in (select constraint_name, table_name from user_constraints) LOOP
execute immediate 'alter table '||i.table_name||' disable constraint '||i.constraint_name||'';
end loop;
end;
/
9. Créer une session pour exécuter le script post-SQL (activer les contraints)

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 44


Tutorial Informatica powercenter 8

begin
for i in (select constraint_name, table_name from user_constraints) LOOP
execute immediate 'alter table '||i.table_name||' enable constraint '||i.constraint_name||'';
end loop;
end;
/

10. créer un Workflow WF_TUTORIAL pour exécuter toutes les sessions à la fois.

Solution

1. SQL> delete from TRG_SALES;


SQL> Delete from TRG_SALES;
2. Création de Mapping MAP_TRG_COUNTRY
Tools>Mapping Designer
Mappings>Create

Glissez la source SRC_REGION dans l’espace de travail


Glisser la cible TRG_COUNTRY dans l’espace de travail
Liez COUNTRY_ID, COUNTRY des deux tables.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 45


Tutorial Informatica powercenter 8

3. Création de Mapping MAP_TRG_REGION


Mappings>Create
Entrez MAP_TRG_REGION dans mapping name

Liez les attributs de la table source au attributs de la table cible comme suit

4. Création de Mapping MAP_TRG_CITY


Mappings>Create
Entrez MAP_TRG_CITY dans mapping name

Reliez la source et la cible comme suit

5. Création de Mapping MAP_TRG_PROD_FAMILY


Mappings>Create

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 46


Tutorial Informatica powercenter 8

Entrez MAP_TRG_PROD_FAMILY dans mapping name

Il faut créer une séquence pour la génération automatique de la clé primaire pour la table
FAMILY_PRODUCT
Transformation>Create
Choisissez Sequence Generator dans transformation type
Entrez SEQ_TRG_PROD_FAMILY

Cliquez sur Create puis Done


Garder les propriétés par défaut (Start with 0, increment by 1)
Relier NEXTVAL de la séquence vers le champ FAMILY_ID de la table cible, et FAMILY_NAME
de la source vers FAMILY_NAME de la cible

6. Creation de Mapping MAP_TRG_PRODUCT

Il faut ajouter un lookup pour relier la source SRC_PRODUCT à la table cible SRC_PROD_FAMILY
avec le champ FAMILY_NAME
Transformation>Create
Entrez LKP_TRG_PRODUCT dans transformation name

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 47


Tutorial Informatica powercenter 8

Cliquez sur Create


Dans la fenêtre suivante, cliquez sur Target puis sélectionnez TRG_PROD_FAMILY

Glisser le champ FAMILY_NAME dans LKP_TRG_PRODUCT


Ajouter la condition suivante
FAMILY_NAME=FAMILY_NAME1

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 48


Tutorial Informatica powercenter 8

Voila le récapitulatif de ce Mapping

7. Création des sessions


Tools>Task Developer
Tasks>Create

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 49


Tutorial Informatica powercenter 8

Entrez S_TRG_COUNTRY dans task name, puis cliquez sur create

Sélectionnez MAP_TRG_COUNTRY, puis cliquez sur Ok

Configurez la source et la cible pour cette session

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 50


Tutorial Informatica powercenter 8

Création de la session S_TRG_REGION


Tasks>Create
Entrez S_TRG_REGION dans task name, puis cliquez sur Create

Sélectionnez le Mapping MAP_TRG_REGION, puis cliquez sur OK

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 51


Tutorial Informatica powercenter 8

Configurez la source et la cible pour cette session

Cliquez sur OK

Création de Mapping MAP_TRG_CITY


Tasks>Create

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 52


Tutorial Informatica powercenter 8

Entrez S_TRG_CITY dans task name

Sélectionnez le Mapping MAP_TRG_CITY, puis cliquez sur OK

Configurez la source et la cible pour cette session

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 53


Tutorial Informatica powercenter 8

Création de Mapping TRG_PROD_FAMILY


Tasks>Create
Entrez S_TRG_PROD_FAMILY

Sélectionnez le Mapping MAP_TRG_PROD_FAMILY

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 54


Tutorial Informatica powercenter 8

Cliquez sur OK.


Configurez la source et la cible pour cette session

Création de Mapping MAP_TRG_PRODUCT

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 55


Tutorial Informatica powercenter 8

Tasks>Create
Entrez S_TRG_PRODUCT dans task name, puis cliquez sur Create

Sélectionnez le Mapping MAP_TRG_PRODUCT

Cliquez sur Ok
Configurez la source et la cible pour cette session

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 56


Tutorial Informatica powercenter 8

8. Création d’une Commande Pre-SQL


Cette commande sert à exécuter le script pre-SQL suivant (Pour désactiver les contraintes d’integrités)
begin
for i in (select constraint_name, table_name from user_constraints) LOOP
execute immediate 'alter table '||i.table_name||' disable constraint '||i.constraint_name||'';
end loop;
end;
/

Tasks>Create
Choisissez Command dans Task type
Entrez dans Task name Pre-Session

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 57


Tutorial Informatica powercenter 8

Cliquez sur Create

Editer les propriétés de la commande Pre-Session, et dans l’onglet command, cliquez sur Add
command.
Entrez le script précèdent dans la zone de texte de la commande.

9. Création d’une Commande Post-SQL


Cette commande sert à exécuter le script post-SQL suivant (Pour réactiver les contraintes d’intégrités)
begin
for i in (select constraint_name, table_name from user_constraints) LOOP
execute immediate 'alter table '||i.table_name||' enable constraint '||i.constraint_name||'';
end loop;
end;
/

Tasks>Create
Choisissez Command dans Task type
Entrez dans Task name Post-Session

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 58


Tutorial Informatica powercenter 8

Cliquez sur Create.


Ajouter le script precedent dans la zone texte qui correspond à la commande Post-Session

10. Creation d’un Workflow

Tools>Workflow Designer
Workflows>Create
Entrez WF_TUTORIAL dans Workflow name

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 59


Tutorial Informatica powercenter 8

Cliquez sur OK
Cliquez sur Workflows>Edit pour éditer ses propriétés
Dans l’onglet PROPRIETE, cochez la case correspond à Write Backward Compatible Workflow
Log File pour permettre de générer le fichier log
Entrez le chemin de fichier log C:\Tutorial\

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 60


Tutorial Informatica powercenter 8

Glissez tous les Mapping créés précédemment, et les deux commande Pre-Sessin et Post-Session
Liez et agencez les sessions comme suit

11. Exécuter le Workflow.

Sélectionnez le Workflow WF_TUTORIAL, puis cliquez sur le bouton pour lancer l’execution.
Attention : il faut supprimez d’abord les commandes Pre-Session et Post-Session créées dans les
session S_TRG_CUSTOMER, et S_TRG_SALES.

Visualisation de Workflow Manager

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 61


Tutorial Informatica powercenter 8

Voila notre workflow est executé correctement.

Le chargement des dimension à evolution lentes


Définition
Les dimensions à évolution lentes (SLOWLY CHANGING DIMENSIONS), sont des dimensions dont
les valeurs changent rarement, comme par exemple la table client.
Dans les data warehouse, la suppression de données est rarement tolérable. Donc il faut définir des
stratégies pour apporter des changements au niveau de data warehouse lorsque des données sources
sont modifiés.
Il y a trois types de stratégies qui peuvent être mis en place.
1. Type 1 : Le chargement de type 1, provoque la perte des données. Les nouvelles données
écrasent les anciennes.
2. Type 2 : Le chargement de type 2 permet de créer des nouvelles lignes pour les données
modifiées toute en gardant les anciennes.
3. Type 3 : C’est le même que le type 2, mais par contre dans ce cas, on ne garde que les deux
dernières versions de modification.

Création d’un Mapping pour charger des données modifiées de SRC_PRODUCT vers
TRG_PRODUCT
Apporter des modification à la source
Exécuter les commandes suivantes dans le schéma source

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 62


Tutorial Informatica powercenter 8

/* Augmenter le prix de tous les produits avec 10% */


Update SRC_PRODUCT set PRICE=PRICE*1.10;
/* Ajouter un nouveau produit */
insert into SRC_PRODUCT values(20,'PEN',25,'Equipment');
Commit;

Nous allons créer un Mapping pour charger des données modifiées.(Utilisez le Type 1)
Dans ce Mapping, les données sources modifiées seront répercutées dans la cible, et les nouvelles
lignes seront insérées avec une clé primaire qui sera générée automatiquement.

1. Créez un nouveau Mapping MAP_UPD_PRODUCT

2. Glissez la table source SRC_PRODUCT dans l’espace de travail


3. Insérer une transformation « LKP_UPD_PRODUCT » de type LOOKUP

4. select TRG_PRODUCT de TARGETS

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 63


Tutorial Informatica powercenter 8

Cliquez sur Ok
5. Glissez l’attribut PRODUCT_ID de SRC_PRODUCT dans LKP_UPD_PRODUCT
6. Double click sur LKP_UPD_PRODUCT pour éditer ses propriétés, et ajouter cette condition
PRODUCT_ID=PRODUCT_ID1

Cliquez sur Ok
7. Insérer une transformation « EXP_UPD_PRODUCT » de type Expression

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 64


Tutorial Informatica powercenter 8

8. Glissez les attributs PRODUCT_ID, FAMILY_ID, PRICE, PRODUCT de


LKP_UPD_PRODUCT vers EXP_UPD_PRODUCT. Insérer PRODUCT, PRICE, et
FAMILY_NAME de SQ_SRC_PRODUCT vers EXP_UPD_PRODUCT.
9. Double click sur EXP_UPD_PRODUCT pour éditer ses propriétés. Ajouter les ports ChangeFlag
et NewFlag de type integer.
10. entrez cette expression dans la zone formula de ChangeFlag
IIF(NOT ISNULL(PRODUCT_ID)
AND
(
DECODE(PRICE1,PRICE,1,0) = 0
),TRUE,FALSE)

11. entrez cette expression dans la zone formula de NewFlag


IIF(ISNULL(PRODUCT_ID),TRUE,FALSE)

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 65


Tutorial Informatica powercenter 8

Voila le Mapping à ce stade

12. Insérer un Filtre FLTR_CHANGE_PRODUCT

Glissez l’attribut ChangeFlag de EXP_UPD_PRODUCT vers le filtre FLTR_CHANGE_PRODUCT


Glissez les attributs PRODUCT_ID, PRODUCT, FAMILY_NAME, et PRICE de
SQ_SRC_PRODUCT vers le filtre FLTR_CHANGE_PRODUCT.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 66


Tutorial Informatica powercenter 8

Dans l’onglet Properies de FLTR_CHANGE_PRODUCT, modifiez la condition de filtre à


« ChangeFlag=TRUE », cela ne permet qu’aux lignes modifiées de passer.

13. Insérez un autre LOOKUP pour chercher FAMILY_ID

Sélectionnez TRG_PROD_FAMILY de Targets et puis cliquez OK

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 67


Tutorial Informatica powercenter 8

14. Glissez les attributs PRODUCT_ID, PRODUCT,PRICE, et FAMILY_NAME de


FLTR_CHANGE_PRODUCT vers LKP_PROD_FAMILY2
Ajoutez la condition FAMILY_NAME=FAMILY_NAME1

15. insérez une transformation UPD_PRODUCT de type Update Strategy.


Glissez les attributs FAMILY_ID, PRICE, PRODUCT, et PRODUCT_ID de LKP_PROD_FAMILY2
vers UPD_PRODUCT.
16. double click su UPD_PRODUCT, pour éditer ses propriétés. Puis dans Properties, entrez
« DD_UPDATE » dans Update Strategy Expression.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 68


Tutorial Informatica powercenter 8

17. faire correspondre les attributs de UPD_PRODUCT avec TRG_PRODUCT comme c’est montré
dans la figure suivante

18. Vous allez faire la même chose avec NewFlag, sauf, dans Update Strategy, vous devez entrez
« DD_INSERT » dans Update Strategy Expression.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 69


Tutorial Informatica powercenter 8

Et insérer une séquence pour générer des clés automatiquement.


Le schéma global de ce Mapping

19. Insérer une session S_UPD_PRODUCT

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 70


Tutorial Informatica powercenter 8

Sélectionnez MAP_UPD_PRODUCT, puis cliquez sur Ok

Renseignez les source et cible dans les propriétés de la session

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 71


Tutorial Informatica powercenter 8

20. Insérez un workflow WF_UPD_PRODUCT

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 72


Tutorial Informatica powercenter 8

21. Exécutez le Workflow.

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 73


Tutorial Informatica powercenter 8

Rachid BENHOCINE / Consultant business intelligence rbhocine@gmail.com 74