SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
1
TP Business Intelligence
M. Agier
Présentation de l’étude de cas
La société Orion
Cette société fictive, présente au niveau mondial, est spécialisée dans la
commercialisation d’articles de sport et d’extérieur. Les données
disponibles regroupent des informations sur :
− les employés
− les produits
− les clients
− les commandes
− les fournisseurs
Le siège social aux États-Unis, gère des filiales en Belgique (depuis
1999), Pays Bas, Allemagne, Royaume-Uni, Danemark, France, Italie, Espagne
et Australie. Les produits sont vendus en magasin, par catalogue et par
internet. Une carte de fidélité : ‘Orion Star Club’, propose beaucoup
d’avantages. L’historique d’information va du 1er
janvier 1998 au 31
décembre 2002.
Structure de l’organisation
Le siège social héberge la majeure partie des fonctions administratives,
soit un nombre important d’employés, entre 600 et 800. Le siège social
centralise aussi la gestion des stocks, la vente par catalogue, la vente
par internet et l’import - export. Néanmoins, certains employés gèrent
aussi ces fonctions depuis les différentes filiales.
Les employés sont enregistrés dans la base de données selon cinq niveaux :
− Pays
− Compagnie
− Département
− Section
− Groupe
Les informations complémentaires sur les employés sont notamment :
− Date d’entrée et de départ de l’employé
− Date de début et de fin de contrat (pour certain contrat)
− Adresse
− Sexe
− Salaire
− Responsable hiérarchique
2
L’offre
La société propose environ 5500 références. Certaines ne sont pas vendues
dans tous les pays, d’autres, de part les volumes commercialisés, reflètent
certaines particularités régionales, certains sports nationaux. Tous les
noms sont fictifs.
Les produits sont organisés selon 4 niveaux :
− Ligne de produit
− Catégorie de produit
− Groupe de produit
− Produit
Chaque produit a un coût et un prix de vente. Le système informatique gère
tous les prix en dollars. En utilisant les dates de début et de fin, ces
prix varient en fonction du temps. Cet historique est sauvegardé. Le
système gère aussi les remises pour certains produits, à certaines
périodes. Les prix sont généralement uniques de part le monde.
Les clients
Les clients sont repartis à travers le monde, notamment dans les pays où se
trouvent des filiales, mais pas uniquement. Les noms et adresses sont
fictifs, même si les villes, régions/comtés et pays, sont réels. La base de
données enregistre environ 90 000 clients, pas tous actifs.
L’adresse des clients comprend tout ou partie des informations suivantes :
− Rue
− Code postal
− Ville
− Région / département / conté
− Etat
− Pays
− Continent
Les clients sont classés dans des groupes en fonction de leur activité
d’achat.
Les commandes
Chaque commande pointe vers le commercial qui a enregistré la vente.
Environ 980 000 commandes sont enregistrées, commandes qui reflètent
notamment les saisonnalités. Chaque commande comprend une ou plusieurs
lignes, une ligne par produit.
3
Les fournisseurs
Chaque produit provient d’un fournisseur qui est basé dans un pays, mais
toutes les commandes sont passées par le siège social. Il y a 64
fournisseurs, mais un seul fournisseur par produit.
Mise en place d’un système décisionnel
La société Orion souhaite améliorer sa performance à l’aide d’un système
décisionnel.
Voici quelques questions qui ont été recensées et auxquelles devrait
répondre le système mis en place :
− Quels sont les produits qui se vendent le mieux ?
− Quels sont les produits en perte de vitesse ?
− Quels sont les produits qui contribuent très peu au chiffre d’affaire
pour un pays et une année donnés ? Est-ce que ces produits peuvent
être remisés ?
− Quelle est la marge générée par ce groupe de produit ?
− Est-ce que la marge dépend de la quantité vendue ?
− Est-ce que les remises font augmenter les ventes ?
− Est-ce que les remises font augmenter la marge ?
− Quels sont les commerciaux qui font le plus de ventes ?
− Quels sont les commerciaux qui performent le mieux par pays, sexe,
âge, salaire ?
− Quels groupes de clients sont identifiés ?
− Quels sont les clients les plus rentables ?
− Quels fournisseurs proposent des produits rentables?
− Quelle est la moyenne et l’écart-type du chiffre d’affaire ?
− Quelles sont les variables qui expliquent le mieux l’importance du
chiffre d’affaire ?
− Y-a-t’il une différence significative entre la moyenne de la somme du
chiffre d’affaire géré par les commerciaux de sexe féminin et celle
des commerciaux de sexe masculin ?
Il faut donc construire un entrepôt de données capable de répondre aux
besoins de requête, de reporting, et d’analyses avancées.
4
Les données sources
Voici le schéma relationnel de la base de données opérationnelle de
l’entreprise d’où proviendront les données de l’entrepôt :
Ces tables sont stockées dans la base de données Microsoft Access nommée
orion.mdb, hormis la table Staff stockée dans le fichier Microsoft Excel
nommé staff.xls.
5
Schéma de l’entrepôt
Voici le schéma en étoile de l’entrepôt de données :
Création des tables de l’entrepôt
Une fois le schéma en étoile validé, il faut créer l’entrepôt sous Oracle.
1) Travail à réaliser :
− Créer un utilisateur nommé orion_DW_user qui sera le propriétaire de
l’entrepôt :
o CREATE USER orion_DW_user IDENTIFIED BY orion_DW_user;
o GRANT ALL PRIVILEGES TO orion_DW_user;
− Implémenter la création des tables de l’entrepôt sous Oracle en
spécifiant bien les clés primaires et les clés étrangères.
Maintenant que les tables de l’entrepôt sont créées, il faut réaliser les
processus qui vont remplir ces tables à partir des données sources.
Product_Dim
Product_IDINTEGER
Product_Line CHARACTER(20)
Product_Category CHARACTER(25)
Product_Group CHARACTER(25)
Product_Name CHARACTER(45)
Supplier_Country CHARACTER(2)
Supplier_Name CHARACTER(30)
Supplier_ID INTEGER
Customer_Dim
Customer_ID INTEGER
Customer_Country CHARACTER(2)
Customer_Group CHARACTER(40)
Customer_Type CHARACTER(40)
Customer_Gender CHARACTER(1)
Customer_Age_Group CHARACTER(12)
Customer_Age SMALLINT
Customer_Name CHARACTER(40)
Customer_Firstname CHARACTER(20)
Customer_Lastname CHARACTER(30)
Customer_Birth_Date DATE
Organization_Dim
Employee_ID INTEGER
Employee_Country CHARACTER(2)
Company CHARACTER(30)
Department VARCHAR(40)
Section VARCHAR(40)
Org_Group VARCHAR(40)
Job_Title VARCHAR(25)
Employee_Name VARCHAR(40)
Employee_Gender CHARACTER(1)
Salary DECIMAL(13)
Employee_Birth_Date DATE
Employee_Hire_Date DATE
Employee_Term_Date DATE
Geography_Dim
Street_ID INTEGER
Continent VARCHAR(30)
Country CHARACTER(2)
State_Code CHARACTER(2)
State VARCHAR(25)
Region VARCHAR(30)
Province VARCHAR(30)
County VARCHAR(60)
City VARCHAR(30)
Postal_Code CHARACTER(10)
Street_Name VARCHAR(45)
Order_Fact
#Customer_ID INTEGER
#Employee_ID INTEGER
#Street_ID INTEGER
#Product_IDINTEGER
#Order_Date DATE
#Order_ID INTEGER
Order_Type SMALLINT
Delivery_Date DATE
Quantity SMALLINT
Total_Retail_Price DECIMAL(13,2)
Costprice_Per_Unit DECIMAL(13,2)
Discount DECIMAL(5,2)
Time_Dim
Date_ID DATE
Year_ID CHARACTER(4)
Quarter CHARACTER(6)
Month_Name VARCHAR(20)
Weekday_Name VARCHAR(20)
Month_Num SMALLINT
Weekday_Num SMALLINT
6
Découverte de Talend Open Studio
2) Travail à réaliser :
− Ouvrir Talend Open Studio.
− Créer un nouveau projet nommé orion_project avec l’option Java.
− Dans la fenêtre « Generation Engine Initialization in progress »,
cocher la case Always run in background puis cliquer sur Run in
background.
Avant de commencer à travailler sous Talend, toujours attendre que la
« Generation Engine Initialization in progress » (en bas à droite) soit
terminée.
La fenêtre de Talend Open Studio est composée des vues suivantes :
− Barres d’outils et menus (en haut)
− Repository (en haut à gauche) : Ce référentiel contient tous les
éléments techniques du projet
− Design Workspace (au centre) : Cet espace de modélisation permet de
concevoir graphiquement les business model et les jobs.
− Palette (en haut à droite) : Cette palette graphique permet d'accéder
aux différents composants
− Différentes vues (en bas au centre) :
o Job : infos sur le job sélectionné
o Component : configuration du composant sélectionné
o Run job : exécution des jobs
o Problems : erreurs
− Outline et Code Viewer (en bas à gauche) : Ces fenêtres fournissent
un aperçu du code et du schéma du job ou du business model.
Business Models
Un business model permet de modéliser avec des composants graphiques, le
processus à mettre en place.
Pour ce système décisionnel, voici le processus à mettre en place :
Des données sources, fichier Excel + base de données Access (composants
Input et Database), vont être traitées par différents jobs ETL (composant
Gear) pour remplir l’entrepôt (composant Database). Un datamart (composant
Database) sera créé ensuite à partir de l’entrepôt. Les utilisateurs
(composant Actor) accèderont à l’entrepôt ou au datamart par le biais de
leur PC grâce aux outils de restitution (composant Terminal).
7
3) Travail à réaliser :
− Créer un nouveau Business model nommé orion_model.
− Créer le modèle en choisissant les différents composants graphiques
situés dans la palette.
Spécification des données sources
4) Travail à réaliser :
− Placer les différents fichiers Excel et Access dans un répertoire
C:/orion.
− Etablir une connexion orion_BD à la base access orion.mdb :
o Dans le Repository, clic droit sur Metadata / Db Connections /
Create connection
− Récupérer les schémas des tables
o Clic droit sur la connexion orion_BD : Retrieve Schema
o Cliquer sur Next.
o Sélectionner les tables nécessaires au projet.
o Cliquer sur Next.
o Pour chaque table, il y a le type de chaque colonne dans la
base de données sources (DB Type) et sa traduction dans Talend
(Type). Pour simplifier, seulement 3 types seront utilisés
ici : Double, String et Date. Modifier alors pour chaque table,
la traduction des DATETIME en Date (au lieu de String).
o Cliquer sur Finish.
− Récupérer le schéma du fichier staff.xls
o Dans le Repository, clic droit sur Metadata / File Excel /
Create file Excel
o Name : staff
o Cliquer sur Next
o File : C:/orion/staff.xls
o Sélectionner la feuille _t1 du fichier staff.xls (Sheet)
o Cliquer sur Next
o Cocher l’option Set heading row as column names puis Refresh
Preview
o Cliquer sur Next
o Name : staff
o Modifier les types des colonnes de façon à n’avoir que des
Double, des String ou des Date.
o Cliquer sur Finish
8
Spécification des données cibles
5) Travail à réaliser :
− Etablir une connexion orion_DW à l’entrepôt de données :
− Récupérer les schémas des tables
Les données sources et cibles sont maintenant disponibles dans le
Repository. Il faut alors construire les différents jobs pour remplir les
tables de l’entrepôt.
Remplissage de la table Customer_Dim
6) Travail à réaliser :
− Pour chaque colonne de la table Customer_Dim, spécifier de quelle(s)
donnée(s) source elle dépend.
Table cible Colonne cible Table(s) source Colonne(s) source Remarques
7) Travail à réaliser :
− Créer un job nommé Job01_Customer_Dim.
− Choisir les tables sources (Customer puis Customer_Type) et les
importer dans le Design Workspace avec l’option tAccessInput.
− Choisir la table cible (Customer_Dim) et l’importer dans le Design
Workspace avec l’option tOracleOutput.
9
− Ajouter ensuite, le composant Processing / tMap, pour faire le lien
entre les données sources et les données cibles.
− Ajouter les liens entre les différents composants :
o A partir des composants tAccessInput, clic droit, Row, Main
o Renommer les liens avec customer et customer_type.
o A partir du composant tMap, clic droit, Row, *New output*
(Main)
o Donner un nom au lien : customer_dim.
o Une fenêtre s’ouvre répondre yes, pour prendre en compte le
schéma de la table cible.
− Dans le Design workspace, vous afficherez un petit commentaire pour
décrire le job à l’aide du composant Misc / Note (à faire pour tous
les jobs).
− Dans le composant tOracleOutput :
o Dans la vue Component, spécifier dans Action on table : Clear
table, cela supprime les données de la table avant d’en insérer
de nouvelles (à faire pour tous les jobs).
− Dans le composant tMap :
o Double-clic sur le composant tMap.
o Faire une jointure entre les deux tables sources.
o Relier les colonnes sources aux colonnes cibles.
o Créer une nouvelle variable avec l’âge des clients :
Expression :
Mathematical.INT(TalendDate.formatDate("yyyy",TalendDate.
getCurrentDate()))-
10
Mathematical.INT(TalendDate.formatDate("yyyy",customer.Bi
rth_Date))
Type : double
Variable : age
o La colonne cible CUSTOMER_AGE est égale à cette variable age.
o La colonne cible CUSTOMER_AGE_GROUP est définie de la façon
suivante :
Var.age<30?"<30 years":
Var.age<46?"30-45 years":
Var.age<61?"46-60 years":
Var.age<76?"61-75 years":
">75 years"
o Cliquer sur OK
− Dans la fenêtre Run, cocher la case Statistics, puis lancer le job en
cliquant sur Run (ou F6).
− Sous Oracle, vérifier le résultat du job en lançant les requêtes
suivantes :
SELECT COUNT(*)
FROM Customer_Dim;
SELECT *
FROM Customer_Dim
WHERE ROWNUM<10;
Remplissage de la table Product_Dim
8) Travail à réaliser :
− Pour chaque colonne de la table Product_Dim, spécifier de quelle(s)
donnée(s) source elle dépend.
− Créer un job nommé Job02_Product_Dim.
− Choisir les tables sources et la table cible.
− Ajouter le composant Processing / tMap puis ajouter les liens entre
les différents composants (renommer les liens avec des noms
pertinents).
− Dans le premier composant tAccessInput (product_list par exemple) :
o Modifier la requête pour ne prendre en compte que les
produits : Dans la vue Component, dans Query, modifier la
requête.
o Procéder de la même façon pour les autres composants.
− Dans le composant tMap :
o Faire les jointures entre les différentes tables sources.
o Relier les colonnes sources aux colonnes cibles.
− Lancer le job avec les statistiques.
− Vérifier le résultat du job sous Oracle.
11
Remplissage de la table Organization_Dim
9) Travail à réaliser :
− Pour chaque colonne de la table Organization_Dim, spécifier de
quelle(s) donnée(s) source elle dépend.
− Créer le job Job03_Organization_Dim.
− Lancer le job et vérifier le résultat sous Oracle.
Remplissage de la table Time_Dim
Dans cette table, il faut rentrer toutes les dates du 01/01/1998 au
31/12/2002.
10) Travail à réaliser :
− En vous aidant de l’exemple ci-dessous, créer un programme en PL/SQL,
qui remplit cette table.
DECLARE
…
vQuarter CHARACTER(6);
vMonth_Name VARCHAR(20);
…
BEGIN
…
WHILE …
LOOP
…
vQuarter := TO_CHAR(vDate_ID,'YYYY')||'Q'||TO_CHAR(vDate_ID,'Q');
vMonth_Num := TO_NUMBER(TO_CHAR(vDate_ID,'MM'));
…
INSERT INTO Time_Dim VALUES (…);
…
END LOOP;
END;
/
− Exécuter le programme sous Oracle et vérifier le résultat.
Remplissage de la table Geography_Dim
11) Travail à réaliser :
− Pour chaque colonne de la table Geography_Dim, spécifier de quelle(s)
donnée(s) source elle dépend.
12
− Créer le job Job04_Geography_Dim.
− Lancer le job et vérifier le résultat sous Oracle.
Remplissage de la table Order_Fact
12) Travail à réaliser :
− Pour chaque colonne de la table Order_Fact, spécifier de quelle(s)
donnée(s) source elle dépend.
− Créer le job Job05_Order_Fact.
− Lancer le job et vérifier le résultat sous Oracle.
Lancement des jobs
Dans une étude réelle, les données sources évoluent en permanence. Les jobs
doivent donc être planifiés régulièrement. Le lancement des jobs pourra se
faire par exemple toutes les nuits pour prendre en compte les données
modifiées pendant la journée. La planification des jobs peut se faire grâce
au planificateur de tâches du système d’exploitation.
Remarque : Dans la solution (payante) Talend Integration Suite, la
planification peut se faire directement sous Talend. De plus, il est
possible de prendre en compte uniquement les données qui ont été modifiées
pour accélérer le temps de chargement de l’entrepôt.
13) Travail à réaliser :
− Exporter chaque job dans le répertoire C:/orion.
o Clic droit sur le job / Export Job Scripts
o Export type : Autonomous job
o Cocher l’option Extract the zip file
o Options par défaut
− Relancer le script de suppression puis création des tables de
l’entrepôt.
− Relancer le script de remplissage de la table Time_Dim.
− Relancer les jobs en cliquant sur les fichiers .bat.
− Vérifier que tout a bien fonctionné.
Les jobs vont maintenant être planifiés grâce au planificateur de tâches de
Windows.
14) Travail à réaliser :
− Ouvrir le planificateur de tâches de Windows
o Accessoires / Outils système / Planificateur de tâches
− Cliquer sur Créer une tâche… et donner lui un nom : orion_jobsETL
− Créer un déclencheur (dans 15 min par exemple)
13
− Créer une action :
o Action : Démarrer un programme
o Programme :
C:orionJob01_Customer_DimJob01_Customer_DimJob01_Customer_D
im_run.bat
o Commencer dans : C:orionJob01_Customer_DimJob01_Customer_Dim
− Ajouter de la même façon une action pour chaque job.
− Relancer le script de suppression puis création des tables de
l’entrepôt.
− Relancer le script de remplissage de la table Time_Dim.
− Attendre que la tache se lance.
− Vérifier que tout a bien fonctionné.
Création du datamart
Pour la suite de l’étude, un datamart sera construit avec uniquement les
clients membres du club Orion Gold et ayant acheté des vêtements ou des
chaussures (pour accélérer les requêtes).
Il existe 3 solutions pour créer un datamart :
− Solution 1 : Vues logiques de l’entrepôt
− Solution 2 : Vues matérialisées de l’entrepôt
− Solution 3 : Base de données indépendante + jobs de remplissage
15) Travail à réaliser : (Implémentation de la solution 3)
− Créer un nouvel utilisateur orion_DM_user.
− Créer le script de création du datamart puis les jobs permettant de
remplir les différentes tables.
o Conditions à spécifier :
o WHERE Customer_Group = 'Orion Club Gold members';
o WHERE Product_Line LIKE 'Clothes%';
o Cocher la case Inner join dans les jointures.
− Vérifier que tout a bien fonctionné.
16) Travail à réaliser : (Implémentation de la solution 1)
− Créer un nouvel utilisateur orion_DM_V_user.
− Créer le script de création des vues logiques.
− Vérifier que tout a bien fonctionné.
17) Travail à réaliser : (Implémentation de la solution 2)
− Créer un nouvel utilisateur orion_DM_MV_user.
− Créer le script de création des vues matérialisées.
− Vérifier que tout a bien fonctionné.

