Ilovepdf Merged

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 137

CONCEPTION ET RÉALISATION

D’UN DATAWAREHOUSE

3ème ACI- Option GDC Pr. HILAL IMANE

2020/2021
PLANNING DE COURS

Charge totale 28h:


 10h Cours théorique

 10h TP (Microsoft SQL Server)

 4h soutenance projet

 2h Contrôle + 2h Examen Final

2
CHAPITRE 1: TERMINOLOGIES ET
DÉFINITIONS

3
POSITIONNEMENT TECHNOLOGIQUE

Système Base de
Papier Décision
personnalisé données

• organiser les • mieux organiser • stocker les • utiliser les


données dans des les données des données pour données pour la
formes papiers organismes fournir un prise de décision
dans des historique
classeurs détaillé de
l'activité

4
PROBLÉMATIQUES
 Stockage des gigas de données, mais difficile à exploiter et à accéder
 Besoin d’analyser les données dans tous les sens

 Besoin d'obtenir les informations plus facilement

Utilisation de l'information pour appuyer une prise de décisions


plus fondées sur des faits

5
PROBLÉMATIQUES
Qui sont mes
clients? Quels
Quelles sont les produits Quels sont
promotions les achètent-ils? mes
plus efficaces ?
meilleurs
clients?

Quelle est la
période la Qui sont les
plus clients
lucrative? insatisfaits?
Pourquoi?

6
BUSINESS INTELLIGENCE

L’informatique décisionnelle (Business Intelligence (BI)),


également appelée « intelligence d'affaires » , désigne les solutions
informatiques apportant une aide à la décision avec, en bout de
chaîne, des rapports et des tableaux de bord à la fois analytiques
et prospectifs.

Le but est de consolider les informations disponibles au sein des


bases de données de l'entreprise.

7
BUSINESS INTELLIGENCE

Datawarehouse VS Datamining

 L'analyse multidimensionnelle consiste à modéliser des


données selon plusieurs axes: Datawarehouse
 L'analyse prédictive exploite un ensemble d'événements
observés et historisés afin de prévoir l'évolution d'une activité
Datamining

8
BUSINESS INTELLIGENCE
 Traitement opérationnel: Les opérations quotidiennes
comme la capture, le stockage et la manipulation des
données.

 Traitement de l'information: L'analyse de ces données


ou d'autres formes d'informations pour appuyer la prise
de décision

9
INTÉRÊTS
 Réconciliation sémantique
 Dispersion des sources de données au sein d’une entreprise
 Différents codage pour les mêmes données
 L’entrepôt rassemble toutes les informations au sein d’un unique schéma
 Conserve l’historique des données
 Performance
 Les données d’aide à la décision nécessitent une autre organisation des données
 Les requêtes complexes de l’OLAP dégradent les performances des requêtes
OLTP.
 Disponibilité
 La séparation augmente la disponibilité
 Une bonne façon d’interroger des sources de données dispersées
 Qualité des données
DÉFINITION DATAWAREHOUSE
Un Datawarehouse est une collection de données conçue pour
l'interrogation et l'analyse plutôt que le traitement de
transactions. Il contient généralement des données historiques
dérivées de données transactionnelles, mais il peut comprendre des
données d'autres origines.

Les Datawarehouses séparent la charge d'analyse de la charge


transactionnelle. Ils permettent aux entreprises de consolider des
données de différentes origines. Au sein d'une même entité
fonctionnelle, le datawarehouse joue le rôle d'outil analytique.

11
BASES DE DONNÉES VS DATAWAREHOUSE

Les SGBD sont des systèmes conçus pour l'OLTP (On-Line Transaction Processing).

Permet d'insérer, modifier, interroger des informations rapidement, efficacement, en sécurité.

Deux objectifs principaux :

- ajouter, retrouver et supprimer des enregistrements repérés par une clef

"rechercher une aiguille dans une botte de foin"

- ces opérations doivent pouvoir être effectuées très rapidement, et


par de nombreux utilisateurs simultanément.

Les systèmes OLTP sont mal adaptés à l'analyse de données.


BASES DE DONNÉES VS DATAWAREHOUSE
Les entrepôts sont des systèmes conçus pour l’aide à la prise de décision.

Les objectifs principaux sont


regrouper, organiser, coordonner des informations provenant de sources
diverses,
les intégrer et les stocker pour donner à l’utilisateur une vue orientée métier,
retrouver et analyser l’information facilement et rapidement.

Questions typiques :
Quels sont les produits qui se vendent le mieux dans chaque région,
et quel est l’impact des données démographiques sur ces résultats
de vente ?
BASES DE DONNÉES VS DATAWAREHOUSE
KNOWLEDGE DATA DISCOVERY

15
CONCEPTION ET RÉALISATION
D’UN DATAWAREHOUSE

3ème ACI- Option GDC Pr. HILAL IMANE

2020/2021
CHAPITRE 2: ARCHITECTURE D’UN
DATAWAREHOUSE

2
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

3
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

4
BASE DE DONNÉES
Bases de données internes
 Bases de production de l’entreprise

 Bases créées par les utilisateurs

Bases de données externes à l’entreprise


 Données achetées à des fournisseurs de données

 Données récupérées sur Internet

5
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

6
ETL
 Extraction (Extraction)
 Transformation (Transformation)
 Chargement (Load)

Un ETL est un outil permettant d’automatiser les chargements des


données dans le Datawarehouse. Il transpose le modèle entité-relation des
bases de données de production ainsi que les autres modèles utilisés dans
les opérations de l'entreprise, en modèle à base de dimensions et de
faits.

Un ETL permet de :
 découvrir, analyser et extraire les données à partir des ressources
hétérogènes
 nettoyer et standardiser les données
7
 charger les données dans un Datawarehouse
ETL
Extraction
 Extraction possible à partir de plusieurs plateformes
 Chargement incrémental ou complet
Transformation
 Uniformiser l’information
 Gérer les différents codes
 Majuscule / minuscule
 Orthographe
Load
 Les tables
 Les agrégats 8
ETL

RH
Transform

Vente Extract Data Transformation Load Datawarehouse

Finance

9
ETL
Dirty Data Transformation
Problèmes de normalisation • Révisions de format
 Différents encodages, langues .. • Traitement des valeurs NULL
 Différentes abréviations
• Valeurs calculées & dérivées
 Equivalence sémantique
• Fusion des données
 Différentes normes & unités de
mesures • Fractionnement des champs
Problèmes de données • Conversion des unités de mesure
 Champs manquants (âge, adresse, …) • Conversion des dates
 Valeurs incorrectes
• Déduplication
 Redondance sémantique
Incohérences
 Incohérence des codes
 Incompatibilité référentielle 10
ETL – QUALITÉ DE DONNÉES
Les données dans un DW doivent être:
 Précises: Les données doivent correspondre à un sujet bien défini

 Complètes: Le DW doit comporter toutes les données pertinentes

 Cohérentes: Le DW ne doit pas comporter de données


contradictoires: les agrégats correspondent aux données détaillées
 Uniques: Les mêmes choses s'appellent les mêmes et ont la même
clé
 Rapides: Le DW doit assurer la mise à jour fréquente des données

11
ETL EXEMPLE
Item Customer
records records

Split Filter
Filter Filter Group by
Date - Join non -
invalid invalid customer
time match
Customer
Facture
balance
Invalid Invalid Invalid
dates /times items customers

12
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

13
PROPRIÉTÉS D’UN DATAWAREHOUSE
Un datawarehouse est une collection de données intégrées,
orientées sujet, historisées et non variables, susceptibles
d’appuyer le processus décisionnel dans une entreprise ou
organisation

Subject Oriented Integrated

Datawarehouse

Non Volatile Time Variant


14
SUBJECT ORIENTED
Les entrepôts de données sont conçus pour aider à analyser les
données.

L'information est présentée selon un sujet ou un domaine d'intérêt


spécifique, pas simplement comme des enregistrements
informatiques. Les données fournissent ainsi des informations sur un
sujet particulier.

Ventes
 Qui était notre meilleur client pour ce produit l'année dernière?

15
SUBJECT ORIENTED

Production
Produit
Réclamatio
n
Vente
Facturati
on
Comman Client
de

Base de données
Datawarehouse
opérationnelle

16
INTEGRATED
Intégration de données provenant de multiples sources hétérogènes
dans un format cohérent
 Base de données relationnelle

 Fichier

 Enregistrement de log

L’intégration doit résoudre les problèmes suivants


 Conflits de noms

 Incohérences entre les unités de mesure.

17
INTEGRATED
m,f

0,1 m,f
Male,
femal
e

EUR

USD EUR

MD

18
NON VOLATILE
Les données, une fois intégrées dans le datawarehouse, ne devraient
pas changer. Le but d'un datawarehouse est de permettre d'analyser
ce qui s'est passé.

Le datawarehouse ne permet que deux opérations : le chargement


initial des données et l'accès aux données.

Les données non volatiles sont donc


 Stable & non modifiables

 Accessibles en lecture seule

 Non supprimables 19
NON VOLATILE
lire accéder

modifier supprimer
Base de données Datawarehouse

insérer charger
20
TIME VARIANT
Les données historiques sont conservés dans un datawarehouse. Il
est possible de récupérer des données à partir de 3 mois, 6 mois, 12
mois, ou des données encore plus anciennes. Contrairement aux
bases de données traditionnelles où souvent seuls les données les
plus récentes sont conservées.

Chaque donnée collectée se voit affecter une date ou un numéro de


version, afin de suivre son évolution au cours du temps et de
conserver l'historique.

21
DW VS SGBD
Différente performance
 SGBD (OLTP): méthodes d'accès, indexation, contrôle de concurrence,
récupération
 DW (OLAP) : requêtes complexes, vue multidimensionnelle,
consolidation

Différentes données
 données manquantes: l'aide à la décision nécessite des données
historiques que les bases de données opérationnelles ne conservent pas
généralement
 données consolidées: l'aide à la décision nécessite la consolidation
(agrégation, synthèse) des données provenant de sources hétérogènes
 qualité des données: différentes sources utilisent généralement des
représentations de données, des codes et des formats incompatibles qui
doivent être uniformisés 22
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

