Vous êtes sur la page 1sur 31

Rapport sur le mini projet : Conception de Data

warehouse (OWB ) et Analyse - Reporting (OBIEE )

Ce projet est réaliser par Mahfoud Mahamoud et Yassine Farid.

SOMMAIRE:

Introduction

Partie I : Présentation Logique


1) Conduite du projet (cahier de charge)
2) Base de données source
2-1) Modèle relationnelle des tables source
2-2) Script PL/SQL des tables source
2-3) Dictionnaire de données
3) conception de l'entrepôt de donnes (E.D)
3-1) Définition
3-2) Concept fondamentaux
3-3) Conception de E.D

Partie II : Présentation Pratique (Les outils)

1) OWB (Oracle Warehouse Builder)


1-1) Définition
1-2) Installation de OWB
1-3) Concept de OWB
1-4) Modélisation et chargement dans DW
2) OBIEE (Oracle Business Intelligence Entreprise Edition)
2-1) Définition
2-2) Fonctionnalité principale
2-3) Fonctionnement de système OBIEE
2-4) Création de réferentiel
2-5) Analyse et Reporting
Partie I : Présentation Logique

Introduction:

Qu'Est-ce qu'un business Intelligence


(informatique décisionnelle) ?
L'informatique décisionnelle est l'exploitation des données de
l'entreprise dans le but de faciliter la prise de décision par les
décideurs c'est-à-dire la compréhension du fonctionnement actuel et
l'anticipation des actions pour pilotage éclairé de l'entreprise.

La BI : définition et apport à l’entreprise « L’informatique décisionnelle


(ou BI pour Business Intelligence) désigne les moyens, les outils et les
méthodes qui permettent de collecter, consolider, modéliser et restituer
les données, matérielles ou immatérielles, d'une entreprise en vue
d'offrir une aide à la décision et de permettre aux responsables de la
stratégie d'entreprise d’avoir une vue d’ensemble de l’activité traitée. »
Voici la définition que l’on retrouve généralement lorsque l’on parle
d’informatique décisionnelle. Une entreprise est généralement composée de
plusieurs services tels que les ressources humaines, les services
comptabilité, marketing, commercial, technique… Tous conservent des
informations propres à leurs fonctions : listes des clients, des employés,
chiffres, emplois du temps… L’accumulation de ces données nécessite donc
leur sauvegarde dans le but d’une future exploitation. On constate ainsi
régulièrement que chaque service possède son tableau de bord, ce qui lui
permet de mesurer les indicateurs de performance de l’entreprise (chiffre
d’affaires, calculs de bénéfices à l’année…). Cependant, chaque service a
bien souvent sa façon de stocker ses informations (par exemple dans un
fichier Excel, une base de données relationnelle…), et sa manière de
calculer les indicateurs, avec sa vérité et ses critères. Ainsi, si l’on
veut considérer les données de l’entreprise dans son ensemble, la tâche
s’avère rude voire parfois impossible. Pourtant, cela constituerait une
utilité évidente et un réel apport à la société. En effet, une mise en
relation et une analyse de toutes les données permettraient de réaliser
des études et des prévisions sur le comportement et la « santé » de
l’entreprise.
Figure 4 : La solution BI
Le but de la BI est d’apporter une vision globale des données de
l’entreprise, afin de répondre aux problématiques de celle-ci ou, tout
simplement, afin de Transformer des données de mauvaise qualité en
informations de haute qualité nécessite.

1) Conduite de projet
Ici nous vous présenterons la planification de mini-projet et la gestion
de temps sans oublier la ressource humaine qui gère le projet est moi
Mahfoud et mon collègue Yassine vois y la figure suivante

Comme vous voyez, nous avons représenté cette figure la différente tâche
du projet et leur date.
2) Base de données source :

2-1) Modèle relationnelle des tables source


Ce mini-projet est composé un base de données de 4 tables
(Clients,Garage,Reparation et Voiture) dans chacune dispose l'ensemble
de champs suivants:

Client (numC ,NomC, PrenomC,AdressC)


Voiture(NumV, marqueV,modelV)
Garage (NumG, NomG,VilleG,departement, region )
Reparation (NumR,prix,NombreR,NumG,NumV,dataR).

2-2) Script PL/SQL des tables source et leurs liens (jointures)


Create table client(numc int not null primary key, nomc varchar(30) not
null, prenomc varchar(30) not null, adressec varchar(100) not null);