Contenu connexe

Tendances

Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008Abdelouahed Abdou
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcminfcom
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4JLilia Sfaxi
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
DataWarehouse
DataWarehouseDataWarehouse
DataWarehousenzuguem
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPTriyadadva
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehousekhlifi z
 
Etat de l’art approche et outils BI
Etat de l’art approche et outils BIEtat de l’art approche et outils BI
Etat de l’art approche et outils BISaid Sadik
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleLilia Sfaxi
 
applications-reparties
applications-repartiesapplications-reparties
applications-repartiesmourad50
 

Tendances (20)

Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Td dw1
Td dw1Td dw1
Td dw1
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Bi
BiBi
Bi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
 
Le processus ETL (Extraction, Transformation, Chargement)
Le processus ETL (Extraction, Transformation, Chargement)Le processus ETL (Extraction, Transformation, Chargement)
Le processus ETL (Extraction, Transformation, Chargement)
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
 
Etat de l’art approche et outils BI
Etat de l’art approche et outils BIEtat de l’art approche et outils BI
Etat de l’art approche et outils BI
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 

Similaire à Tp talend BI

Guide sap s4 hana retail_les donnees de base v3
Guide sap s4 hana retail_les donnees de base v3Guide sap s4 hana retail_les donnees de base v3
Guide sap s4 hana retail_les donnees de base v3MICKAEL QUESNOT
 
Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...
Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...
Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...patrickserge
 