23
METADATA
Les métadonnées sont les informations relatives à la structure des
données, les méthodes d’agrégation et le lien entre les données
opérationnelles et celles du Datawarehouse.

Les métadonnées doivent renseigner sur :


 Le modèle de données

 La structure des données telle qu’elle est vue par les développeurs

 La structure des données telle qu’elle est vue par les utilisateurs

 Les sources des données

 Les transformations nécessaires


24
 Suivi des alimentations
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

25
DATA MART
Data Mart?
Magasin de données

Les data marts sont un sous-ensemble du datawarehouse ou se produit la


plupart des activités d'analyse de l'environnement BI.
Les données de chaque data mart sont généralement adaptées pour une
capacité ou une fonction particulière (l'analyse de la rentabilité des
produits, l’analyse démographique de la clientèle, ...)
Chaque data mart spécifique n'est pas nécessairement valable pour
d'autres usages.
26
DATA MART
Achat

Vente

Datawarehouse

Productio
n

RH

27
Data mart
DATAWAREHOUSE VS DATAMART

Datawarehouse Data mart


Est défini à l’échelle de l’entreprise Est défini à l’échelle départemental
Contient plusieurs domaines Contient souvent un seul domaine
Contient des informations très détaillées Peut contenir des données plus résumées
Intègre toutes les sources de données Intègre les informations à partir d'un
sujet donné ou d’un ensemble de
systèmes sources

28
CONCEPTION ET RÉALISATION
D’UN DATAWAREHOUSE

3ème ACI- Option GDC Pr. HILAL IMANE

2020/2021
CHAPITRE 3 : CONCEPTION D’UN DATAWAREHOUSE

2
DIFFÉRENCE DE CONCEPTION
Schéma Relationnel – Schéma en Etoile
Entité/Relation

3
MODÉLISATION
Schéma en étoile
Une table de faits au milieu du schéma est connectée à un ensemble
de tables de dimensions
Schéma flocon de neige (snowflake)
Un raffinement du schéma en étoile où des tables de dimensions sont
décomposées
Constellation de faits
Plusieurs tables de faits partagent des tables de dimension
(constellation d’étoiles)

4
MODÉLISATION MULTIDIMENSIONNEL
Table de fait
La table de faits constitue une table de référence centrale permettant
d’accéder aux événements ou activités archivés et inhérents à un processus
déterminé.
Dimension
Les tables de dimension sont des compagnons intégrés à une table de fait.
Les tables de dimension contiennent le contexte textuel associé à un
événement de mesure des processus métiers. Ils décrivent le «qui, quoi, où,
quand, comment, et pourquoi" associé à l'événement.
Attribut
Les attributs qualifient les dimensions. Généralement, les attributs sont
textuels et discrets (par opposition aux faits). 5
TABLE DE FAITS
Les tables de faits sont des collections de mesures associées à un
processus métier spécifique. Les mesures sont stockés dans les colonnes.

Les tables de faits contiennent généralement un grand nombre de lignes,


parfois dans les centaines de millions d’enregistrements lorsqu'elles
contiennent une ou plusieurs années d'historique pour un grand
organisme.

Table de faits agrégée


L'agrégation est le processus de calcul des données de synthèse à partir de
données plus détaillées. Il permet de réduire la taille des tables de faits
par l'agrégation des données dans les comptes rendus analytiques. 6
TABLE DE FAITS
GRANULARITÉ
Le grain détermine le niveau de détail de la mesure de table de
faits:

Par exemple
 Transactions individuelles

 Transactions Instantanés (points dans le temps)

 Éléments de ligne sur un document

Le plus petit niveau de granularité est meilleur pour l’analyse (mais


7
pas pour le stockage)
DIMENSION
Une table de dimension se compose de:
 Une clé non significative établissant un lien avec les lignes de la
table de faits
 Une clé significative reprise d’une source de données opérationnelle
ou externe
 Un nombre d’attributs permettant de caractériser la dimension
Dimension
Produit Clé non significative
Clé significative Clé produit
ID produit
Nom produit
Groupe Attributs
Marque 8
Unité
Conditionnement
DIMENSION
CLÉ NON SIGNIFICATIVE
Aussi appelé clé de substitution (Surrogate Key)

Les clés de table de dimension sont non intelligentes et non liées à


l'entreprise car:
 Les clés métier (clé significative) peuvent changer avec le temps

 Les clés de substitution gardent une trace des valeurs des attributs
non clés pour une clé significative donnée
 Les clés de substitution sont plus simples et plus courtes

 Les clés de substitution peuvent avoir la même longueur et le


même format pour toutes les clés
9
DIMENSION
SLOWLY CHANGING DIMENSION (SCD)
Dimension à variation lente

 Type 1: remplacer les anciennes données par les nouvelles (perte des
données historiques)

 Type 2: créer une nouvelle ligne de table de dimension chaque fois que
l'objet de dimension change, avec toutes les caractéristiques de la
dimension au moment du changement.
 Approche la plus courante

 Type 3: pour chaque attribut changeant, créer un champ de valeur


courant et plusieurs champs d'ancienne valeur (plusieurs valeurs) 10
DIMENSION
DIMENSION TEMPORELLE EXEMPLE
Dimension Date
Clé date
date complète
jour
mois
année
semestre
Trimestre
……….

 Type particulier de dimension


 Dimension cruciale pour l’analyse

 Dupliquer les attributs même s’ils peuvent être déduits


11
DIMENSION
DIMENSION TEMPORELLE
DayOfWeek

Fiscal Fiscal
Fiscal Year Fiscal Week
Quarter Month

Date

Calendar Calendar Calendar Calendar


Year Quarter Month Week

IsHoliday

12
SCHÉMA EN ÉTOILE

Les observations numériques continuellement estimées


Faits
Les observations numériques discrètes tirées d'une petite liste
Dimensions

Fait Vente
Clé période
Dimension Dimension
Clé client
Période Client
Clé produit
Dimension Clé magasin Dimension
Magasin Quantité Produit
Chiffre_Affaires 13
SCHÉMA EN ÉTOILE Dim
Clé 3 (PK)
Dim Attribut
Les tables de faits contiennent
Clé 1 (PK) des données factuelles ou Attribut
quantitatives …………..
Attribut
Attribut Fact Les tables de dimensions sont
………….. Clé 1 dénormalisées pour optimiser la
(PK)(FK) performance
Clé 2 Relation 1: N entre
(PK)(FK) les tables de
Clé 3 dimensions et les
Dim tables de faits Produit
(PK)(FK)
Clé 2 (PK) Clé 4 Clé 4 (PK)
Attribut (PK)(FK) Attribut
Attribut Data column Attribut
………….. Data column …………..
Les tables de dimensions ………..
14
contiennent des descriptions sur
les sujets d’analyse
SCHÉMA EN ÉTOILE Client
Clé client
Période ID client
Clé période Nom client
Adresse
ID période
Vente Sexe
Date
Année
Jour Clé période naissance
Semaine Clé client Région
Clé produit
Clé magasin
Magasin Quantité Produit
Clé magasin Chiffre
d’affaires Clé produit
ID magasin ID produit
Type magasin Nom produit
Nom magasin Groupe
Commune Marque
Région Unité 15
Conditionneme
nt
SCHÉMA EN ÉTOILE
Un schéma en étoile contient une seule table centrale, appelée une
table de faits, entouré de plusieurs tables appelées dimensions.

Une schéma en étoile couvre un secteur d'activité. Dans ce cas, le


schéma couvre les ventes d’une entreprise. Un datawarehouse
couvre plusieurs domaines d'activité et se compose de plusieurs
schémas étoiles et/ou flocon de neige.

16
Dimension
SCHÉMA EN ÉTOILE Client
Dimension Clé client

Période ID client
Nom client
Clé période Vente Adresse
ID période Clé période Sexe
Date Année naissance
Clé client Région
Jour
Semaine Clé produit Dimension
Dimension Clé magasin Produit
Magasin Quantité Clé produit
Clé magasin Chiffre
ID produit
d’affaires Nom produit
ID magasin
Type magasin Sum Groupe
Nom magasin Group by Group by Marque
Commune Unité
Région Conditionnement

Total du chiffre d’affaire


Groupé par commune 17
Groupé par marque
SCHÉMA EN ÉTOILE
 Une (ou plusieurs) table(s) de faits.
 Plusieurs tables de dimension dénormalisées

 Les tables de dimension ne sont pas reliées entre elles

Facilité de navigation
Nombre de jointures limité

Redondance dans les dimensions


Toutes les dimensions ne concernent
pas les mesures
Alimentation complexe 18
RAPPEL - NORMALISATION
Définition
 La normalisation est le processus qui permet d’éviter les données
redondantes dans les bases de données.
 Cela implique de restructurer les tables pour atteindre
successivement des formes plus élevées de normalisation.

 Une base de données correctement normalisée respecte les


caractéristiques suivantes:
 Les valeurs scalaires (atomiques) dans chaque champs
 Absence de redondance.
 Utilisation minimale des valeurs nulles. 19
 Perte minimale d'informations.
RAPPEL - NORMALISATION
Il existe une séquence aux formes
normales:
 1NF est considéré comme le plus faible,
1NF
 2NF est plus fort que 1NF

 3NF est plus fort que 2NF 2NF

3NF

Chaque niveau supérieur est un


sous-ensemble du niveau
inférieur
20
RAPPEL - FORMES NORMALES
Première forme normale
Une relation est en première forme normale si et seulement si tout
attribut contient une valeur atomique.

Livre(ID_livre, titre, auteurs)


→ Livre(ID_livre, titre, auteur1, auteur2, auteur3)

ou mieux encore
Livre(ID_livre, titre, auteurs)
→ Livre(ID_livre, ID_auteur, titre)
21
→ Auteur(ID_auteur, nomAuteur)
RAPPEL - FORMES NORMALES
Deuxième forme normale
Les attributs non clé dépendent de toute la clé et non d'une partie de la clé

Commande(ID_fournisseur, refArticle, raisonSocialeFournisseur,


adresseFournisseur, quantité, prix)
→ Fournisseur(ID_fournisseur, raisonSociale, adresse)
Commande(ID_commande, ID_fournisseur, refArticle, quantité, prix)

Pour qu'une table soit en 2NF, il faut que:


 La table soit en première forme normale

 Tous les attributs non clés de la table doivent être