Create table Voiture(numv int not null primary key, marquev varchar(30)
not null, modelv varchar(30) not null, numc int not null);

Create table reparation (numR int not null primary key, prix float not
null, dataR data not null, numv int not null,numG int not null);

Create table garage(numG int not null primary key, nomG varchar(50) not
null, ville varchar(50) not null, departement varchar(50) not null,
region varchar(50) not null);

Alter table voiture add constraint voiture_fb foreign key(numC)


references client(numC);

Alter table reparation add constraint reparation_fb1 foreign key(numV)


references voiture(numV);

Alter table reparation add constraint reparation_fb2 foreign key(numG)


references voiture(numG);
2-3) Dictionnaire de donnée
Un dictionnaire des données est une collection de métadonnées ou de
données de référence nécessaire à la conception d'une base de données
relationnelle. Il revêt une importance stratégique particulière, car il
est le vocabulaire commun de l'organisation (Définition Wikipédia).

Catégorie de Type de Signification Longueur Regle de


donnée donnée calcule
numC N Numero Client 10
nomC C Nom Client 30
prenomC C Prenom Client 30
adressC AN Adresse Client 100
numV N Numero Voiture 10
marqueeV C Marque voiture 15
modelV AN Model voiture 20
NumG N Numero Garage 10
NomG C Nom Garage 30
VilleG C Ville Garage 30
departemen AN departement 40
t
region C Region Garage 30
prixR N Prix dereparation 10 Σ montant
nombreR N Nombre reparation 100
DataR D Data de reparation JJ/MM/YY
YY

3) conception de l'entrepôt de donnes (E.D)

3-1) Définition :
Nous avons vu dans introduction précédents ce qu'était le BI, ce que
comprenait un environnement décisionnel et qu'il avait comme concept
central l'entrepôt de données ou le Data Warehouse.

Intéressons-nous maintenant à comment concevoir un entrepôt de données.

Quelle structure permet-elle d'avoir les fonctionnalités requises pour


un entrepôt de données ?

Quelles sont les techniques utilisées pour bien concevoir ?

Quels sont les indicateurs d'une bonne conception ?


Un entrepôt de données, ou data Warehouse, est une vision centralisée et
universelle de toutes les informations de l'entreprise. C'est une
structure (comme une base de données) qui à pour but, contrairement aux
bases de données, de regrouper les données de l'entreprise pour des fins
analytiques et pour aider à la décision stratégique. La décision
stratégique étant une action entreprise par les décideurs de
l'entreprise et qui vise à améliorer, quantitativement ou
qualitativement, la performance de l'entreprise. En gros, c'est un
gigantesque tas d'informations épurées, organisées, historisées et
provenant de plusieurs sources de données, servant aux analyses et à
l'aide à la décision.

Sans aller plus loin que ça pour l'explications, on aimerait commencer


directement le concept d'entrepôt.

3-2) Concept fondamentaux


Les Data Warehouses étant, en général, très volumineux et très complexes
à concevoir, on a décidé de les diviser en bouchées plus faciles à créer
et entretenir. Ce sont les Data Marts. On peut faire des divisions par
fonction (un data mart pour les ventes, pour les commandes, pour les
ressources humaines) ou par sous-ensemble organisationnel (un data mart
par succursale). Nous verrons plus tard comment organiser les data marts
pour créer un entrepôt proprement dit.

Une dimension est tout ce qu'on utilisera pour faire nos analyses.

Un fait est tout ce qu'on voudra analyser.

Une mesure est les données à analyse

Modélisation en étoile : Une étoile est une façon de mettre en relation


les dimensions et les faits dans un entrepôt de données. Nous le verrons
plus tard, mais le principe est que les dimensions sont directement
reliées à un fait (schématiquement sont relie comme la figure3 suivant
présente).
3-3) Conception de E.D :
Granularité : on veut analyser le nombre de réparation effectuer par un
garage donné et le prix de réparation sachons que le temps est bien
précisé

(Garage, réparation, temps ,voiture).

Dimension Niveau Hiérarchie


Voiture Voiture,Type,Produit,AllV Voiture ->typeV -> ALL
Voiture -> marqueV -> ALL
Garage Garage,ville,pays,region,AllG Garage -> Ville -> Pays -> Region -
>ALLG
Temps Jours,Mois,Année Temps -> Jours -> Mois -> Année

Figure 3
Partie II ) Présentation Pratique

1) Oracle Warehouse Builder (OWB)