[DAF 2014] Expérience client : Conforama
[DAF 2014] Expérience client : Conforama[DAF 2014] Expérience client : Conforama
[DAF 2014] Expérience client : ConforamaAT Internet
 
Réalisation d’un système d’information pour la gestion automatique des ventes...
Réalisation d’un système d’information pour la gestion automatique des ventes...Réalisation d’un système d’information pour la gestion automatique des ventes...
Réalisation d’un système d’information pour la gestion automatique des ventes...Ahmed Sidi
 
Mdm entrepot_de_donnees_-_wiki
Mdm  entrepot_de_donnees_-_wikiMdm  entrepot_de_donnees_-_wiki
Mdm entrepot_de_donnees_-_wikiMichel Bruley
 
Vos produits vus par 1 million de visiteurs par jour sur cdiscount avec iziflux
Vos produits vus par 1 million de visiteurs par jour sur cdiscount avec izifluxVos produits vus par 1 million de visiteurs par jour sur cdiscount avec iziflux
Vos produits vus par 1 million de visiteurs par jour sur cdiscount avec izifluxGuilhem GLEIZES
 
Part Miner Gestion Excedentsv3
Part Miner Gestion Excedentsv3Part Miner Gestion Excedentsv3
Part Miner Gestion Excedentsv3bduverneuil
 