22
fonctionnellement dépendants de la clé primaire entière
RAPPEL - FORMES NORMALES
Troisième forme normale
Chaque attribut de la relation ne dépend que de la clé et pas d'un autre
attribut de la relation

Employe(ID_Employe, nomEmploye, posteEmploye, ID_service,


nomService)
→ Employe(ID_Employe, nomEmploye, posteEmploye, ID_service)
→ Service (ID_service, nomService)

Pour qu'une table soit en 3NF, il faut que:


 La table soit en deuxième forme normale
 Aucun attribut ne dépend de manière transitoire de la clé
23
primaire
SCHÉMA SNOWFLAKE
Jour Magasin
Clé jour Clé magasin Commune

Date jour ID magasin Clé commune


Type magasin ID commune
Vente
Nom magasin Nom commune
Période Clé période
Clé client
Clé période
Clé produit
ID période Clé magasin
Date Produit
Quantité
Chiffre Clé produit Marque
d’affaires
ID produit Clé marque
Semaine
Nom produit
Clé semaine ID marque
Groupe
Nom marque
Date semaine Unité
Conditionneme 24
nt
SCHÉMA SNOWFLAKE
 Le schéma snowflake (en flocon) est dérivé du schéma en étoile où
les tables de dimensions sont normalisées
 La table des faits reste inchangée

 Les dimensions sont décomposées selon sa (ou ses) hiérarchie(s)

l'amélioration des performances de


requête en raison de la réduction du
stockage sur disque et de l'assemblage
des tables

des efforts de maintenance


supplémentaires nécessaires en raison
de l'augmentation du nombre de tables
de recherche. 25
SCHÉMA SNOWFLAKE

Modèle en flocons de neige


=
Modèle en étoile + normalisation des
dimensions

26
SCHÉMA EN CONSTELLATION
 fusionne plusieurs modèles en étoile qui utilisent des dimensions
communes
 contient plusieurs table de faits et des dimensions communes ou
pas

27
SCHÉMA EN CONSTELLATION

Fait Livraison Dimension


Clé période Fournisseur
Clé produit
Clé fournisseur
Quantité
Volume
Dimension Dimension
Période Produit
Fait Vente
Clé période
Clé client
Clé produit
Dimension Clé magasin Dimension
Magasin Quantité Client
Chiffre d’affaires 28
CONCEPTION ET RÉALISATION
D’UN DATAWAREHOUSE

3ème ACI- Option GDC Pr. HILAL IMANE

2020/2021
CHAPITRE 4 : ANALYSE MULTIDIMENSIONNELLE
DES DONNÉES OLAP

2
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

3
OLAP
OLAP
OnLine Analytical Processing

OLAP effectue une analyse multidimensionnelle des données


métier et fournit la possibilité pour les calculs complexes, l'analyse
des tendances et la modélisation des données.

4
OLAP
Les systèmes OLAP doivent :

 Supporter les exigences complexes des décideurs en termes


d'analyse,
 Analyser les données à partir de différentes perspectives
(dimensions métiers)
 Supporter les analyses complexes impliquant des ensembles de
données volumineux.

5
OLAP VS OLTP

OLTP - On-Line Transaction Processing

•Technologie utilisée pour effectuer les mises à jour


sur les systèmes opérationnels ou transactionnels

OLAP - On-Line Analytical Processing

•Technologie utilisée pour effectuer des analyses


complexes des données dans un entrepôt de
données 6
IMPLÉMENTATION OLAP
MOLAP (Multidimensional OLAP)
MOLAP est la façon la plus courante de l'analyse OLAP. Dans
MOLAP, les données sont stockées dans un cube multidimensionnel.
MOLAP est souvent utilisé dans le cadre d'une application
datawarehouse.

ROLAP (Relational OLAP)


Les données multidimensionnelles sont stockées dans une base de
données relationnelle standard.
Elles sont organisées en schémas en forme d'étoiles ou de flocon
7
IMPLÉMENTATION OLAP
HOLAP (Hybrid OLAP)
HOLAP combine les meilleures caractéristiques de MOLAP et
ROLAP dans une architecture unique.
HOLAP tente de combler le fossé technologique des deux produits
en permettant l'accès ou l'utilisation à la fois des base de données
multidimensionnelle et des bases de données de datawarehouse
relationnelles.

8
DONNÉE MULTIDIMENSIONNELLE

Dimensi
on Date Mesure

Vente

La somme des
ventes en

Région
fonction du
produit, de la
date, et la
région

9
MESURES ET DIMENSIONS
Mesure JAN FE MAR AVR MAI
Mazda V
Stockée dans les tables de faits BMW
Fiat
Exemple: Montant des ventes Renault
Vente Rabat
Dimension
Stockée dans les tables de dimensions Tanger
Exemple: Produit, Date, Géographie
Oujda

Marrakech

10
DIMENSIONS
Une dimension contient des attributs, des hiérarchies, et des
membres

Attribut
Une colonne de la table
Membre
La valeur réelle des données dans un attribut.
Hiérarchie
Les hiérarchies sont représentées par des relations de groupement

11
CUBE OLAP
Un cube OLAP multidimensionnel est un hyper-cube où:
 Les axes ou dimensions sont définies par l'utilisateur

 Les points dans l'espace (cellules) contiennent des mesures


calculées à partir de formules plus ou moins complexes.
 Les opérateurs sur le cube sont algébriques (retournent un cube)
et peuvent ainsi être combinés

Mesure
Dimension

12
Dimension
CUBE VS SCHÉMA EN ÉTOILE Région

Dimension Fait Vente


Date Date
Clé date
Clé produit
Clé région

Région
Dimension

Quantité
Chiffre
d’affaires
Dimension
Produit

13
OPÉRATIONS OLAP - ROTATE
Rotate
Rotation des axes du cube pour fournir une vue alternative des données
(Produit , Date) ➔ (Région , Produit)

MAZDA BMW RABAT TANGER


JAN 200 86 MAZDA 102 21
FEV 178 90 BMW 35 14

14
OPÉRATIONS OLAP - ROLL UP / DRILL DOWN
Roll-up
 Remonter dans la hiérarchie de la dimension Semaine ➔ Mois

Drill-down
 Descendre dans la hiérarchie de la dimension Mois ➔ Semaine

15
OPÉRATIONS OLAP - SLICE
Slicing
• Extraction d’une tranche d’informations : Sélection d’une dimension pour
passer a un sous-cube

MAZDA BMW MAZDA


JAN 200 86 JAN 200
FEV 178 90 FEV 178

16
OPÉRATIONS OLAP - DICE
Dice
Extraction d’un bloc de données : Sélection de deux ou plusieurs dimensions

17
LANGAGE MDX
 Le langage de requête d'un cube s'appelle le MultiDimensional
eXpressions Language (MDX).

 MDX a été adopté par une grande majorité de fournisseurs OLAP


et est devenu la norme pour les systèmes OLAP

18
LANGAGE MDX – SYNTAXE

SELECT
{ [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON
COLUMNS,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] }
ON ROWS Requête MDX
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] ) Clause FROM : Sélectionne un cube
Clause SELECT : Définit les axes
Clause WHERE : Définit un slice
19
CONCEPTION ET RÉALISATION
D’UN DATAWAREHOUSE

3ème ACI- Option GDC Pr. HILAL IMANE

2020/2021
CHAPITRE 5: RESTITUTION DES DONNÉES

REPORTING

2
ARCHITECTURE
Metadata
Repository
Analyse
Data
Warehouse
OLAP
Données semi
structurées Reporting
Extraction
Transformation
Load

Data Mining
Base de données
opérationnelles

Data Marts

3
KEY PERFORMANCE INDICATORS - KPI
 Les indicateurs clés de performance (KPI) définissent un ensemble
de chiffres clés utilisés pour mesurer par rapport à une cible, à un
benchmark ou à une date.

 Les indicateurs de performance clés sont utilisés en Business


Intelligence pour évaluer l’état actuel de l’activité, évaluer la
performance stratégique et prescrire un plan d’action.

4
TABLEAU DE BORD

Un tableaux de bord fournit des affichages visuels d'informations


importantes consolidées et organisées sur un seul écran, de sorte
que les informations puissent être visualisées d'un seul coup d'œil et
facilement explorées.

5
TABLEAU DE BORD
Un tableau de bord:

 Utilise des composants visuels (graphiques, barres de performance,


jauges, compteurs, …) pour mettre en évidence, en un coup d'œil, les
données et les exceptions qui nécessitent une intervention
 Est transparent pour l'utilisateur, ce qui signifie qu'il nécessite une
formation minimale et qu'il est extrêmement facile à utiliser
 Combine les données de divers systèmes en une vue unique,
résumée et unifiée de l'entreprise
 Activer l'analyse ou l'accès au détail aux sources de données sous-
jacentes ou aux rapports
 Présente une vue dynamique du monde réel avec des mises à jour de
données rapides 6
TABLEAU DE BORD

7
DATA WAREHOUSE ET BIG DATA (DATA LAKE)
 Data Lake est une banque de stockage servant à contenir une immense
quantité de données brutes dans leur format d’origine jusqu’à ce que
l’entreprise en ait besoin.
Data lake Data warehouse
Structure des données Brutes Traitées/transformées
Objet des données À déterminer En service
Utilisateurs Data scientists Spécialistes
Accès facile, mises à jour Modifications plus complexes
Accessibilité
rapides et plus coûteuses

8
DATA WAREHOUSE ET CLOUD COMPUTING
 le SGBD n’est pas installé sur me serveur local.

 L’utilisateur y accède via internet.

 « Data Warehouse en tant que Service », de la famille des XaaS.

 L’utilisateur n’a pas besoin de disposer d’un SGBD ou de matériel dédié en


local.

 Les leaders du marché des Data Warehouses cloud sont Microsoft, Amazon
9
et IBM.
SECTEURS D’APPLICATIONS
Banque & Assurance
• Profiling des Clients
Commerce
• Ciblage des clients
• Promotions
Santé
• Epidémiologie
Ressources Humaines
• Gestion et affections des profils
Télécommunication
• Analyse des appels
Transport 10

• Gestion de la logistique
OUTILS BI

11
OUTILS BI