1-1) Définition :
Oracle Warehouse Builder est un outil unique et complet pour tous les
aspects de l'intégration de données. Warehouse Builder exploite Oracle
Database pour transformer les données en informations de haute qualité. Il
fournit la qualité des données, l'audit des données, la modélisation
relationnelle et dimensionnelle entièrement intégrée et la gestion complète
du cycle de vie des données et des métadonnées. Warehouse Builder nous
permet de créer des entrepôts de données, de migrer des données à partir de
systèmes existants, de consolider des données à partir de sources de
données disparates, de nettoyer et transformer des données pour fournir des
informations de qualité (ETL) et gérer les métadonnées d'entreprise.

1-2)installation de OWB :
OWB 11gR2 est pré-installé avec Oracle Database 11gR2 et peut être installé
séparament (OWB 11gR2 standalone version). Cette version (Oracle DB 11gR2)
ne marche pas sous Windonws7 64-bit.

Remarque : OWB 11gR2 standalone est la version utilisé dans ce mini


projet.

Certain configuration doit être fait dans OWB standalone avant l'utilisé :

Cleaning an Oracle Warehouse Builder Repository

SQL> @C:\OWB112\owb\UnifiedRepos\clean_owbsys.sql

Creating an OWBSYS Schema with Repository Objects

SQL> @C:\OWB112\owb\UnifiedRepos\cat_owb.sql USERS

Configuring the Control Center Service

SQL> @C:\OWB112\owb\UnifiedRepos\reset_owbcc_home.sql C:\OWB112

Unlocking the OWBSYS and OWBSYS_AUDIT Accounts

SQL> alter user owbsys identified by password account unlock;


SQL> alter user owbsys_audit identified by password account unlock;

Setting Oracle Warehouse Builder Home for Remote Installations

@remote_owb_install.sql OWB_REMOTE_HOME

Creating the First Workspace in the Repository on Windows

Start-> Warehouse Builder -> Administration -> Repository Assistant

Lien ci-dessous contient les détails de la configuration de OWB standalone


https://docs.oracle.com/cd/E11882_01/owb.112/e17130/setup_windows.htm#W
BINS16018

1.3) Concept de OWB :

L'espace de travail est hébergé sur une base de données Oracle.

En tant qu'utilisateur général, nous n'avons pas un accès complet à


l'espace de travail. ( grant all privileges to <<utilisateur>> )

Design Center permet de importer des objets sources, concevoir des


processus ETL tels que Mapping.

Mapping :
Le Mapping est un objet dans lequel nous définissons le flux de données des
sources vers les cibles. Basé sur une conception de Mapping, Warehouse
Builder génère le code requis pour implémenter la logique ETL.
Le mapping que nous créons dans Design Center définissent un entrepôt
cible.

Déploiement :
Après avoir terminé la conception d'un Mapping et invité Warehouse Builder
à générer le code, l'étape suivante consiste à déployer le Mapping. Le
déploiement est le processus de copie des métadonnées et du code que nous
avons générés dans Design Center vers un schéma cible. Le schéma cible est
défini génériquement comme la base de données Oracle qui exécutera la
logique ETL que nous avons conçue dans le Design Center.

Warehouse Builder Components


Control Center Manager est l'interface client qui interagit avec le schéma
Target via Control Center Service

Design Center est l'interface graphique principale de OWB, mais en peu y


accédé différemment a partir de navigateur (browser repository), Outre que
la navigation dans les métadonnées de conception et l'audit des données
d'exécution, nous pouvons afficher et créer des rapports.
1-4) Modélisation et chargement des données dans Data Warehouse:
Apres la création de l'utilisateur source et target avec leurs droit
d'accès en commence par importer la schéma source.

SQL > sqlplus / as sysdba


SQL > create user source identified by source;
SQL > create user target identified by target;
SQL > grant all privileges to source;
SQL > grant all privileges to target;

Création de nouveau module oracle nommé SOURCE.

importer les objets (les tables) de utilisateur source


Création de nouveau module oracle nommé TARGET.

la figure ci-dessous présente la modélisation final de Data warehouse il


contient les trois dimensions ( garage - voiture - temps) avec le cube (
fact_reparation) .
a) Les Dimensions :

Dimension temps
OWB nous permet de générer rapidement les données temporel en créons a la
fois : table, dimension et le mapping .

Niveau et hiérarchie de dimension temps :

Dimension voiture :
Niveau et hierarchie de dimension voiture
Dimension garage :
Niveau et hiérarchie de dimension garage