I-COM Software: Solutions e-commerce B2B pour les revendeurs IT
I-COM Software: Solutions e-commerce B2B pour les revendeurs ITI-COM Software: Solutions e-commerce B2B pour les revendeurs IT
I-COM Software: Solutions e-commerce B2B pour les revendeurs ITI-COM Software
 
compu Base - comment trouver les bon partenaires?
compu Base - comment trouver les bon partenaires?compu Base - comment trouver les bon partenaires?
compu Base - comment trouver les bon partenaires?Jack Mandard
 
Présentation générale de Sage 100 gestion commerciale i7
Présentation générale de Sage 100 gestion commerciale i7Présentation générale de Sage 100 gestion commerciale i7
Présentation générale de Sage 100 gestion commerciale i7Sage france
 
Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...
Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...
Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...Comarch France
 
Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377sharepartminer
 
Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377agaudry
 
Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4bduverneuil
 
Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4servane
 
Réussir l'internationalisation de sa boutique e-commerce
Réussir l'internationalisation de sa boutique e-commerceRéussir l'internationalisation de sa boutique e-commerce
Réussir l'internationalisation de sa boutique e-commercePrestaShop
 
Conference iziflux mistersport forum emarketing 2009
Conference iziflux mistersport forum emarketing 2009Conference iziflux mistersport forum emarketing 2009
Conference iziflux mistersport forum emarketing 2009Guilhem GLEIZES
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business IntelligenceWalid Chamour
 