12
FIN COURS DATA WAREHOUSE
13
TD : Conception d’un Data warehouse

Exercice 1 :

Un opérateur Télécom propose à ses abonnés un boiter routeur ADSL qui groupe un accès à
Internet, le téléphone et un bouquet de chaînes de télévision interactives. Nous ne nous
intéresserons qu’à cette dernière fonction dans notre Datawarehouse (DW).
Les chaînes de télévision proposées par cet opérateur dans son bouquet sont des chaînes
nationales et des chaînes à péage. Le téléspectateur peut réagir (interactivement) de plusieurs
manières aux émissions et aux publicités qu’il reçoit au moyen de sa télécommande:
- A tout moment, il peut zapper vers une autre chaîne
- A tout moment, il peut éteindre son poste
- Pendant une publicité, il peut zapper à la pub suivante sans attendre la fin de la publicité en
cours.
- Pendant une publicité, il peut demander plus d’information sur le produit présenté.
Le DW est centré sur les actions du téléspectateur. L’objectif de ce DW est de profiler au plus
précis le foyer (ou plutôt le téléspectateur qui détient la télécommande) afin de maximiser la
demande d’information sur les produits présentés par les publicités. En effet, l’opérateur
perçoit plus d’argent de la part de l’annonceur quand le spectateur demande plus
d’information au moment au l’annonce est passée. Le schéma de ce DW est constitué des
tables suivantes (les clés primaires sont soulignées)
Date (CléDate, Année, Mois, JourDeMois, JourDeSemaine, TrancheHoraire, Heure, Minute)
Foyer (CléFoyer, NomAbonné, AnnéeNaissanceAbonné, Région, Département, District,
Ville,Quartier, SituationFamille, RevenuFoyer, NombreAdulte, NombreEnfant)
Emission (CléEmission, Chaîne, DateDébut, DuréeSeconde, TypeEmission, Catégorie,
Annonceur)
Action (CléDate, CléFoyer, CléEmission, DuréeAction, DuréeRestante)
1. Quelle est la table de fait dans ce DW ? Justifiez votre réponse.
2. La granularité de la table de faits.
3. Quelles sont les dimensions et les indicateurs de ce DW?
4. Donner le schéma en étoile de ce DW.
5. Normaliser les Dimensions du schéma en étoile précédent.

Exercice 2 :

Un distributeur (grossiste) approvisionne plusieurs magasins en produits, en effectuant au plus


une livraison par jour et par magasin. Les informations qui figurent sur chaque bon de
livraison sont les suivantes : le numéro du bon de livraison, la date de livraison, la référence
du magasin, et pour chaque type de produit livré sa référence et la quantité livrée (le nombre
d’articles). Ces informations sont stockées chez le distributeur, et accumulées pendant des
longues périodes afin de les analyser pour améliorer le service de distribution.
Les analyses se font suivant plusieurs axes, et à plusieurs niveaux, en analysant les
mouvements des produits par jour et par mois, par ville et par région, par fournisseur et par
catégorie de produit.

3ACI GDC 2020/2021


On supposera qu’un fournisseur peut fournir au distributeur des produits dans plusieurs
catégories et qu’une catégorie de produit peut être fournie par plusieurs fournisseurs.
Définir le schéma dimensionnel du Datawarehouse permettant d’analyser la quantité livrée
par ville et catégorie de produits, en faisant apparaître clairement les dimensions et les
indicateurs.

Exercice 3 :

Une université cherche à étudier les facteurs influant sur la réussite de ses étudiants aux
examens.
Pour cela elle décide de construire un Datawarehouse.
Elle souhaite pouvoir répondre aux questions suivantes:
- Quel est le nombre de réussites aux examens par cours, pour l’année 2010?
- Quel est le nombre de réussites aux examens d’un cours obligatoire, pour l’année 2010?
- Quel est le nombre de réussites aux examens par sexe (féminin, masculin), pour l’année
2010?
- Combien d’étudiants ayant un âge de 22 ans ont réussi leurs examens de base de données
relationnelle?
- Quel est le nombre de réussites aux examens pendant le semestre d’hiver 2009?
Pour cela elle dispose des données suivantes: Pour chaque examen passé, on connaît l’âge et
le sexe de l’étudiant, le nom du cours (les cours peuvent être regroupés en cours obligatoire et
cours à option), la date de l’examen, la note obtenue et si l’examen est réussi ou non.

Proposez un modèle en étoile pour cette application. Recherchez tout d’abord les différentes
dimensions et proposez une hiérarchie pour ces dimensions.

Exercice 4 :

Une compagnie d’assurance de biens (automobile, immobilier, responsabilité civile) possède une application
transactionnelle de production permet de gérer les polices (contrats) de ses clients ainsi que les sinistres
(accidents) déclarés par ces clients.
Gestion des polices
Pour gérer les polices, les agents d’assurance peuvent effectuer les transactions suivantes :
- Créer, mettre à jour ou supprimer une police d’assurance
• Créer, mettre à jour ou supprimer un risque (pour une police donnée)
• Créer, mettre à jour ou supprimer des biens assurés (voiture, maison) sur un risque
• Chiffrer ou refuser le risque
• Valider ou refuser la police
On enregistre dans ces transactions un grand nombre d’informations, et notamment : date d’écriture (date de la
transaction), date d’effet (date de début d’assurance), client (personne(s) privée(s), personne morale), opérateur
(employé, agent: chiffrage, vérificateur : validation), risque (produit vendu par la compagnie d’assurance),
couverture (description des biens assurés), police (numéro de police, « note » de la police ou du risque,…) ,
transaction (code transaction).
Gestion des sinistres
Pour gérer les sinistres déclarés par les clients, les agents d’assurance ont à leur disposition les transactions
suivantes :
• Créer, mettre à jour ou supprimer une déclaration de sinistre
• Créer, mettre à jour ou supprimer une expertise
• Créer, mettre à jour ou supprimer des paiements
• Clore le sinistre

3ACI GDC 2020/2021


Ces transactions comportent notamment : date d’écriture (date de la transaction), date d’effet (date de
déclaration), client, opérateur, risque, biens sinistrés, police, les tiers impliqués dans le sinistre, les montants
financiers (limites, déjà payé, reste à payer, …), code transaction.
Conception
A partir de cette application transactionnelle, on veut créer un Datawarehouse permettant de répondre aux
questions suivantes :
- Pour chaque bien assuré, on veut connaître le montant de la prime (somme annuelle payée par le client pour
assurer le bien) associée au bien assuré, et le nombre de transactions du mois pour ce bien.
- De même on veut pouvoir sortir des tableaux de bord par sinistre avec le total payé dans le mois et le total reçu
dans le mois pour ce sinistre.
1. Faire le schéma en étoile d’un Datamart « Police » ne prenant pas en compte les sinistres.
2. De même, faire le schéma en étoile d’un Datamart « Sinistre ».
3. Faire un seul Datawarehouse de ces deux Datamarts.
Exercice 5 :

Une banque distribue une carte de paiement « carte de crédit » à ses clients. Elle décide de réaliser un
Datawarehouse (DW) afin de faire le suivi des paiements suivants effectués avec la carte : a. Voyages
en avion, b. Locations de voiture, c. Hôtellerie.
Elle veut faire un suivi indépendant de chacun des paiements a, b ou c, mais aussi avoir la possibilité
d’un suivi global.
A chaque déplacement en avion, la compagnie aérienne lui envoie un fichier contenant les éléments
suivants: identification de la carte de paiement, coordonnées du client et de la compagnie aérienne;
ville de départ, ville d’arrivée, n° du vol, date du vol, n° du billet, classe du siège, distance parcourue,
date d’achat et prix payé.
Les loueurs de véhicule transmettent après chaque location: identification de la carte de paiement,
coordonnées du client et de la société de location de véhicules, catégorie du véhicule, date de début de
location, date de fin de location, nombre de jours, distance parcourue, date de réservation et prix payé.
L’hôtel transmet à chaque séjour: identification de la carte de paiement, coordonnées du client et de
l’hôtel, catégorie de chambre, date de début de séjour, date de fin de séjour, nombre de nuitées, date de
réservation, prix de l’hébergement et prix de la restauration.

1. Un premier DW ne concerne que les déplacements en avion. Etablir le modèle dimensionnel. Faire
clairement apparaître les dimensions et les indicateurs. Ce DW doit permettre de répondre aux
questions suivantes : quel est le chiffre d’affaires (CA) par client, par date de voyage (et par mois,
trimestre et année), par compagnie aérienne, par ville de destination?

2. De même, établir deux autres modèles dimensionnels, l’un pour les locations de voiture, l’autre
pour l’hôtellerie. Dans le cas de la location de voiture, on souhaite éditer le CA, le nombre de jours de
location, et le kilométrage pour chaque: client, date de réservation, ville, loueur, et catégorie de
véhicule. Dans le cas de l’hôtellerie, on veut des tableaux de bord par client, hôtel, ville, date de début
de séjour, catégorie de chambre, faisant apparaître le nombre de nuitées, le prix total payé.

3. On veut maintenant regrouper ces trois DW en un seul, afin de répondre aux questions
supplémentaires suivantes : Quel est le CA total induit par un déplacement en avion ? Quelle est la
durée du séjour ? Quel est le CA en location de voiture ? En hôtellerie ? On désire ici pouvoir éditer
les détails de CA par période de temps et par client, ville de destination, ville de location (si
différente), ville d’hébergement (si différente), compagnie aérienne, loueur et hôtelier, et faire tous les
regroupements utiles. Figurer le modèle dimensionnel d’un tel DW, en faisant clairement apparaître
les dimensions et les indicateurs.

3ACI GDC 2020/2021


3ACI Option GDC 2020/2021

TP1 Installation et Exploration