b) Le Mapping
Après avoir importé des définitions d'objets de données et crée les
dimensions dans Warehouse Builder, on peut concevoir des opérations
d'extraction, de transformation et de chargement (ETL) qui déplacent les
données des sources vers les cibles. Dans Warehouse Builder, ces opérations
est effectué dans le mapping.

Mapping de dimension voiture :


Mapping de dimension garage :

Mapping de dimension temps est générer par OWB ( lors de création de


dimension temporel temps).
c) Le cube :

Les dimension lié au cube

Les mesures :

Le Mapping de cube
d) Chargement des donnés dans DW (Déploiement) :

Le déploiement est le processus de création des tables physiques dans un


emplacement cible en fonction des tables logiques dans un espace de travail
Oracle Warehouse Builder.

Avant de déployer les dimension et le cube on doit configurer le


déploiement en "Déployer Tout" pour ne pas générer des erreurs
(implémentation relationnelle ROLAP).

Dans le cas de implémentation MOLAP , l'objet dimensionnel est déployé dans


l'espace de travail analytique (Analytic Workspace Manager).
Déploiement :

Déploiement de voiture :

Déploiement de garage :
Déploiement de temps

Déploiement de cube :
e) Process Flow
Après avoir créé les mappages qui définissent les opérations de déplacement
des données des sources vers les cibles, nous pouvons créer et définir des
flux de processus. Un flux de processus ( Process Flow ) permet de relier
les activités entre elles pour définir le flux de contrôle entre
différentes activités.

En cliquant sur Démarrer le processus de démarrage commence successivement


par les trois mapping : voiture_map,temps_map,garage_map , le démarage de
mapping_3 (mapping de cube) ne commence que lorsque les 3 mapping des
dimensions est terminé .

Le Déploiement et le démarrage est réussie, il ne reste que la


visualisation des données dans les tables associés,

Extrait de la table voiture :


Extrait de la table temps :

Table de Fait Finale :


2) OBIEE 11g (Orale Business Intelligence Entreprise Edition 11g)

2-1) Définition :
OBIEE est une plateforme intégrée BI (Business Intelligence) complète et
innovante qui répond à l'ensemble des besoins décisionnels, il possède
également un navigateur web permettant d'accéder à un ensemble de
fonctionnalités natives de l'outil : tableaux de bords, analyses ad hoc,
rapports de masse, alertes proactives, mode déconnecté, exports et
publication vers les outils bureautique (Office et Adobe) à partir d'un
référentiel unique (couche de présentation).

2-2) Fonctionnalités principales d'OBIEE


Oracle BI Server EE: -Gestion des multi-sources.
-Gestion des modèles décisionnels.
-Gestion de présentations des données métiers.
Oracle BI Publisher: -Planification et Distribution de rapports de masse.
-Présentation sous Word, Excel, Adobe.
-Elaboration de documents complexes pour publication
massive à l'intérieur ou à l'extérieur de la société.
Oracle Answers : -Création d'analyses pointues sans compétences
particulières de la part de l'analyste qui utilise l'outil décisionnel.
-Création de requètes de type OLAP.
-Utilisation de filtres et de fonctions avancées.
-Intégration des analyses à des tableaux de bord .
-Extraction des analyses aux formats .csv, .pdf, .xls,etc.
Oracle DashBoard : -Création de multiples rapports.

figure : Exemple d'analyse les revenue de raparation des voitures dans les trois année 2016,2017,2018 .
2-3) Comment fonctionne le système OBIEE?
La requête initiale de l'utilisateur est envoyée au serveur de
présentation. Le serveur de présentation convertit cette requête en SQL
logique et la transmet au composant de serveur BI. Le serveur BI convertit
ceci en SQL physique et l'envoie à la base de données pour obtenir le
résultat requis. Ce résultat est présenté à l'utilisateur final de la même
manière.

Web Logic Server :Cette partie du système OBIEE contient Admin Server et
Managed Server. Le serveur d'administration est responsable de la gestion
des processus de démarrage et d'arrêt du serveur géré

Node Manager :déclenche les activités de démarrage automatique, d'arrêt, de


redémarrage et fournit des activités de gestion des processus pour le
serveur Admin et le serveur géré.

OPMN :est utilisé pour démarrer et arrêter tous les composants du système
BI. Il est géré et contrôlé par Fusion Middleware Controller.

Oracle BI Server : C'est le cœur du système Oracle BI et il est chargé de