Similaire à Tp talend BI (20)

Guide sap s4 hana retail_les donnees de base v3
Guide sap s4 hana retail_les donnees de base v3Guide sap s4 hana retail_les donnees de base v3
Guide sap s4 hana retail_les donnees de base v3
 
Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...
Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...
Qui importe vos produits? Découvrez des fichiers d'importateurs ciblés, parto...
 
[DAF 2014] Expérience client : Conforama
[DAF 2014] Expérience client : Conforama[DAF 2014] Expérience client : Conforama
[DAF 2014] Expérience client : Conforama
 
Réalisation d’un système d’information pour la gestion automatique des ventes...
Réalisation d’un système d’information pour la gestion automatique des ventes...Réalisation d’un système d’information pour la gestion automatique des ventes...
Réalisation d’un système d’information pour la gestion automatique des ventes...
 
Mdm entrepot_de_donnees_-_wiki
Mdm  entrepot_de_donnees_-_wikiMdm  entrepot_de_donnees_-_wiki
Mdm entrepot_de_donnees_-_wiki
 
Vos produits vus par 1 million de visiteurs par jour sur cdiscount avec iziflux
Vos produits vus par 1 million de visiteurs par jour sur cdiscount avec izifluxVos produits vus par 1 million de visiteurs par jour sur cdiscount avec iziflux
Vos produits vus par 1 million de visiteurs par jour sur cdiscount avec iziflux
 
Part Miner Gestion Excedentsv3
Part Miner Gestion Excedentsv3Part Miner Gestion Excedentsv3
Part Miner Gestion Excedentsv3
 
I-COM Software: Solutions e-commerce B2B pour les revendeurs IT
I-COM Software: Solutions e-commerce B2B pour les revendeurs ITI-COM Software: Solutions e-commerce B2B pour les revendeurs IT
I-COM Software: Solutions e-commerce B2B pour les revendeurs IT
 
Resume de BI
Resume de BIResume de BI
Resume de BI
 
compu Base - comment trouver les bon partenaires?
compu Base - comment trouver les bon partenaires?compu Base - comment trouver les bon partenaires?
compu Base - comment trouver les bon partenaires?
 
Présentation générale de Sage 100 gestion commerciale i7
Présentation générale de Sage 100 gestion commerciale i7Présentation générale de Sage 100 gestion commerciale i7
Présentation générale de Sage 100 gestion commerciale i7
 
Webinar gfk compario 23 mai 2013
Webinar gfk compario 23 mai 2013Webinar gfk compario 23 mai 2013
Webinar gfk compario 23 mai 2013
 
Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...
Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...
Comarch Online Distribution : le livre blanc pour optimiser ses réseaux de di...
 
Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377
 
Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377Part Miner Gestion Excedentsv44377
Part Miner Gestion Excedentsv44377
 
Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4
 
Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4Part Miner Gestion Excedentsv4
Part Miner Gestion Excedentsv4
 
Réussir l'internationalisation de sa boutique e-commerce
Réussir l'internationalisation de sa boutique e-commerceRéussir l'internationalisation de sa boutique e-commerce
Réussir l'internationalisation de sa boutique e-commerce
 
Conference iziflux mistersport forum emarketing 2009
Conference iziflux mistersport forum emarketing 2009Conference iziflux mistersport forum emarketing 2009
Conference iziflux mistersport forum emarketing 2009
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 

Dernier

Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 

Dernier (20)

Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 