I. Installation
1. Téléchargement et configuration de l’outils
Vous pouvez utiliser presque n'importe quelle édition de SQL Server, Vous pouvez installer
une version d'essai de SQL Server 2012 que vous pouvez utiliser pendant 180 jours disponible
dans le lien suivant :
https://www.microsoft.com/fr-ma/download/details.aspx?id=35575
Remarque : Merci de bien lire les informations de l’installation figurant dans le lien ci-dessus
pour ne pas avoir des problèmes d’installation.
Sélectionner les fichiers d’installation propres à la configuration de votre PC, x64 pour les
Ordinateurs 64 bits et x86 pour les ordinateurs 32 bits.
Lorsque vous êtes dans la boîte de dialogue de sélection des fonctionnalités du programme
d'installation de SQL Server 2012, choisir obligatoirement lors de l’installation les éléments
suivants :
-- Database Engine Services
-- Analysis services
-- Documentation Components
-- Management Tools - Basic
-- Management Tools – Complete
-- SQL Server Data Tools
Vous devez accéder à une instance de SQL Server 2012 avec une ouverture de session disposant
des autorisations pour créer de nouvelles bases de données, de préférence un qui est un membre
du rôle sysadmin.

Remarque :
La raison derrière le choix de Microsoft Sql Server 2012 est qu’il est stable par rapport à la
plupart des étudiants qui ont des machines moyennes en termes de performance. L’objectif du
TP est de pratiquer les notions théoriques du cours, ainsi la consommation des ressources
(Processeur, RAM,..) peut augmenter surtout lors de l’alimentation du DW (on va alimenter des
dizaines de milles de lignes dans l’entrepôt de données vers la fin des TPs).
Pour ceux qui ont des machines suffisamment performantes, vous pouvez exécuter presque les
mêmes TPs avec la version SQL Server 2019, il suffit de bien installer les éléments cités ci-
dessus.

1
3ACI Option GDC 2020/2021

2. Exigences de Données
Les exigences minimales de données pour réaliser les TP sont les suivants :
AdventureWorks : La suite des TPs utilise les données de traitement transactionnel en ligne
(OLTP) AdventureWorks, qui prend en charge les scénarios de traitement des transactions en
ligne standard pour un fabricant de bicyclettes fictif (Adventure Works Cycles), ainsi que la
base de données datawarehouse AdventureWorks (DW), qui montre comment construire un
entrepôt de données.
Vous devez télécharger les deux bases de données pour SQL Server 2012 AdventureWorks2012
(OLTP) et AdventureWorksDW2012 (data warehouse) sous l’extension mdf.
https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks2012

Remarque : Pour ceux qui ont installé SQL Server 2019 vous téléchargez
adventureworks2019.

II. Exploration de AdventureWorks Data


warehouse
La base de données AdventureWorksDW2012 est un bon exemple d'un datawarehouse. Elle
possède tous les éléments nécessaires pour vous permettre de voir des exemples de divers types
de modélisation dimensionnelle

1. Installation du jeu de données


Le datawarehouse utilise les données transactionnelles que vous importez à partir d'un système
de gestion de base de données relationnelle. Pour les besoins de ce TP, vous allez utiliser la
base de données relationnelle suivante en tant que source de données.
AdventureWorksDW2012 - Il s'agit d'un entrepôt de données relationnel qui s'exécute sur une
instance du Database Engine. Il fournit les données d'origine qui seront utilisés par les bases de
données.
Pour installer cette base de données, procéder comme suit :
1. Télécharger la base de données AdventureWorkDW2012
2. Copier le fichier AdventureWorksDW2012_Data.mdf dans le répertoire de données de
l'instance locale du Database Engine de SQL Server. Par défaut, il se trouve dans C:\Program
Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data.
3. Démarrer SQL Server Management Studio (SSMS) et se connecter à l'instance du Database
Engine.
4. Cliquer-droit sur Bases de données, cliquer sur Joindre.
5. Cliquer sur Ajouter.

2
3ACI Option GDC 2020/2021

6. Sélectionner le fichier de base de données AdventureWorksDW2012_Data.mdf et cliquer sur


OK. Si le fichier n'est pas répertorié, consulter le dossier C:\Program Files\Microsoft SQL
Server\MSSQL11.MSSQLSERVER\MSSQL\Data pour être sûr que le fichier est là.
7. Dans les détails de la base de données, supprimer l'entrée du fichier journal. Le programme
d'installation suppose que vous avez un fichier journal, mais il n'y a aucun fichier journal dans
l'échantillon. Un nouveau fichier journal sera créé automatiquement lorsque vous attachez la
base de données. Sélectionner le fichier journal, cliquez sur Supprimer et puis cliquer sur OK.

2. Explorer le schéma de la base AdventureWorksDW2012

1. Lancer SSMS et se connecter à votre instance de SQL Server. Développez le dossier Bases
de données, puis la base de données AdventureWorksDW2012.
2. Cliquer-droit sur le dossier diagrammes de base de données et sélectionnez l'option Nouveau
schéma de base de données.
3. Dans la liste Ajouter une table, sélectionner les tables suivantes (cliquer sur chaque table et
puis cliquer sur le bouton Ajouter) :
-- DimCustomer
-- DimDate
-- DimGeography
-- DimProduct
-- DimProductCategory
-- DimProductSubcategory
-- FactInternetSales

4. Analyser soigneusement les tables, les colonnes et les relations.


5. Enregistrer le diagramme avec le nom DW_02_01_InternetSales.

3. Analyser le diagramme
Examiner le schéma AdventureWorksDW2012 pour constater les faits suivants :
-- La table de dimension DimDate n'a pas de tables Lookup supplémentaires qui lui sont
associés et utilise donc schéma en étoile.
-- La table de dimension de DimProduct est snowflaked ; elle utilise la table lookup
DimProductSubcategory, qui utilise encore la table lookup DimProductCategory.
-- La table de dimension DimCustomer utilise un schéma hybride. le premier niveau du schéma
est en snowflake seulement à travers la table lookup DimGeography. La table DimGeography
est dénormalisée.

3
3ACI Option GDC 2020/2021

4. Exploration des dimensions d’AdventureWorksDW2012


La base de données exemple AdventureWorksDW2012 possède plusieurs dimensions. Dans ce
TP, vous explorerez certaines d'entre elles.
1. Cliquer-droit sur le dossier diagrammes de base de données et sélectionnez l'option Nouveau
schéma de base de données.

2. Dans la liste Ajouter une table, sélectionner les tables suivantes (cliquer sur chaque table et
puis cliquer sur le bouton Ajouter) :
-- DimProduct
-- DimProductCategory
-- DimProductSubcategory

4. Essayer de trouver les colonnes utilisées dans les buts suivants : clés , noms , attributs
5. Ajouter la table DimSalesReason au schéma
6. Analyser soigneusement les tables, les colonnes et les relations.
7. Enregistrer le diagramme avec le nom DW_02_02_InternetSales.

5. Exploration des tables de faits d’AdventureWorksDW2012


La base de données exemple AdventureWorksDW2012 possède de nombreuses tables de faits
ainsi, afin de montrer toutes les mesures possibles. Dans ce TP, vous allez examiner l'une d'elle.
1. Cliquer-droit sur le dossier diagrammes de base de données et sélectionnez l'option Nouveau
schéma de base de données.
2. Dans la liste Ajouter une table, sélectionner les tables suivantes (cliquer sur chaque table et
puis cliquer sur le bouton Ajouter) :
-- DimProduct
-- DimDate
-- FactProductInventory
3. Analyser soigneusement les tables, les colonnes et les relations.
4. Enregistrer le diagramme avec le nom DW_02_03_InternetSales.

4
3ACI GDC 2020/2021

TP2 : Création du Datawarehouse


Dans ce TP, vous allez mettre en place un datawarehouse. Pour cela, vous allez créer un datawarehouse
allégé LightAdventureWorksDW qui constitue une version réduite et simplifiée du datawarehouse
exemple AdventureWorksDW2012 du TP précédent.

I. Création de la Base de données


1. Lancer SSMS et se connecter à votre instance de SQL Server. Ouvrir une nouvelle fenêtre de requête
en cliquant sur le bouton Nouvelle requête.

2. Créer le dossier C:\DW\

3. D'après le contexte de la base de données master, créer une nouvelle base de données appelée
LightAdventureWorksDW.

4. La base de données doit avoir les propriétés suivantes :

-- Il devrait y avoir un fichier de données unique et un seul fichier journal dans le dossier de
LightAdventureWorksDW. Vous pouvez créer ce dossier dans n'importe quel lecteur.

-- Le fichier de données doit avoir une taille initiale de 300 Mo et avoir l’autogrowth permis en morceaux
de 10 Mo.

-- La taille du fichier journal doit être de 50 Mo, avec 10% des morceaux de croissance automatique.

II. Création des dimensions


1. Créer la dimension « Customers ». Ajouter une colonne clé de substitution appelé CustomerKey,
et de créer une contrainte de clé primaire sur cette colonne. Utilisez le tableau suivant pour les
informations nécessaires pour définir les colonnes de la table et remplir la table.

1
3ACI GDC 2020/2021

2. Créer la dimension « Produits ». La source de cette dimension est la dimension DimProducts de


la base de données exemple AdventureWorksDW2012. Utilisez le tableau suivant pour les
informations nécessaires pour définir les colonnes de la table et remplir la table.

3. Créer la dimension « Dates ». Utilisez le tableau suivant pour les informations nécessaires pour
définir les colonnes de la table et remplir la table.

2
3ACI GDC 2020/2021

III Création de la table de faits


Dans cet exemple simplifié d'un véritable entrepôt de données, vous allez créer une seule table de faits.

1. Créer la table de faits InternetSales. Ajouter les clés étrangères des trois dimensions créées dans
les étapes précédentes. Ajouter une colonne integer en utilisant la propriété IDENTITY, et
l'utiliser comme clé primaire. Utilisez le tableau suivant pour les informations nécessaires pour
définir les colonnes de la table et remplir la table.

2. Modifier la table de faits InternetSales pour ajouter des contraintes de clés étrangères des
relations avec les trois dimensions.
3. Créer un schéma de base de données, Le nommer InternetSalesDW et l'enregistrer.

3
3ACI Option GDC 2020/2021

TP3 : Création du processus ETL de la


dimension Product
Dans ce TP, vous allez créer un package ETL simple qui extrait des données à partir de la base de
données relationnelle AdventureWorks2012, et charge les données dans la dimension Product
dudatawarehouse LightAdventureWorksDW déjà crée en TP2.

Étape 1 : Création d'un nouveau projet Integration Services