fournir des capacités d'accès aux données et aux requêtes.

BI Presentation Server: Il est responsable de présenter les données du


serveur BI aux clients Web, ce qui est demandé par les utilisateurs finaux.

Scheduler : Ce composant fournit la capacité de planification dans le


système BI et il a son propre planificateur pour planifier les travaux dans
le système OBIEE.

Oracle BI Java Host : Il est responsable de l'activation de BI Presentation


Server pour prendre en charge diverses tâches Java pour BI Scheduler,
Publisher et les graphique
BI Cluster Controller : Ceci est utilisé à des fins d'équilibrage de charge
pour garantir que la charge est affectée de manière égale à tous les
processus du serveur BI.

2-4) Création de référentiel ( Pour l'utiliser dans espace de présentation :


Oracle Presentation Server)
Les tables génerer par OWB est dans l'utilisateur target ( target3 dans
notre cas )

Pour effectué des analyses décisioneles sur entreport de donnés on doit


d'abord importer ces tables (ou crée la vue Référentiel) dans l'outils
Administration Tools

Dans Administration Tools Fichier -> nouveau référentiel


Le mot de passe référentiel est le mot de passe utilisé pendant
l'installation de OBIEE.
Ici en entre le pool de connexion et le nom utilisateur/password qui
contient les données et métadonnées de data warehouse ( crée et déployer
par OWB )
Importation des tables de Data warehouse

La figure ci-dessus contient 3 fentre (3 couche) :

Une table physique est un objet de la couche physique de l'outil


d'administration Oracle BI qui correspond à un objet dans une base de
données physique. Le dossier de la couche physique stocke les raccourcis
(références) aux tables physiques.

Couche Modèle de gestion et de correspondance représente la structure


logique des informations dans le référentiel. Les schémas physiques sont
simplifiés et réorganisés en fonction de la vue des utilisateurs sur les
données. Les modèles de gestion contiennent des colonnes logiques disposées
dans des tables logiques (tables de dimensions logiques et tables de faits
logiques), des jointures logiques et des définitions de hiérarchies
dimensionnelles.
La couche Présentation simplifie le modèle métier et facilite la
compréhension et l'interrogation des utilisateurs . la même structure de
couche présentation est afficher dans le navigateur dans l'espace Analyse

Après l'implémentation (création des hiérarchies de chaque dimension


,renommer les table , supprimer les table dans la fenêtre présentation) et
des configuration, on obtient le résultat suivant :

Pour utilisé le référentiel dans un navigateur ( ici TARGET3 dans fenêtre


présentation) on doit d'abord sauvegarder espace de travaille en format
(.rpd)

A partir de navigateur en accède Fusion Middleware Control qui permet de


configurer ensemble de fonctionnalité de OBIEE .
URL : localhost:7001/em
Parcourir la fichier .rpd
Activer la modification puis redémarrer le système

On accède a Oracle Presentation Server a partir de navigateur


URL : <<nomDeOrdinateur>>:7001/analytics

Dans la section Analyse et Interactive Reporting, en cliquant sur Analyse;


l'objet de présentation dans administration Tools est bien apparait dans le
navigateur :
2-5) OBIEE :Quelque Analyse et reporting de Data Warehouse
Table de fait : Fact_Reparation
Dimensions : Voiture - Garage - Temps

Revenue des garages par année :


Revenue par mois ( en peut choisir les différents années 2016,2017 et 2018
)

Reporting : Revenue Pendant 3 Année de chaque garage :


En peut sauvegarder ensemble de ces résultat dans un dashboard :

Extrait d'une section de dashboard :


Il est possible de exporter le dashboard en tant que pdf,exel , etc..

Difficulté rencontré :
-Installation et configuration de OWB, OBIEE ,
-Lourd taille des outils (total 15 GO)

Ce qu'il reste à faire :


-Il existe un moyen de mettre les objets déployer par OWB directement
dans OBIEE et la mise a jour automatique ( Chemin référentiel ).
-System d'alerts de OBIEE.
-Configurer hiérarchie de la dimension Voiture ( deux chemin
enfants) (Administration Tools -> Modele de gestion).

III) Conclusion :
Ce mini projet nous a permet d'apprendre des nouveaux outils : OWB pour
faire ETL, et OBIEE pour Analyse décisionnelles et reporting de DW, de crée
des Dashboard interactif , sans oublier d'améliorer nos capacité
d'apprendre ( chercher des solutions, Documentation..) .