Tp talend BI

  • 1. 1 TP Business Intelligence M. Agier Présentation de l’étude de cas La société Orion Cette société fictive, présente au niveau mondial, est spécialisée dans la commercialisation d’articles de sport et d’extérieur. Les données disponibles regroupent des informations sur : − les employés − les produits − les clients − les commandes − les fournisseurs Le siège social aux États-Unis, gère des filiales en Belgique (depuis 1999), Pays Bas, Allemagne, Royaume-Uni, Danemark, France, Italie, Espagne et Australie. Les produits sont vendus en magasin, par catalogue et par internet. Une carte de fidélité : ‘Orion Star Club’, propose beaucoup d’avantages. L’historique d’information va du 1er janvier 1998 au 31 décembre 2002. Structure de l’organisation Le siège social héberge la majeure partie des fonctions administratives, soit un nombre important d’employés, entre 600 et 800. Le siège social centralise aussi la gestion des stocks, la vente par catalogue, la vente par internet et l’import - export. Néanmoins, certains employés gèrent aussi ces fonctions depuis les différentes filiales. Les employés sont enregistrés dans la base de données selon cinq niveaux : − Pays − Compagnie − Département − Section − Groupe Les informations complémentaires sur les employés sont notamment : − Date d’entrée et de départ de l’employé − Date de début et de fin de contrat (pour certain contrat) − Adresse − Sexe − Salaire − Responsable hiérarchique
  • 2. 2 L’offre La société propose environ 5500 références. Certaines ne sont pas vendues dans tous les pays, d’autres, de part les volumes commercialisés, reflètent certaines particularités régionales, certains sports nationaux. Tous les noms sont fictifs. Les produits sont organisés selon 4 niveaux : − Ligne de produit − Catégorie de produit − Groupe de produit − Produit Chaque produit a un coût et un prix de vente. Le système informatique gère tous les prix en dollars. En utilisant les dates de début et de fin, ces prix varient en fonction du temps. Cet historique est sauvegardé. Le système gère aussi les remises pour certains produits, à certaines périodes. Les prix sont généralement uniques de part le monde. Les clients Les clients sont repartis à travers le monde, notamment dans les pays où se trouvent des filiales, mais pas uniquement. Les noms et adresses sont fictifs, même si les villes, régions/comtés et pays, sont réels. La base de données enregistre environ 90 000 clients, pas tous actifs. L’adresse des clients comprend tout ou partie des informations suivantes : − Rue − Code postal − Ville − Région / département / conté − Etat − Pays − Continent Les clients sont classés dans des groupes en fonction de leur activité d’achat. Les commandes Chaque commande pointe vers le commercial qui a enregistré la vente. Environ 980 000 commandes sont enregistrées, commandes qui reflètent notamment les saisonnalités. Chaque commande comprend une ou plusieurs lignes, une ligne par produit.
  • 3. 3 Les fournisseurs Chaque produit provient d’un fournisseur qui est basé dans un pays, mais toutes les commandes sont passées par le siège social. Il y a 64 fournisseurs, mais un seul fournisseur par produit. Mise en place d’un système décisionnel La société Orion souhaite améliorer sa performance à l’aide d’un système décisionnel. Voici quelques questions qui ont été recensées et auxquelles devrait répondre le système mis en place : − Quels sont les produits qui se vendent le mieux ? − Quels sont les produits en perte de vitesse ? − Quels sont les produits qui contribuent très peu au chiffre d’affaire pour un pays et une année donnés ? Est-ce que ces produits peuvent être remisés ? − Quelle est la marge générée par ce groupe de produit ? − Est-ce que la marge dépend de la quantité vendue ? − Est-ce que les remises font augmenter les ventes ? − Est-ce que les remises font augmenter la marge ? − Quels sont les commerciaux qui font le plus de ventes ? − Quels sont les commerciaux qui performent le mieux par pays, sexe, âge, salaire ? − Quels groupes de clients sont identifiés ? − Quels sont les clients les plus rentables ? − Quels fournisseurs proposent des produits rentables? − Quelle est la moyenne et l’écart-type du chiffre d’affaire ? − Quelles sont les variables qui expliquent le mieux l’importance du chiffre d’affaire ? − Y-a-t’il une différence significative entre la moyenne de la somme du chiffre d’affaire géré par les commerciaux de sexe féminin et celle des commerciaux de sexe masculin ? Il faut donc construire un entrepôt de données capable de répondre aux besoins de requête, de reporting, et d’analyses avancées.
  • 4. 4 Les données sources Voici le schéma relationnel de la base de données opérationnelle de l’entreprise d’où proviendront les données de l’entrepôt : Ces tables sont stockées dans la base de données Microsoft Access nommée orion.mdb, hormis la table Staff stockée dans le fichier Microsoft Excel nommé staff.xls.
  • 5. 5 Schéma de l’entrepôt Voici le schéma en étoile de l’entrepôt de données : Création des tables de l’entrepôt Une fois le schéma en étoile validé, il faut créer l’entrepôt sous Oracle. 1) Travail à réaliser : − Créer un utilisateur nommé orion_DW_user qui sera le propriétaire de l’entrepôt : o CREATE USER orion_DW_user IDENTIFIED BY orion_DW_user; o GRANT ALL PRIVILEGES TO orion_DW_user; − Implémenter la création des tables de l’entrepôt sous Oracle en spécifiant bien les clés primaires et les clés étrangères. Maintenant que les tables de l’entrepôt sont créées, il faut réaliser les processus qui vont remplir ces tables à partir des données sources. Product_Dim Product_IDINTEGER Product_Line CHARACTER(20) Product_Category CHARACTER(25) Product_Group CHARACTER(25) Product_Name CHARACTER(45) Supplier_Country CHARACTER(2) Supplier_Name CHARACTER(30) Supplier_ID INTEGER Customer_Dim Customer_ID INTEGER Customer_Country CHARACTER(2) Customer_Group CHARACTER(40) Customer_Type CHARACTER(40) Customer_Gender CHARACTER(1) Customer_Age_Group CHARACTER(12) Customer_Age SMALLINT Customer_Name CHARACTER(40) Customer_Firstname CHARACTER(20) Customer_Lastname CHARACTER(30) Customer_Birth_Date DATE Organization_Dim Employee_ID INTEGER Employee_Country CHARACTER(2) Company CHARACTER(30) Department VARCHAR(40) Section VARCHAR(40) Org_Group VARCHAR(40) Job_Title VARCHAR(25) Employee_Name VARCHAR(40) Employee_Gender CHARACTER(1) Salary DECIMAL(13) Employee_Birth_Date DATE Employee_Hire_Date DATE Employee_Term_Date DATE Geography_Dim Street_ID INTEGER Continent VARCHAR(30) Country CHARACTER(2) State_Code CHARACTER(2) State VARCHAR(25) Region VARCHAR(30) Province VARCHAR(30) County VARCHAR(60) City VARCHAR(30) Postal_Code CHARACTER(10) Street_Name VARCHAR(45) Order_Fact #Customer_ID INTEGER #Employee_ID INTEGER #Street_ID INTEGER #Product_IDINTEGER #Order_Date DATE #Order_ID INTEGER Order_Type SMALLINT Delivery_Date DATE Quantity SMALLINT Total_Retail_Price DECIMAL(13,2) Costprice_Per_Unit DECIMAL(13,2) Discount DECIMAL(5,2) Time_Dim Date_ID DATE Year_ID CHARACTER(4) Quarter CHARACTER(6) Month_Name VARCHAR(20) Weekday_Name VARCHAR(20) Month_Num SMALLINT Weekday_Num SMALLINT
  • 6. 6 Découverte de Talend Open Studio 2) Travail à réaliser : − Ouvrir Talend Open Studio. − Créer un nouveau projet nommé orion_project avec l’option Java. − Dans la fenêtre « Generation Engine Initialization in progress », cocher la case Always run in background puis cliquer sur Run in background. Avant de commencer à travailler sous Talend, toujours attendre que la « Generation Engine Initialization in progress » (en bas à droite) soit terminée. La fenêtre de Talend Open Studio est composée des vues suivantes : − Barres d’outils et menus (en haut) − Repository (en haut à gauche) : Ce référentiel contient tous les éléments techniques du projet − Design Workspace (au centre) : Cet espace de modélisation permet de concevoir graphiquement les business model et les jobs. − Palette (en haut à droite) : Cette palette graphique permet d'accéder aux différents composants − Différentes vues (en bas au centre) : o Job : infos sur le job sélectionné o Component : configuration du composant sélectionné o Run job : exécution des jobs o Problems : erreurs − Outline et Code Viewer (en bas à gauche) : Ces fenêtres fournissent un aperçu du code et du schéma du job ou du business model. Business Models Un business model permet de modéliser avec des composants graphiques, le processus à mettre en place. Pour ce système décisionnel, voici le processus à mettre en place : Des données sources, fichier Excel + base de données Access (composants Input et Database), vont être traitées par différents jobs ETL (composant Gear) pour remplir l’entrepôt (composant Database). Un datamart (composant Database) sera créé ensuite à partir de l’entrepôt. Les utilisateurs (composant Actor) accèderont à l’entrepôt ou au datamart par le biais de leur PC grâce aux outils de restitution (composant Terminal).
  • 7. 7 3) Travail à réaliser : − Créer un nouveau Business model nommé orion_model. − Créer le modèle en choisissant les différents composants graphiques situés dans la palette. Spécification des données sources 4) Travail à réaliser : − Placer les différents fichiers Excel et Access dans un répertoire C:/orion. − Etablir une connexion orion_BD à la base access orion.mdb : o Dans le Repository, clic droit sur Metadata / Db Connections / Create connection − Récupérer les schémas des tables o Clic droit sur la connexion orion_BD : Retrieve Schema o Cliquer sur Next. o Sélectionner les tables nécessaires au projet. o Cliquer sur Next. o Pour chaque table, il y a le type de chaque colonne dans la base de données sources (DB Type) et sa traduction dans Talend (Type). Pour simplifier, seulement 3 types seront utilisés ici : Double, String et Date. Modifier alors pour chaque table, la traduction des DATETIME en Date (au lieu de String). o Cliquer sur Finish. − Récupérer le schéma du fichier staff.xls o Dans le Repository, clic droit sur Metadata / File Excel / Create file Excel o Name : staff o Cliquer sur Next o File : C:/orion/staff.xls o Sélectionner la feuille _t1 du fichier staff.xls (Sheet) o Cliquer sur Next o Cocher l’option Set heading row as column names puis Refresh Preview o Cliquer sur Next o Name : staff o Modifier les types des colonnes de façon à n’avoir que des Double, des String ou des Date. o Cliquer sur Finish
  • 8. 8 Spécification des données cibles 5) Travail à réaliser : − Etablir une connexion orion_DW à l’entrepôt de données : − Récupérer les schémas des tables Les données sources et cibles sont maintenant disponibles dans le Repository. Il faut alors construire les différents jobs pour remplir les tables de l’entrepôt. Remplissage de la table Customer_Dim 6) Travail à réaliser : − Pour chaque colonne de la table Customer_Dim, spécifier de quelle(s) donnée(s) source elle dépend. Table cible Colonne cible Table(s) source Colonne(s) source Remarques 7) Travail à réaliser : − Créer un job nommé Job01_Customer_Dim. − Choisir les tables sources (Customer puis Customer_Type) et les importer dans le Design Workspace avec l’option tAccessInput. − Choisir la table cible (Customer_Dim) et l’importer dans le Design Workspace avec l’option tOracleOutput.
  • 9. 9 − Ajouter ensuite, le composant Processing / tMap, pour faire le lien entre les données sources et les données cibles. − Ajouter les liens entre les différents composants : o A partir des composants tAccessInput, clic droit, Row, Main o Renommer les liens avec customer et customer_type. o A partir du composant tMap, clic droit, Row, *New output* (Main) o Donner un nom au lien : customer_dim. o Une fenêtre s’ouvre répondre yes, pour prendre en compte le schéma de la table cible. − Dans le Design workspace, vous afficherez un petit commentaire pour décrire le job à l’aide du composant Misc / Note (à faire pour tous les jobs). − Dans le composant tOracleOutput : o Dans la vue Component, spécifier dans Action on table : Clear table, cela supprime les données de la table avant d’en insérer de nouvelles (à faire pour tous les jobs). − Dans le composant tMap : o Double-clic sur le composant tMap. o Faire une jointure entre les deux tables sources. o Relier les colonnes sources aux colonnes cibles. o Créer une nouvelle variable avec l’âge des clients : Expression : Mathematical.INT(TalendDate.formatDate("yyyy",TalendDate. getCurrentDate()))-
  • 10. 10 Mathematical.INT(TalendDate.formatDate("yyyy",customer.Bi rth_Date)) Type : double Variable : age o La colonne cible CUSTOMER_AGE est égale à cette variable age. o La colonne cible CUSTOMER_AGE_GROUP est définie de la façon suivante : Var.age<30?"<30 years": Var.age<46?"30-45 years": Var.age<61?"46-60 years": Var.age<76?"61-75 years": ">75 years" o Cliquer sur OK − Dans la fenêtre Run, cocher la case Statistics, puis lancer le job en cliquant sur Run (ou F6). − Sous Oracle, vérifier le résultat du job en lançant les requêtes suivantes : SELECT COUNT(*) FROM Customer_Dim; SELECT * FROM Customer_Dim WHERE ROWNUM<10; Remplissage de la table Product_Dim 8) Travail à réaliser : − Pour chaque colonne de la table Product_Dim, spécifier de quelle(s) donnée(s) source elle dépend. − Créer un job nommé Job02_Product_Dim. − Choisir les tables sources et la table cible. − Ajouter le composant Processing / tMap puis ajouter les liens entre les différents composants (renommer les liens avec des noms pertinents). − Dans le premier composant tAccessInput (product_list par exemple) : o Modifier la requête pour ne prendre en compte que les produits : Dans la vue Component, dans Query, modifier la requête. o Procéder de la même façon pour les autres composants. − Dans le composant tMap : o Faire les jointures entre les différentes tables sources. o Relier les colonnes sources aux colonnes cibles. − Lancer le job avec les statistiques. − Vérifier le résultat du job sous Oracle.
  • 11. 11 Remplissage de la table Organization_Dim 9) Travail à réaliser : − Pour chaque colonne de la table Organization_Dim, spécifier de quelle(s) donnée(s) source elle dépend. − Créer le job Job03_Organization_Dim. − Lancer le job et vérifier le résultat sous Oracle. Remplissage de la table Time_Dim Dans cette table, il faut rentrer toutes les dates du 01/01/1998 au 31/12/2002. 10) Travail à réaliser : − En vous aidant de l’exemple ci-dessous, créer un programme en PL/SQL, qui remplit cette table. DECLARE … vQuarter CHARACTER(6); vMonth_Name VARCHAR(20); … BEGIN … WHILE … LOOP … vQuarter := TO_CHAR(vDate_ID,'YYYY')||'Q'||TO_CHAR(vDate_ID,'Q'); vMonth_Num := TO_NUMBER(TO_CHAR(vDate_ID,'MM')); … INSERT INTO Time_Dim VALUES (…); … END LOOP; END; / − Exécuter le programme sous Oracle et vérifier le résultat. Remplissage de la table Geography_Dim 11) Travail à réaliser : − Pour chaque colonne de la table Geography_Dim, spécifier de quelle(s) donnée(s) source elle dépend.
  • 12. 12 − Créer le job Job04_Geography_Dim. − Lancer le job et vérifier le résultat sous Oracle. Remplissage de la table Order_Fact 12) Travail à réaliser : − Pour chaque colonne de la table Order_Fact, spécifier de quelle(s) donnée(s) source elle dépend. − Créer le job Job05_Order_Fact. − Lancer le job et vérifier le résultat sous Oracle. Lancement des jobs Dans une étude réelle, les données sources évoluent en permanence. Les jobs doivent donc être planifiés régulièrement. Le lancement des jobs pourra se faire par exemple toutes les nuits pour prendre en compte les données modifiées pendant la journée. La planification des jobs peut se faire grâce au planificateur de tâches du système d’exploitation. Remarque : Dans la solution (payante) Talend Integration Suite, la planification peut se faire directement sous Talend. De plus, il est possible de prendre en compte uniquement les données qui ont été modifiées pour accélérer le temps de chargement de l’entrepôt. 13) Travail à réaliser : − Exporter chaque job dans le répertoire C:/orion. o Clic droit sur le job / Export Job Scripts o Export type : Autonomous job o Cocher l’option Extract the zip file o Options par défaut − Relancer le script de suppression puis création des tables de l’entrepôt. − Relancer le script de remplissage de la table Time_Dim. − Relancer les jobs en cliquant sur les fichiers .bat. − Vérifier que tout a bien fonctionné. Les jobs vont maintenant être planifiés grâce au planificateur de tâches de Windows. 14) Travail à réaliser : − Ouvrir le planificateur de tâches de Windows o Accessoires / Outils système / Planificateur de tâches − Cliquer sur Créer une tâche… et donner lui un nom : orion_jobsETL − Créer un déclencheur (dans 15 min par exemple)
  • 13. 13 − Créer une action : o Action : Démarrer un programme o Programme : C:orionJob01_Customer_DimJob01_Customer_DimJob01_Customer_D im_run.bat o Commencer dans : C:orionJob01_Customer_DimJob01_Customer_Dim − Ajouter de la même façon une action pour chaque job. − Relancer le script de suppression puis création des tables de l’entrepôt. − Relancer le script de remplissage de la table Time_Dim. − Attendre que la tache se lance. − Vérifier que tout a bien fonctionné. Création du datamart Pour la suite de l’étude, un datamart sera construit avec uniquement les clients membres du club Orion Gold et ayant acheté des vêtements ou des chaussures (pour accélérer les requêtes). Il existe 3 solutions pour créer un datamart : − Solution 1 : Vues logiques de l’entrepôt − Solution 2 : Vues matérialisées de l’entrepôt − Solution 3 : Base de données indépendante + jobs de remplissage 15) Travail à réaliser : (Implémentation de la solution 3) − Créer un nouvel utilisateur orion_DM_user. − Créer le script de création du datamart puis les jobs permettant de remplir les différentes tables. o Conditions à spécifier : o WHERE Customer_Group = 'Orion Club Gold members'; o WHERE Product_Line LIKE 'Clothes%'; o Cocher la case Inner join dans les jointures. − Vérifier que tout a bien fonctionné. 16) Travail à réaliser : (Implémentation de la solution 1) − Créer un nouvel utilisateur orion_DM_V_user. − Créer le script de création des vues logiques. − Vérifier que tout a bien fonctionné. 17) Travail à réaliser : (Implémentation de la solution 2) − Créer un nouvel utilisateur orion_DM_MV_user. − Créer le script de création des vues matérialisées. − Vérifier que tout a bien fonctionné.