La première étape dans la création d'un package dans Integration Services est de créer un projet
Integration Services.
1. Ouvrir SQL Server Data Tools
2. Dans le menu Fichier, pointer sur Nouveau et cliquer sur Projet pour créer un nouveau projet
Integration Services.
3. Dans la boîte de dialogue Nouveau projet, sélectionner Projet Integration Services dans le volet
Modèles.
4. Dans la zone Nom, remplacer le nom par défaut pour SimpleETLDBSSIS.
5. Cliquer sur OK.
6. Par défaut, un package vide, intitulé Package.dtsx, est créé et ajouté à votre projet.
7. Dans la barre d'outils Explorateur de solutions, cliquer droit sur Package.dtsx, cliquer sur Renommer
et renommer le package par défaut en SimpleETLDB.dtsx.

Étape 2 : Ajout et configuration du gestionnaire de connexions OLE DB


source (OLTP)

Dans cette étape, vous ajoutez un gestionnaire de connexions de fichiers au package que vous venez de
créer. Un gestionnaire de connexions OLE DB permet à un package d'extraire ou de charger des données
à partir d’une source de données OLE DB conforme. En utilisant le gestionnaire de connexions OLE
DB, vous pouvez spécifier le serveur, la méthode d'authentification, et la base de données par défaut de
la connexion.
Dans cette étape, vous allez créer un gestionnaire de connexions OLE DB qui utilise l'authentification
Windows pour se connecter à l'instance locale d’AdventureWorks2012 (Non pas Datawarehouse).
Le gestionnaire de connexions OLE DB que vous créez sera également référencé par d'autres
composants que vous allez créer plus tard dans ce TP.
Pour ajouter et configurer un gestionnaire de connexions OLE DB
1. Cliquer-droit n'importe où dans la zone Gestionnaires de connexion, puis cliquer sur Nouvelle
connexion OLE DB.
2. Dans la boîte de dialogue Configurer le gestionnaire de connexion OLE DB, cliquer sur Nouveau.
3. Pour le nom du serveur, entrer localhost.
4. Vérifier que l'option Utiliser l'authentification Windows est sélectionnée.
5. Dans le connecter à un groupe de base de données, dans la zone Sélectionner ou entrer un nom de
base de données, taper ou sélectionner AdventureWorks2012.
6. Cliquer sur Tester la connexion pour vérifier que les paramètres de connexion que vous avez
spécifiées sont valides.
7. Cliquez sur OK.
8. Cliquez sur OK.

1
3ACI Option GDC 2020/2021

9. Dans le volet Connexions de données de la boîte de dialogue Configurer le gestionnaire de connexion


OLE DB, vérifier que localhost.AdventureWorks2012 est sélectionné.
10. Cliquez sur OK

Étape 3 : Ajout et configuration du gestionnaire de connexions OLE DB


destination (DW)

Après avoir ajouté un gestionnaire de connexions pour se connecter à la source de données, la tâche
suivante consiste à ajouter un gestionnaire de connexions OLE DB pour se connecter à la destination.
Un gestionnaire de connexions OLE DB permet à un package d'extraire ou de charger des données à
partir d’une source de données OLE DB conforme. En utilisant le gestionnaire de connexions OLE DB,
vous pouvez spécifier le serveur, la méthode d'authentification, et la base de données par défaut de la
connexion.
Dans cette étape, vous allez créer un gestionnaire de connexions OLE DB qui utilise l'authentification
Windows pour se connecter à l'instance locale de LightAdventureWorksDW. Le gestionnaire de
connexions OLE DB que vous créez sera également référencé par d'autres composants que vous allez
créer plus tard dans ce TP.
Pour ajouter et configurer un gestionnaire de connexions OLE DB
11. Cliquer-droit n'importe où dans la zone Gestionnaires de connexion, puis cliquer sur Nouvelle
connexion OLE DB.
12. Dans la boîte de dialogue Configurer le gestionnaire de connexion OLE DB, cliquer sur Nouveau.
13. Pour le nom du serveur, entrer localhost.
14. Vérifier que l'option Utiliser l'authentification Windows est sélectionnée.
15. Dans le connecter à un groupe de base de données, dans la zone Sélectionner ou entrer un nom de
base de données, taper ou sélectionner LightAdventureWorksDW.
16. Cliquer sur Tester la connexion pour vérifier que les paramètres de connexion que vous avez
spécifiées sont valides.
17. Cliquez sur OK.
18. Cliquez sur OK.
19. Dans le volet Connexions de données de la boîte de dialogue Configurer le gestionnaire de connexion
OLE DB, vérifier que localhost. LightAdventureWorksDW est sélectionné.
20. Cliquez sur OK

Étape 4 : Ajout d'une tâche de flux de données au package

Après avoir créé les gestionnaires de connexions pour les données source et destination, la tâche suivante
consiste à ajouter une tâche de flux de données à votre package. La tâche de flux de données encapsule
le moteur de flux de données qui se déplace entre les données sources et destinations, et fournit la
fonctionnalité pour la transformation, le nettoyage et la modification des données pendant leur
déplacement. La tâche de flux de données est où la plupart des tâches d'extraction, de transformation et
de chargement (ETL) se produisent.

2
3ACI Option GDC 2020/2021

Pour ajouter une tâche de flux de données


1. Cliquer sur l'onglet Flux de contrôle.
2. Dans la boîte à outils, glisser une Tâche de flux de données sur la surface de dessin de l'onglet Flux
de contrôle.
3. Cliquer-droit sur la tâche de flux de données nouvellement ajouté, cliquez sur Renommer et modifier
le nom à Product Data Flow.

Étape 5 : Ajout et configuration de la source OLE DB

Dans cette étape, vous allez ajouter et configurer le fichier source de votre package. Un fichier source
est un composant de flux de données qui utilise les métadonnées définies par un gestionnaire de
connexions de fichiers pour spécifier le format et la structure des données à extraire du fichier par un
processus de transformation.
Pour ce TP, vous allez configurer le fichier source pour utiliser le gestionnaire de connexions de fichiers
que vous avez créé précédemment.
Pour ajouter et configurer la source OLE DB
1. Ouvrir le concepteur de flux de données, soit en double-cliquant sur la tâche de flux de données
Product Data Flow ou en cliquant sur l'onglet Flux de données.
2. Dans la boîte à outils, glisser une source OLE DB sur la surface de dessin de l'onglet Flux de données.
3. Cliquer-droit sur la source de données nouvellement ajoutée, cliquer sur Renommer et modifier le
nom en Extract Product Data.
4. Double-cliquer sur Extract Product Data.
5. Dans la boîte de dialogue Éditeur de source OLE DB, veiller à ce que localhost.AdventureWorks2012
est sélectionné dans la boîte de gestionnaire de connexions OLE DB.
6. Dans le Mode d’accès aux données, sélectionner Commande SQL
7. Taper ou copier l'instruction SQL suivante :
(Dans le rapport expliquer le fonctionnement des jointures cette requête)

SELECT pro.ProductID, pro.Name, pro.Color, pro.[Size], sub.Name AS


SubcategoryName, cat.Name AS CategoryName FROM Production.Product AS pro
INNER JOIN Production.ProductSubcategory AS sub
ON pro.ProductSubcategoryID = sub.ProductSubcategoryID INNER JOIN
Production.ProductCategory AS cat ON sub.ProductCategoryID =
cat.ProductCategoryID

8. Cliquer sur Colonnes et vérifier que les noms des colonnes sont corrects.
9. Cliquer sur OK.

3
3ACI Option GDC 2020/2021

Étape 6 : Ajout d'une transformation simple (tâche de tri)


Après avoir créé les gestionnaires de connexions pour les données source et destination, la tâche suivante
consiste à ajouter une tâche de tri à votre package.
Pour ajouter une tâche de tri
1. Cliquer sur l'onglet Flux de données.
2. Dans la boîte à outils, glisser une tâche Trier sur la surface de dessin de l'onglet Flux de contrôle.
3. Cliquer sur Extract Sample Data Source et glisser la flèche bleue sur la tâche nouvellement ajoutée
pour relier les deux composants.
4. Cliquer-droit sur la tâche de flux de données nouvellement ajouté, cliquez sur Renommer et modifier
le nom à Sort Data.
5. Trier par ProductID.

Étape 7 : Ajout et configuration la destination OLE DB


Votre package peut maintenant extraire des données à partir du fichier source et transformer ces données
dans un format qui est compatible avec la destination. L’étape suivante consiste à charger effectivement
les données transformées dans la destination. Pour charger les données, vous devez ajouter une
destination OLE DB pour le flux de données. La destination OLE DB peut utiliser une table de base de
données, une vue ou une commande SQL pour charger des données les bases de données.
Dans ce TP, vous ajoutez et configurez une destination OLE DB à utiliser le gestionnaire de connexions
OLE DB que vous avez créé précédemment.
Pour ajouter et configurer la destination OLE DB
1. Dans la boîte à outils SSIS, glisser destination OLE DB sur la surface de dessin de l'onglet Flux de
données. Placer la destination OLE DB directement en dessous de la transformation Sort Data.
2. Cliquer sur Sort Data et glisser la flèche bleu sur la transformation de recherche nouvellement ajoutée
pour relier les deux composants.
3. Renommer le composant de destination en Load Product Data.
4. Double-cliquer sur Load Product Data.
5. Dans la boîte de dialogue Éditeur de destination OLE DB, veiller à ce que
localhost.LightAdventureWorksDW est sélectionné dans la boîte de gestionnaire de connexions OLE
DB.
6. Dans le nom de la table ou de la vue, taper ou sélectionner [dbo].[Products].
7. Cliquez sur Mappages.
8. Vérifier que les différentes colonnes d'entrée sont mappées correctement aux colonnes de destination.
9. Cliquer sur OK.

Étape 8 : Tester la transformation

Avant de tester le package, vous devez vérifier que le contrôle et les flux de données dans le package
SimpleETLDB contient les objets présentés dans les schémas suivants.

4
3ACI Option GDC 2020/2021

1. Dans le menu Déboguer, cliquez sur Démarrer le débogage.


2. Le package doit s’exécuter, entraînant 295 lignes ajoutées avec succès dans la dimension Product
dans LightAdventureWorksDW. Merci de joindre la capture d’écran précisant le nombre de ligne que
votre ETL a pu charger dans la dimension product.
3. Après la fin de l'exécution, dans le menu Déboguer, cliquez sur Arrêter le débogage.
4. Vérifier dans la base de données que la dimension product est bien remplie (parfois il faut rafraîchir
la DB)

Bon courage !

5
3ACI GDC 2020/2021

TP4 : Réalisation des transformations ETL


pour l’alimentation des dimensions

La logique de ce Tp est différente, car au lieu de suivre les étapes prescrites dans le TP et les
exécuter pour alimenter les dimensions comme pour les Tp précédents, je vous donne les
captures d’écran pour la réalisation des transformations des données comme indication. Ainsi
votre livrable sera le même TP en y ajoutant les étapes suivies pour sa réalisation.

Pour y arriver, il faut essayer de bien comprendre et synthétiser le TP3 en mettant l’accent sur
les étapes permettant de se connecter à la source de données (OLTP) et à la destination. Et
réaliser comment faire le mapping pour assurer la correspondance entre les champs sources
transformées et destination.

I. Alimentation de la dimension Customer :

1. La vue générale transformation à exécuter est la suivante :

2. L’extraction de la source de données doit s’effectuer par le Boutton de la génération des requêtes,
analysez la requête (incomplète) pour connaitre les champs extraits et les différents tables utilisées à
partir de la source.
Remarques :
i. le TP focalise sur l’alimentation quelques colonnes de la dimension Customer et pas tous. Seul les
champs customerkey, customerAlternateKey, FullName, Address, Email seront alimentés
ii les tables sources utilisées doivent être toutes reliées par des relations, exécuter la requête pour
s’assurer que les données extraites ne sont pas un résultat d’un produit scalaire (Fausse jointure quand
les lignes se répètent tous).

1
3ACI GDC 2020/2021

3. La transformation à réaliser sur les champs de la source est « Colonne dérivée » pour construire le
champs fullname et address à partir des champs qui leurs correspondent à partir de la source.

4. vérifier le mappage au niveau de la destination dimension customer.

2
3ACI GDC 2020/2021

5. Ajouter dans votre TP la capture d’écran contenant les données alimentées dans la dimension
customer après exécution du processus ETL.

II. Alimentation de la dimension Date :

1. La vue générale transformation à exécuter est la suivante :

2. L’extraction de la source de données doit s’effectuer par la requête suivante :

3
3ACI GDC 2020/2021

Ajouter distinct ou penser à la transformation qui supprime les doublons


3. La transformation réalisée pour avoir les champs Year, Month, et Quarter de la dimension Date est
« Colonne dérivée » en se basant sur les fonctions Date/heure.

4. vérifier le mappage au niveau de la destination dimension Date.


5. Ajouter dans votre TP la capture d’écran contenant les données alimentées dans la dimension Date
ainsi qu’une autre précisant le nombre de ligne ajouté par l’ETL.

4
3ACI GDC 2020/2021

Bon courage !

5
3ACI Option GDC 2020/2021

TP5 : Réalisation des transformations ETL


pour l’alimentation de la table de Fait

Alimentation de la Table de fait InternetSalesFact :

1. La vue générale de la transformation à exécuter est la suivante :

2. L’extraction de la source de données doit s’effectuer par le Boutton de la génération des requêtes,
analysez la requête ci dessous pour connaitre les champs extrait et les tables utilisées.

Remarques : le TP focalise sur l’alimentation quelques 2 indicateurs de la table de fait et pas tous.

1
3ACI Option GDC 2020/2021

3. La transformation « colonne dérivée » réalisée pour avoir le calcul des 2 indicateurs ainsi que le
casting (utiles plus tard dans l’ETL) sont paramétrées comme dans la figure suivante :

2
3ACI Option GDC 2020/2021

Remarque : les champs utilisés dans la colonne Expression ne sont pas saisis mais plutôt
sélectionnées depuis « colonnes » du carré à gauche de cette figure. Seuls les noms des champs de la
première colonne sont saisis.

4. Maintenant l’objectif est de connecter la table de fait avec ses dimensions en attachant ( Faisant la
correspondance) entre les champs extraits de la requête source (CostumerID, DueDate, ProductID)
avec les clés primaires des dimensions et assurer ainsi l’intégrité des données : les clé étrangères de la
table de fait doivent être déjà dans les dimensions. On utilise le composant Recherche renommé dans
la première figure par le nom de la dimension qu’il permet de faire la correspondance.

a. Faire la correspondance avec le contenue de la dimension Product en introduisant les paramètres


suivants dans le composant recherche (à renommer par Product pour ne pas se perdre entre les
différentes dimensions)

3
3ACI Option GDC 2020/2021

Dans le cas de la dimension Product nous avons préservé le même id qui provient de la source et donc
la correspondance est facile.

b. Faire la correspondance avec le contenue de la dimension Date en introduisant les paramètres


suivants dans le composant recherche renommée par Date.

4
3ACI Option GDC 2020/2021

Dans ce cas nous avons le champs DueDate qui a été casté dans la question 3 en FullDateN pour
pouvoir le faire correspondre avec FullDate de la dimension Date (sinon lors de l’execution une
exception se lance par rapport au problème de types différents). Enfin il faut s’assurer d’avoir cocher
Datekey pour l’intégrer dans la table de Fait InternetSales.

c. Faire la correspondance avec le contenue de la dimension Customer en introduisant les paramètres


suivants dans le composant recherche renommée par Customer.

5
3ACI Option GDC 2020/2021

Dans ce cas customerID de la requête source ne correspond pas à la clé primaire de la dimension
customer customerKey. Il faut mapper CustomerID avec CustomerAlternateKey et cocher la clé
primaire customerKey pour la récupérer à la sortie du composant.

5. vérifier le mappage au niveau de la destination ainsi que la correspondance est correcte entre les
colonnes d’entrée et les colonnes de la table de dimension, ajouter la capture dans votre rapport. Les
clés primaires récupérées à chaque étape de l’ETL doivent être mappées avec leur correspondantes
dans la table de fait. Ajouter dans le rapport la capture du mappage réalisé.

6. Ajouter dans votre rapport la capture d’écran contenant les données alimentées dans Table de fait
ainsi que le nombre des lignes alimentées lors de l’exécution de l’ETL.

Bon courage !

6
3ACI Option GDC 2020/2021

TP6 : Visualisation Multidimensionnelles avec


les cubes OLAP

Ce TP explique comment utiliser SQL Server Data Tools pour développer et déployer un projet Analysis
Services, en utilisant la société fictive Adventure Works Cycles.
Prérequis
Avant de commencer ce TP, il est nécessaire d’octroyer le droit d’accès à l’utilisateur du service
Analysis Services pour accéder à la base de données AdventureWorksDW2012.
1. Démarrer SQL Server Management Studio (SSMS) et se connecter à l'instance du Database Engine.
2. Cliquer sur Sécurité, puis cliquer-droit sur Connexions.
3. Cliquer sur Nouvelle Connexion.
4. Dans Nom d’accès ajouter l’utilisateur NT Service\MSSQLServerOLAPService.
Remarque :
Si vous ne trouvez pas l’utilisateur, car il faut pas forcer sûrement il a un autre nom dans votre machine.
Copier le nom du compte associé aux proporiétés du service SQL Server Analysis Services comme
indiquée dans la figure ci-dessous.

5. Cliquer sur OK

Etape 1 : Définition d'une Vue de Source de Données dans un Projet Analysis


Services
Créer un nouveau projet Analysis Services
1
3ACI Option GDC 2020/2021

1. Ouvrir SQL Server Data Tools.


2. Sur la page de démarrage de Visual Studio, cliquez sur Nouveau projet.
3. Dans la boîte de dialogue Nouveau projet, dans le volet Modèles installés, développer
Business Intelligence, puis sélectionnez Analysis Services. Choisir le modèle Projet
multidimensionnel et d’exploration de données Analysis Services.
4. Modifiez le nom du projet pour AdventureWorksAnalysis puis cliquer sur OK.

A. Définition d’une source de données


Après avoir créé un projet Analysis Services, on commence généralement par définir une ou
plusieurs sources de données que le projet va utiliser. Lorsque vous définissez une source de
données, vous définissez les informations de chaîne de connexion qui sera utilisée pour se
connecter à la source de données.
Dans la tâche suivante, vous définissez la base de données de l'échantillon
AdventureWorksDW2012 comme source de données.
5. Dans l'Explorateur de solutions, cliquer-droit sur Sources de données, puis cliquer sur
Nouvelle source de données.
6. Dans l'Assistant Source de données, cliquer sur Suivant pour ouvrir la page Sélectionner la
méthode de définition de la connexion.
7. Sur la page Sélectionner la méthode de définition de la connexion, sélectionner (ou créer si
elle n’existe pas) la connexion de données à la base AdventureWorksDW2012.
8. Cliquer sur Suivant.
9. Sur la page Informations d'emprunt d'identité de l'assistant, vous définissez les informations
d'identification de sécurité pour Analysis Services à utiliser pour se connecter à la source de
données. Sélectionner Utiliser le compte de service, puis cliquer sur Suivant.
10. Sur la page Fin de l’Assistant, accepter le nom par défaut, Adventure Works DW2012, puis
cliquer sur Terminer pour créer la nouvelle source de données.

B. Définition d’une vue de source de données


Après avoir défini les sources de données que vous allez utiliser dans un projet Analysis
Services, la prochaine étape consiste généralement à définir une vue de source de données pour
le projet. Une vue de source de données est une vue unique et unifiée des métadonnées des
tables et des vues spécifiées que la source de données définit dans le projet. Le stockage des
métadonnées dans la vue de source de données vous permet de travailler avec les métadonnées
sans avoir une connexion ouverte à une source de données.
11. Cliquer-droit sur Vues de sources de données, puis cliquer sur Nouvelle vue de source de
données.
12. Dans l'Assistant Vue de source de données, cliquer sur Suivant. La page Sélectionner une
source de données apparaît.
13. Sous Sources de données relationnelles, la source de données Adventure Works DW2012
est sélectionnée. Cliquer sur Suivant.

2
3ACI Option GDC 2020/2021

14. Dans la page Sélectionner des tables et des vues, sélectionner les tables et les vues depuis
la liste des objets disponibles à partir de la source de données sélectionnée. Vous pouvez filtrer
cette liste pour vous aider à sélectionner les tables et les vues.
15. Dans la liste des objets disponibles, sélectionner les objets suivants
- DimCustomer (dbo)
- DimDate (dbo)
- DimGeography (dbo)
- DimProduct (dbo)
- FactInternetSales (dbo)
16. Cliquer sur Suivant
17. Dans le champ Nom, s’assurer que Adventure Works DW2012 est affiché, puis cliquer sur
Terminer.
18. Le designer contient dorénavant les éléments suivants :
- Un volet Diagramme dans lequel les tables et leurs relations sont représentées graphiquement.
- Un volet Tables dans lequel les tables et leurs éléments de schéma sont affichés dans une
arborescence.
- Un volet Bibliothèque de diagrammes dans lequel vous pouvez créer des sous-diagrammes
pour afficher des sous-ensembles de la vue de source de données.
- Une barre à outils.

C. Modifier le nom par défaut des tables


Il est possible de modifier la valeur de la propriété FriendlyName des objets dans la vue de
source de données pour les rendre plus faciles à remarquer et à utiliser.

3
3ACI Option GDC 2020/2021

Dans la tâche suivante, vous allez changer le nom convivial de chaque table dans la vue de
source de données en supprimant les préfixes "Dim" et "Fact" de ces tables. Cela rendra les
objets du cube et de la dimension (que vous allez définir dans la prochaine étape) plus facile à
utiliser.
19. Dans le volet Tables, cliquer-droit sur la table FactInternetSales, puis cliquer sur Propriétés.
20. Modifier la propriété FriendlyName de FactInternetSales à InternetSales.
21. Procéder de même pour le reste des tables
- DimCustomer -> Customer
- DimDate -> Date
- DimGeography -> Geography
- DimProduct -> Product

Etape 2 : Définition et déploiement d'un cube


A. Définition d’une dimension
1. Dans l'Explorateur de solutions, cliquer-droit sur Dimensions, puis cliquer sur Nouvelle
dimension. L'Assistant Dimension apparaît.
2. Cliquer sur Suivant.
3. Dans la page Sélectionner la méthode de création, vérifiez que l'option Utiliser une table
existante est sélectionnée, puis cliquer sur Suivant.
4. Sur la page Spécifier des informations sur la source, vérifier que la vue de source de données
Adventure Works DW2012 est sélectionnée.
5. Dans la liste de Table principale, sélectionner la table Date.
6. Cliquer sur Suivant.
7. Sur la page Sélectionner les attributs de la dimension, cocher les cases à côté des attributs
suivants :
- Date Key
- Full Date Alternate Key
- English Month Name
- Calendar Quarter
- Calendar Year
- Calendar Semester
8. Changer le type d'attribut de Full Date Alternate Key de Normale à Date. Pour ce faire, dans
type d’attribut cliquer sur Date> Calendrier> Date. Cliquer sur OK. Répéter ces étapes pour
changer le type des attributs comme suit :
- English Month Name à Mois
- Calendar Quarter à Trimestre
- Calendar Year à Année
- Calendar Semester à Semestre
9. Cliquer sur Suivant.

4
3ACI Option GDC 2020/2021

10. Sur la page Fin de l’Assistant, dans le volet Aperçu, vous pouvez voir la dimension Date et
ses attributs.
11. Cliquez sur Terminer pour terminer l'assistant.
12. Créer une hiérarchie d’analyse en glissant dans l’ordre les attributs suivants :
- Calendar Year

- Calendar Semester
- Calendar Quarter
- English Month Name
- Date Key
28. Renommer la hiérarchie Calendar.
29. Enregistrer

B. Définition d’un cube


13. Dans l'Explorateur de solutions, cliquer-droit sur Cubes, puis cliquer sur Nouveau Cube.
L'Assistant Cube apparaît.
14. Cliquer sur Suivant.
15. Dans la page Sélectionner la méthode de création, vérifier que l'option Utiliser des tables
existantes est sélectionnée, puis cliquer sur Suivant.
16. Sur la page Sélectionner les tables de groupes de mesures, vérifier que la vue de source de
données Adventure Works DW2012 est sélectionnée.
17. Cliquez sur Suggérer pour suggérer les tables à utiliser pour créer des groupes de mesures.
18. L'assistant examine les tables et suggère InternetSales comme une table de groupe de
mesures. Les tables de groupe de mesures, également appelées tables de faits, contiennent les
mesures qui vous intéressent, tels que le nombre d'unités vendues.
19. Cliquer sur Suivant.
20. Sur la page Sélectionner les mesures, revoir les mesures sélectionnées dans le groupe de
mesures Internet Sales, puis désactivez les cases à cocher pour les mesures suivantes :
- Promotion Key
- Currency Key
- Sales Territory Key
- Revision Number
21. Cliquer sur Suivant.
22. Sur la page Sélectionner des dimensions existantes, vérifier que la dimension Date que vous
avez créée est sélectionnée, puis cliquer sur Suivant.
23. Sur la page Sélectionner de nouvelles dimensions, sélectionner les nouvelles dimensions à
créer. Pour ce faire, vérifiez que les cases Customer, Geography, et Product sont sélectionnées,
puis désactiver la case à cocher InternetSales.
24. Cliquer sur Suivant.

5
3ACI Option GDC 2020/2021

25. Sur la page Fin de l’Assistant, vous pouvez voir le groupe de mesures InternetSales et ses
mesures. Vous pouvez également voir les dimensions Date, Customer et Product.
26. Cliquez sur Terminer pour terminer l'assistant.

C. Ajout d'attributs à la dimension Customer


27. Ouvrir la dimension Customer. Pour ce faire, cliquer sur la dimension Customer dans le
noeud Dimensions de l'Explorateur de solutions.
28. Dans le volet Attributs, remarquer les attributs Customer Key et Geography Key qui ont été
créés par l'Assistant Cube.
29. Glisser les colonnes suivantes de la table Customer dans le volet Vue de source de données
la source de données vers le volet Attributs :
- BirthDate
- MaritalStatus
- Gender
- EmailAddress
- YearlyIncome
- TotalChildren
- NumberChildrenAtHome
- EnglishEducation
- EnglishOccupation
- HouseOwnerFlag
- NumberCarsOwned
- Phone
- DateFirstPurchase
- CommuteDistance
30. Glisser les colonnes suivantes de la table Geography dans le volet Vue de source de données
la source de données vers le volet Attributs :
- City
- StateProvinceName
- EnglishCountryRegionName
- PostalCode
31. Créer une hiérarchie d’analyse en glissant dans l’ordre les attributs suivants :
- English Country Region Name
- State Province Name
- City
32. Renommer la hiérarchie Customer Geography.
33. Enregistrer

D. Ajout d'attributs à la dimension Product

6
3ACI Option GDC 2020/2021

34. Ouvrir la dimension Product. Pour ce faire, cliquer sur la dimension Product dans le noeud
Dimensions de l'Explorateur de solutions.
35. Dans le volet Attributs, remarquer l’attribut Product Key qui a été créé par l'Assistant Cube.
36. Glisser les colonnes suivantes de la table Product dans le volet Vue de source de données
la source de données vers le volet Attributs :
- EnglishProductName
- StandardCost
- Color
- SafetyStockLevel
- ReorderPoint
- ListPrice
- Size
- SizeRange
- Weight
- DaysToManufacture
- ProductLine
- DealerPrice
- Class
- Style
- ModelName
- StartDate
- EndDate
- Status
37. Créer une hiérarchie d’analyse en glissant dans l’ordre les attributs suivants :
- Product Line
- Model Name
- English Product Name
38. Renommer la hiérarchie Product Model Lines.
39. Enregistrer

E. Déploiement du projet Analysis Services


Pour afficher du cube et les données des dimensions pour les objets dans le cube, vous devez
déployer le projet à une instance spécifiée de Analysis Services, puis traiter le cube et ses
dimensions. Déploiement d'un projet Analysis Services crée les objets définis dans une instance
d'Analysis Services. Traitement des objets dans une instance de Analysis Services copie les
données provenant des sources de données sous-jacentes dans les objets de cube.
40. Dans l'Explorateur de solutions, cliquer-droit sur le projet AdventureWorksAnalysis, puis
cliquer sur Propriétés.
41. Dans le noeud Propriétés de configuration dans le volet gauche, cliquer sur Déploiement.

7
3ACI Option GDC 2020/2021

42. Passer en revue les propriétés de déploiement pour le projet. Par défaut, le modèle de projet
Analysis Services configure un projet Analysis Services pour déployer progressivement tous
les projets à l'instance par défaut d'Analysis Services sur l'ordinateur local, pour créer une base
de données Analysis Services avec le même nom que le projet, et pour traiter les objets après
déploiement en utilisant l'option de traitement par défaut.
Remarque : En cas de problème à ce stade ne pas hésiter à reconstruire (Rebuild) le cube.
43. Cliquer sur OK
44. Dans l'Explorateur de solutions, cliquer-droit sur le projet AdventureWorksAnalysis, puis
cliquer sur Déployer.

Etape 3 : Exploration du cube


1. Double-cliquer sur le cube dans le dossier Cubes de l'Explorateur de solutions.
2. Cliquer sur le volet navigation.
3. sélectionner salesAmount
4. Ajouter les champs de différentes dimensions
5. Appliquer les différentes opérations déjà vue en cours :
-Drill down
-Roll Up
-Slicing
-Dicing

Exportation vers Excel


1. Cliquer sur l'icône pour lancer Excel en utilisant la base de données de l'espace de travail
comme source de données. Lorsque vous êtes invité à activer les connexions, cliquer sur
Activer.
2. Dans la Liste de champs de tableau croisé dynamique, développez Internet Sales, puis faites
glisser la mesure Sales Amount vers la zone Valeurs.
3. Dans la Liste de champs de tableau croisé dynamique, développer Product, puis glisser la
hiérarchie Product Model Lines vers la zone Etiquettes de Colonnes.
4. Dans la Liste de champs de tableau croisé dynamique, développer Customer, puis glisser la
hiérarchie Customer Geography vers la zone Etiquettes de lignes.
5. Dans la Liste de champs de tableau croisé dynamique, développer Order Date, puis glisser la
hiérarchie Calendar vers la zone Filtre du rapport.

Bon courage !

Vous aimerez peut-être aussi