You are on page 1of 204

Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 1/204

Linformatique dcisionnelle de A Z sur le cas Orion Star


1
Table des matires :
LINFORMATIQUE DECISIONNELLE DE A A Z SUR LE CAS ORION STAR 1
TABLE DES MATIERES : 1
INTRODUCTION A LINFORMATIQUE DECISIONNELLE 4
PREAMBULE : 4
Le dcisionnel, pour qui ? 5
Objectifs 6
Le dcisionnel, pourquoi faire ? 9
Quelques mots sur le dcisionnel 10
Informatique dcisionnelle : systme daide la dcision ? 11
DEFINITION DE LINFORMATIQUE DECISIONNELLE : 13
PRESENTATION DU CAS ORION STAR 14
LA SOCIETE : ORION STAR 14
Structure de lorganisation : 14
Loffre 15
Les clients 15
Les commandes 15
Les fournisseurs 15
Les utilisateurs du systme dcisionnel 15
SCHEMA DE LA BASE DE DONNEES OPERATIONNELLE 16
MODELE DE DONNEES DU DATA WAREHOUSE 19
PRE-REQUIS 20
INSTALLATION SAS 20
Gestion des profils 20
LARCHITECTURE DE LA PLATEFORME DECISIONNELLE SAS 23
Laxe technologique 23
Laxe intgration : 24

1
Cette tude de cas Orion Star partant du systme informatique oprationnel pour aboutir la
diffusion de la connaissance est un exemple fictif, proprit de lditeur de logiciel SAS, Copyright

2003 SAS Institute Inc., Cary, NC, USA. Il ne peut tre diffus sans laccord crit de SAS Institut.
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 2/204

Laxe interoprabilit : 24
Laxe ouverture 25
Laxe puissance 25
Laxe administration 25
Laxe ergonomie 26
Laxe Compatibilit 27
Rsum : 27
Laxe mtier 27
Laxe secteur dactivit 28
ARCHITECTURE TECHNIQUE DE LA PLATEFORME DECISIONNELLE SAS 31
Scalability : Capacit monter en puissance. 33
LES UTILISATEURS ET GROUPE DE BASE : 33
BIBLIOTHEQUE 35
Cration dune bibliothque : 35
ETL 60
PRESENTATION DE LOUTIL SAS DATA INTEGRATION STUDIO 62
MISE EN UVRE : 65
Mise en place du Data Warehouse Orion 65
IMPLEMENTATIONS ETL SUR LE CAS ORION STAR 67
Dfinition de larborescence des mtadonnes ETL personnalises : 71
Importation des mtadonnes des tables de lODS 74
Cration de la table CUSTOMER_DIM : 79
Cration de la table ORGANIZATION_DIM 99
Cration de la table TIME_DIM 104
Cration de la table GEOGRAPHIC_DIM 107
Cration de la table ORDER_FACT 109
Cration du Data Mart Orion Gold 111
OLAP 113
VOCABULAIRE OLAP 113
MISE EN UVRE, CREATION DU CUBE ORION : 114
Navigation dans un cube depuis SAS Enterprise Guide : 124
Navigation dans un cube depuis Microsoft Excel : 129
OPTIMISATION DUN CUBE OLAP 134
INFORMATION MAP 145
Linterface SAS Information Maps Studio 145
Elment dune Maps 146
Enregistrement 149
MISE EN UVRE SUR LE CAS ORION STAR 150
CREATION DES MAPS : 155
CREATION DE RAPPORT AVEC SAS WEB REPORT STUDIO 158
CREATION DUNE PROCEDURE STOCKEE 164
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 3/204

QUELQUES MODULES SAS: 193
Quelques packages : 195
SAS Enterprise Guide 195
SAS Enterprise Miner 197
SAS STAT STUDIO 198
AppDev Studio 198
SAS Data Integration Server 198
SAS Intelligence Storage Server 199
SAS Business Intelligence Server 200
SAS Information Delivery Portal : 204

Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 4/204

Introduction linformatique dcisionnelle

Lignorance est mre de tous les maux F. Rabelais
Prambule :

Le monde dans lequel nous vivons est de plus en plus complexe. Les nouvelles technologies de
linformation nous gnrent une multitude de donnes comme jamais auparavant. Le problme nest
donc plus tant dacqurir une masse de donnes, mais de lexploiter. Pour cela il faut collecter de
linformation de qualit, la standardiser, la normaliser, la trier, la filtrer, la classer, lagrger, la
modliser, afin den extraire la substantifique moelle et prendre la bonne dcision au bon moment.
Dans ce but, il est ncessaire de mettre en place un systme dinformation particulier, appel systme
dcisionnel. Ce systme doit permettre de prsenter de manire simple les chiffres recueillis pour
mettre en lumire la conjoncture actuelle et indiquer implicitement la voie suivre. Un systme
dcisionnel ne remplace pas les systmes oprationnels qui font fonctionner lentreprise, mais il vient
sy intgrer, en y extrayant des donnes, afin den diffuser la connaissance, de la manire la plus
facilement exploitable par les personnes concernes. Le systme oprationnel nest pas, priori,
modifi par la mise en place du systme dcisionnel, ce dernier vient le complter par une exploitation
avance de linformation. Il est donc ncessaire dajouter aux systmes oprationnels qui permettent
trs bien de grer lentreprise au quotidien, un systme offrant la capacit danalyser le pass, le
prsent et de simuler lavenir pour anticiper les changements constants de notre socit. Un systme
dcisionnel doit notamment permettre de passer de la simple ractivit lanticipation et la pro-
activit. Etre proactif, cela veux dire par exemple quau lieu dattendre que le client vous envoie la
rsiliation de son contrat, tant donn que vous avez dj modlis ce comportement, vous pouvez
anticiper. Vous lui envoyez donc une proposition devant vous permettre de le fidliser, avant quil nait
pris cette dcision de rsiliation. Les organisations ont pour la plupart, mis en place leur systme
oprationnel pour tre efficaces et ractives, elles doivent maintenant, pour tre proactives dployer
un systme dcisionnel.

La mise en place dun systme dcisionnel permet dapporter des rponses efficaces tous les
niveaux de lentreprise ; cet aspect dcisionnel est prsent dans les organisations depuis de
nombreuses annes, il revt lapparence de rapports et de tableaux de bord. Mais, beaucoup dentre
elles saperoivent que ces simples outils de Reporting ne satisfont pas entirement leurs attentes.
Elles se rendent compte que la mise en place dun entrept de donnes global, transversal et
cohrent, li des outils danalyses, est ncessaire. La Business Intelligence est devenu une priorit
pour les directions informatiques.
Si globalement les projets informatiques ne sont plus en forte croissance aprs leur explosion de la fin
des annes 90 et du dbut des annes 2000, les projets dinformatique dcisionnelle ont actuellement
le vent en poupe avec notamment deux axes majeurs : premirement la gestion de la relation client et
deuximement la chasse aux cots par une meilleure comprhension des mcanismes de cration de
valeur. En effet, je ne vous apprends rien en vous disant que lobjectif dune socit prive est de
gagner de largent, cest le nerf de la guerre. Pour augmenter la marge, les deux principaux leviers
sont daugmenter le chiffre daffaires et de rduire les cots. Nous nous intresserons donc
notamment aux solutions permettant de mieux comprendre,
le client pour lui vendre plus sur le long terme,
lutilisation de largent dpens pour dcouvrir les conomies potentielles.
Il est important, ds prsent, de relativiser cet objectif trs matrialiste par le fait que si ces outils
peuvent tre utiliss par des personnes sans scrupules, nous ne nous intresserons ici qu des
objectifs satisfaisant des valeurs strictes et une intgrit forte, avec une philosophie de
dveloppement durable. Par exemple nous ne nous intresserons pas piller le client comme cela
peut tre le cas, mais bien dvelopper une relation durable, prenne : gagnant-gagnant.
Une crainte frquemment rencontre vis--vis des technologies de linformation est le fait de se sentir
espionn. Bien videmment, et en France tout particulirement, des lois trs strictes rglementent
lutilisation des bases de donnes. Il est toujours possible de ne pas prendre une carte de fidlit, et
donc de ne pas bnficier des avantages quelle propose ; on peut aussi tout moment demander de
ne plus recevoir doffres promotionnelles.
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 5/204

En rsum, linformatique dcisionnelle peut, comme tout autre systme, tre pervertie. Une
plateforme dcisionnelle intgre est ncessaire pour transformer des donnes lgalement utilisables
en connaissance afin damlioration la performance cours, moyen et long terme, des organisations.

De plus, cette croissance de linformatique dcisionnelle est particulirement forte dans le secteur
public o des organisations gigantesques doivent fournir des rapports prcis sur notamment la
manire dont elles utilisent largent du contribuable. Par exemple en France, la LOLF, Loi Organique
sur la Loi de Finance, impose quasiment de grer les tablissements publics, comme ceux du priv,
avec des objectifs de performance. Cest une rvolution qui impose de passer dune logique de moyen
une logique de rsultat, ce qui ncessite des changements gigantesques et notamment en terme de
rapport et danalyse.
Les projets dinformatique dcisionnelle sont donc des projets actuels mais surtout davenir.

Ce quil faut retenir : Linformatique dcisionnelle a pour objectif de
transformer les donnes dj prsentes dans et lextrieur de lentreprise,
en connaissance, afin de permettre la judicieuse dcision au bon moment.

Le dcisionnel, pour qui ?

Le dfi majeur de linformatique dcisionnelle, bien au-del de la technologie, est humain. En effet, ce
processus de transformation de la donne en connaissance ncessite de nombreuses comptences
qui doivent sallier pour travailler vers un objectif commun. Lobjectif ici, sera de montrer aux
diffrentes parties prenantes, lensemble du processus dcisionnel, afin que chacun puisse mieux y
participer.

Nous nous adressons donc plusieurs profils dtudiants, de professeurs ou de professionnels que
lon peut rpartir de la faon suivante :
o Les techniciens : Les personnes ayant des comptences informatiques doivent pouvoir
prendre en main concrtement la plateforme dcisionnelle SAS, mais aussi dapprhender le
besoin dergonomie de lapplicatif final, la ncessit dintgrer lanalyse de donnes, et
comprendre quelques problmatiques
1
mtiers
2
. Trop de projets dcisionnels sont purement
techniques et non fonctionnels ; il est donc important dlargir le champ des informaticiens par
un cas concret, aux besoins analytiques et mtiers. Le processus de la chaine du dcisionnel
sera vu du dbut la fin, avec des approfondissements sur les choix techniques pouvant tre
mis en uvre.
o Les architectes et administrateurs de systme dcisionnel : Les futurs chefs de projets,
architectes ou administrateurs de projets dcisionnels y trouveront une vision globale de la
plateforme dcisionnelle SAS afin den conceptualiser la structure, les tenants et les
aboutissants. Parmi les discussions importantes qui seront souleves, notons la gestion du
projet et du changement induit, ladministration, la scurit, les diffrentes architectures
techniques et fonctionnelles envisageables et lintgration dune telle plateforme dans les
systmes informatiques.
o Les statisticiens : Les analystes, statisticiens ou Data Miner pourrons mieux apprhender les
nouvelles opportunits apportes par lintgration de lanalyse de donnes dans le processus
daide la dcision ; les fusions amonts (ETL, administration, structure de Data Warehouse,
OLAP, etc.) et avals (Reporting, portail, procdure stocke, etc.). Il est primordial danalyser
les donnes nombreuses et complexes, mais surtout dindustrialiser leur intgration dans le
processus dcisionnel. Pour ce public, nous nous pencherons particulirement sur les
techniques avances de statistiques, de modlisation, de Data Mining et doptimisation.
o Les dcideurs actuels ou futurs : Il est fondamental daider les dcideurs prsents ou futurs,
de mieux apprhender la face cache de liceberg de linformatique dcisionnelle. Cette

1
Ici, le mot problmatique est bien prendre dans son acceptation littraire, c'est--dire ensemble de
problmes.
2
Mtier : les mtiers gnriques de lentreprise sont la production, les ressources humaines, le
marketing, les forces de ventes. Les utilisateurs mtier dun systme dcisionnel sont donc des
utilisateurs gnralement non informaticiens, ayant besoin daccder de manire simple la
connaissance contenue dans les systmes dinformation.
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 6/204

ouverture vers un monde souvent rendu obscur par un jargon technique spcialis, truff de
sigles et danglicismes, devra leur permettre den apprhender les tenants et les aboutissants,
afin de conceptualiser lapport pratique dune plateforme dcisionnelle. Le terme dcideur est
prendre ici au sens large, depuis les cadres ayant prendre beaucoup de dcisions,
jusquaux employs ayant des rapports fournir rgulirement. Lobjectif est donc de donner
ces utilisateurs non techniciens, une meilleure connaissance de ces systmes pour quils les
utilisent mieux et prennent une part encore plus active dans leur laboration et leur
maintenance. Comment prtendre devenir manager si dans un monde de technologie, on ne
comprend pas ce quil se passe ? Comment un systme dcisionnel peut-il crer de la valeur
si le management ne dfinit pas la stratgie ?

Objectifs

Objectif globale : Dans le monde dans le quel nous vivons, les dcisions ne peuvent plus tre prises
uniquement sur des coups de gnie. Pour bien grer une organisation, il est ncessaire de sappuyer
sur des informations de qualit. Les managers daujourdhui et surtout de demain, ont besoin
danalyse pour comprendre le prsent et simuler lavenir.

Les objectifs de conceptualisation dun projet dcisionnel peuvent donc tre prsents selon trois
axes majeurs :
1. Laxe technique : lobjectif est de montrer des informaticiens comment mettre en
place un Data Warehouse, daborder la ncessit dintgrer lanalyse pour ne pas se
limiter un simple projet de Reporting, et daborder des problmatiques fonctionnelles.
2. Laxe analytique : lobjectif est dexploiter un maximum la base de donnes du Data
Warehouse par des analyses statistiques et Data Mining avances, et dapprhender
lintgration technique amont et fonctionnelle aval.
3. Laxe fonctionnel : lobjectif est de conceptualiser lapport dun systme dcisionnel
intgrant des analyses statistiques et du Data Mining pour des problmatiques mtier.

Le but de linformatique dcisionnelle est de transformer les donnes de lentreprise en Intelligence. Il
est important de prciser que le mot intelligence est prendre dans son acceptation anglo-saxonne,
c'est--dire connaissance de lentreprise ; connaissance de son fonctionnement, de ses partenaires :
clients fournisseurs, de sa structure : groupe filiale, de ses produits, de ses processus, de son
organisation, de ses ressources humaines, de son histoire, de son prsent mais aussi de son futur
probable.
Les entreprises sont en perptuel changement. Les organisations prives ou publiques ont en gnral
comme points communs, des clients, des employs et des partenaires de plus en plus exigeants.
Face ces changements de plus en plus rapides et cette concurrence de plus en plus forte la
simple ractivit ne suffit plus : il faut anticiper. Cette anticipation ne peut tre efficace qu'en
s'appuyant sur des informations pertinentes, des prvisions justes, voir des simulations et la
recherche doptimum. Mais, dans leurs organisations actuelles, les donnes sont volatiles,
surabondantes, non organises pour la prise de dcision, et souvent parpilles dans de multiples
systmes htrognes. Il devient donc capital de rassembler et d'homogniser les donnes afin de
permettre l'analyse des indicateurs ncessaires aux prises de dcisions.

L'informatique dcisionnelle apporte l'entreprise l'information labore l'aidant comprendre,
maintenir et grer sa comptitivit, accrotre sa part de march, fidliser sa clientle et
optimiser ses processus et ses cots.

De manire communment accepte, le terme Business Intelligence (BI) se traduit en franais par
informatique dcisionnelle (ID) et de manire rciproque.
Linformatique dcisionnelle est associe au concept de Data Warehouse, ce qui se traduit
gnralement en franais par entrept de donnes. Ce concept a t formalis pour la premire fois
en 1990 par Bill Inmon de la faon suivante :
Un Data Warehouse est une collection de donnes thmatiques, intgres, non volatiles et
historises pour la prise de dcisions.
Un entrept de donnes est donc une base de donnes :
Thmatiques : c'est--dire orient sujet, mtier. Contrairement aux bases de donnes
oprationnelles gnralement orientes processus, les bases des entrepts dcisionnels sont
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 7/204

modlises pour rpondre facilement toutes les questions dutilisateurs non-informaticiens. Il
faut donc apporter lutilisateur linformation selon sa dfinition mtier.
Intgres : regroupant gnralement des sources htrognes de donnes. Exemple : pour
avoir la connaissance mtier dun client, il faut souvent rassembler les informations issues des
systmes oprationnels
o de gestion des forces de ventes pour connatre ses dernires commandes,
o de la comptabilit pour savoir sil a pay sa dernire facture,
o du service aprs vente sil la utilise,
o du serveur Web sil sest connect sur le site,
o du partenaire avec lequel un programme de fidlit commun a t mis en place,
o etc.
Un entrept de donnes dcisionnelles dentreprise doit permettre davoir une vision
unique et transversale de linformation.
Non volatiles : stables, non modifiables. Contrairement un systme oprationnel modifi
aprs chaque transaction, les informations dun systme dcisionnel ne changent pas.
Historises = archives : dates, afin de conserver un historique. Cela permet les analyses
comparatives. Exemple : le solde du compte en banque du client est une variable volatile qui
change chaque transaction. On va donc retrouver gnralement, si la volumtrie le permet,
linformation de dtail, le plus petit dnominateur commun diffrents problmes. Ayant ce
dtail dat, il sera alors toujours possible de recalculer un indicateur un instant t.

Tout comme cette dfinition trs technique, dans lexpression informatique dcisionnelle , il y a le
mot informatique qui donne maladroitement une connotation technique qui peut faire peur. Certes,
les projets dinformatique dcisionnelle requirent de nombreuses comptences informatiques, mais il
ne faut pas perdre de vue que leur objectif est de mettre en place des solutions daide la dcision
pour des personnes non informaticiennes. Il faut donc que lquipe projet comporte des comptences
fonctionnelles pour que lapplicatif final soit orient mtier.
Dun autre ct, les projets dinformatique dcisionnelle requirent des informaticiens comptant et
rigoureux. Mme si les interfaces des utilisateurs sont de plus en plus intuitives, il est consternant de
voir des utilisateurs faire leurs rapports sur des pseudos Data Warehouse. Pour faire correctement du
dcisionnel, il faut un vrai Data Warehouse digne de ce nom, construit de faon rigoureuse par des
informaticiens, capables de le maintenir. Pour les diteurs de logiciel, les intgrateurs et les SSII, le
conseil mtier se vendant gnralement plus cher, laspect fonctionnel devient souvent trop mis en
valeur par rapport laspect technique. Les prsentations Power Point se dveloppent souvent sur du
vent. Rares sont ceux qui mtrisent vritablement les aspects technologiques et fonctionnels. Sans
une architecture technique solide, un systme dcisionnel nest rien et est vou mourir.
Un projet dcisionnel est la fois un projet technique et fonctionnel.

Pour la partie fonctionnelle, il ne faut pas non plus se focaliser uniquement sur les directions
gnrales. Certes, il et plus flatteur de dire que lon travail pour le tableau de bord du directeur gnral,
mais un systme dcisionnel a aussi trs souvent pour but de faciliter le travail de Reporting des
assistantes. Cest dailleurs souvent le premier retour sur investissement mesurable : la diminution
significative du temps consacr au Reporting grce lindustrialisation de celui-ci.
Linformatique dcisionnelle sadresse donc un public trs large et htrogne. Il est important de
formaliser les termes du dcisionnel afin que tous puissent communiquer normalement. Pour
complexifier la chose, les diffrents protagonistes du dcisionnel peuvent avoir des dfinitions
diffrentes pour un mme mot. Les dfinitions prsentes ici nont pas la prtention dtre seules et
uniques, simplement de tenter de formaliser un peu ce jargon obscur o chacun dfini les termes
comme cela larrange.

Il faut remarquer que les expressions entrept de donnes et informatique dcisionnelle
recouvrent tous les deux, deux notions synecdoques
1
:
- Pour la premire, lentrept de donnes ou Data Warehouse, renvoie linfrastructure dcisionnelle
dans son ensemble, ou seulement au contenant des donnes dcisionnelles, le stockage de
linformation dcisionnelle.

1
Une synecdoque est une figure de style qui consiste donner un mot un sens plus large ou plus
restreint qu'il ne comporte habituellement. Par exemple, tant sur un port, dire je vois une voile
lhorizon et quivalent dire je vois un bateau lhorizon .
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 8/204

- Pour la seconde, linformatique dcisionnelle ou Business Intelligence, renvoie lensemble du
processus dans sa globalit (extraction validation - transformation chargement stockage
restitution analyse de donnes diffusion de la connaissance gnration de rapport gestion de
la performance - etc.) ou seulement aux applications finales de Reporting et de pilotage, partie
merge de liceberg, visible par lensemble des utilisateurs.
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 9/204

Le dcisionnel, pourquoi faire ?

Toutes les dfaites du monde se rsument en 2 mots : trop tard ! Gnral Mac Arthur

C'est dans le moule de l'action que notre intelligence a t coule Henri Bergson

Linformation est le seul avantage comptitif Jack Welsh CEO de General Electric

Image de http://www.code-enligne.com/
Il est toujours sage de regarder en avant, mais il est difficile de regarder plus loin qu'on ne peut voir
Winston Chuchill

Linformatique dcisionnelle doit permettre davoir une vision claire, nette et prcise du pass, le
rtroviseur de limage ci-dessus, mais aussi de comprendre la situation actuelle et de prvoir, simuler
le futur.
Pass : tous les utilisateurs du systme dcisionnel doivent pouvoir naviguer dans
linformation dont ils ont besoin, depuis le dtail, jusquau gnral. Ils doivent pouvoir faire des
tableaux croiss, des histogrammes, des camemberts, etc. de manire intuitive pour faire des
rapports et les partager. Un systme dcisionnel a notamment pour fonction dtre la mmoire
de lentreprise. La premire fonction du dcisionnel est de permettre nimporte qui dans
lorganisation daccder linformation dont il a besoin, tout seul, de manire intuitive ; c'est--
dire, offrir tout le monde la possibilit, sans formation, en trois clics de souris, davoir une
information prcise.
Prsent : il est important davoir linformation juste de la situation actuelle, consolide avec les
informations sur le march et sur les partenaires de lentreprise, pour savoir o on est, par
rapport aux autres, dans quel environnement.
Futur : un systme dcisionnel intgrant des outils danalyses de donnes et notamment de
Data Mining, doit permettre de simuler le futur en connaissance de lhistorique ; par exemple
dfinir le potentiel dachat dun client au regard de son pass. Cette vision du futur reste une
simulation avec une incertitude plus ou moins importante, nanmoins, elle est dune trs forte
valeur ajoute pour la prise de dcision.

Les systmes dcisionnels doivent tre une aide aux collaborateurs, leur permettant d'tre proactifs
sur leurs marchs, c'est--dire danalyser, d'anticiper et de capitaliser sur lexprience pour dcider en
fonction d'informations disponibles facilement et rapidement.

Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 10/204

On peut comparer conduire une voiture piloter une activit . Un vhicule doit :
avoir un tableau de bord pour connatre la vitesse, les rserves dessence, prsenter des
alertes, etc.
offrir une vision si possible claire de la route, de ce qui se passe devant.
Des initiatives, des leviers daction, des commandes pour piloter.

Dans le cadre du management, dfaut davoir une vision limpide du futur, des outils de simulation
permet de scnariser ce futur. Comment piloter si lon ne sait pas o lon va ? Les outils dinformatique
dcisionnelle permettent de mettre la disposition de tous les utilisateurs la connaissance du pass
(la mmoire), une dfinition concise, relative et prcise du prsent ; et diffrentes prdictions pour
laide la dcision. En connaissance de ces informations, il est alors possible de dfinir une carte
routire avec des objectifs atteindre et de contrler si lon est dans la bonne direction.

Mais un lment primordial dans la dfinition de la stratgie, souvent oubli, cest dassocier aux
objectifs des initiatives appeles aussi levier. En effet, si un indicateur tourne au rouge dans notre
tableau de bord mais que lon ny a pas associ de levier daction, cest comme tre dans une voiture
lance pleine vitesse o lon voit le mur arriver mais o lon naurait pas la possibilit dappuyer sur
le frein !

Petit exemple simplifi :
objectif : Qualit de service aprs vente
responsabilit : Le responsable du service aprs vente (comme son nom lindique)
KPI : dlais moyen de rponse
Initiative : recrutement de ressource - optimisation de laffectation des appels capitalisation
sur lexprience etc.

Lindicateur dlai moyen de rponse seul ne sert rien sil est juste l pour lautosatisfaction du
chef et son plaisir de taper sur ceux qui sont en dessous.
Un indicateur est pertinent lorsquil est li une stratgie et des moyens pour y parvenir.

Remarque importante : Dans un projet, afin de rduire le nombre dindicateurs aux indicateurs cls de
performance (KPI : Key performance Indicator), les seuls qui doivent tre retenus sont ceux sur
lesquels on pouvait agir. Ce sont les mesures de performance utiles. Les autres sont du flicage !

Un outil dcisionnel ne doit pas tre un simple outil de contrle mais bien un
outil de partage de la connaissance, de communication, de prvision, de
simulation, etc. pour lanalyse et lamlioration de la performance des
organisations.
Les indicateurs doivent tre relis des actions des initiatives.

Quelques mots sur le dcisionnel

On trouve maintenant des systmes oprationnels dans presque tous les domaines. Certaines
entreprises, tant dans un milieu encore plus concurrentiel et plus complexe, ont dj install des
outils dinformatique dcisionnelle. Nanmoins trs peu de grands groupes ont une plateforme
dcisionnelle dentreprise intgre leur permettant davoir une vision transversale, intgrant des
prvisions, des simulations et de loptimisation, pour lanalyse et la gestion de la performance. De plus,
les changements sont perptuels et les systmes dcisionnels sont donc en perptuelle volution.

Une architecture dentrept de donnes dcisionnelles, intgre et ouverte, a pour but de fournir une
information de qualit aux dcideurs de lentreprise et de faciliter la prise de dcision stratgique. Btir
cet entrept pour rpondre des problmatiques mtiers, est rput tre avant tout un projet
technologique complexe. En effet, ce type de projet ncessite des capacits dintgration fortes
compte tenu de lenvironnement trs souvent htrogne des systmes dinformation oprationnels et
de la complexit des donnes.
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 11/204

Un systme dcisionnel intgr permet de collecter linformation de diffrents systmes oprationnels
afin davoir une vision globale unique, sans remettre en cause les systmes oprationnels actuels.
Dans le jeu des fusions - acquisitions, le systme dcisionnel doit faciliter lintgration des diffrentes
composantes. On retrouve souvent de multiples systmes dinformation oprationnels travers les
organisations, socits, groupes, etc. et des outils de Reporting accoler. Un vritable entrept de
donnes dentreprise , traduction d Enterprise Data Warehouse , doit offrir une vision unique,
globale, transversale et du gnral au dtail. Le terme entreprise a t rajout pour insister sur la
notion dunicit et de transversalit, c'est--dire, que ce nest pas un entrept qui est la somme de
diffrents sous ensembles. Dans trop de runion, les chiffres de deux directions sont diffrents, ce qui
crer des conflits, car il ny a pas une vision unique et globale.

Un autre point de vue pour discuter de systmes dcisionnels intgrs, est le constat que dans
beaucoup de cas on applique un outil de Reporting chaque application oprationnelle et lon se
retrouve avec autant de systme dcisionnel que de systme oprationnel. Les rapports de base sont
bien fournis, mais on est trs loin davoir une vision globale et transversale.

Un entrept de donnes dentreprise doit donc imprativement faire passer toutes les informations par
un point unique afin de
les intgrer,
les consolider,
les valider,
en vrifier la qualit,
et les standardiser.

Techniquement, on utilise gnralement un espace ddi que lon appelle ODS (Operational Data
Store) mais qui pour ne pas tre confondu avec lODS (Output Delivery System) de SAS, sera appel
simplement Data Store (DS). Le Data Store est donc un espace stockant une copie de toutes les
donnes issues des diffrents systmes oprationnels, internes ou externes.

Remarque : Ce Data Store est gnralement modliser en troisime forme normale.
Notons que lODS est de plus en plus souvent utilis mais quil nest absolument pas ncessaire dans
tous les cas. Il existe de nombreuses thories sur la modlisation des bases de donnes des
entrepts de donnes dcisionnels. La qualit fondamentale ncessaire pour faire cette modlisation
est le BSP. Sans cette facult, on complique et on intellectualise trop le problme. Revenons donc
la base, lobjectif de la mise place dune plateforme dcisionnelle intgre dentreprise et de permettre
tous les collaborateurs de lentreprise, pour la plupart non informaticiens, en quelques clics de souris
daccder linformation dont ils ont besoin pour analyser les situations, les comprendre et donc
amliorer la performance de lorganisation. Et pour couronner le tout, il faut une information unique et
de qualit.
Mais quest-ce que le BSP ; une valeur trop souvent oublie au profit dintrts personnels. Si tout le
monde possdait cette qualit, se serait fantastique. Le BSP, cest le Bon Sens Paysan !
Informatique dcisionnelle : systme daide la dcision ?

Un systme dcisionnel est par dfinition un systme daide la dcision. Cela ne veut certainement
pas dire quun tel systme prenne des dcisions la place dtres humains et aussi intelligents soient
ces systmes, ils ne nous remplaceront pas. Par contre, au lieu de prendre des dcisions dans le flou,
les dcisions seront prises en connaissance de cause. Il ne va pas sans dire quune telle
transformation dans le processus de prise de dcision, ne se fait que trs rarement sans rticences. Il
est donc important dintgrer un vrai processus de gestion du changement pour amener lensemble
des dcideurs utiliser la connaissance apporte par le systme dcisionnel. Dans un monde de plus
en plus complexe, il est devenu vital dutiliser la technologie pour exploiter le dluge dinformation
des fins danalyse de la situation passe, prsente, et future, pour prendre la bonne dcision au bon
moment.

Prenons lexemple dune grande banque franaise qui souhaite modliser le comportement du client
afin de prvenir dun ventuel dpart la concurrence. Pour ce faire, sur un historique de plusieurs
annes, un modle de Data Mining a t construit. Plus prcisment, connaissant presque pour
chaque client quelques cinq cent cinquante variables comme, le revenu moyen, le fait dtre
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 12/204

propritaire, lactivit moyenne du compte principal, les diffrents produits bancaires dtenus, leur
utilisation maximale et moyenne, lge du client, sa situation familiale, etc. il est possible de modliser
sans trop se tromper, le fait que les clients ayant toutes ces caractristiques sont des clients fidles,
alors que ceux dans telle ou telle situation, sont fortement susceptibles de partir la concurrence. Sur
un historique de plusieurs annes, on connat les clients qui sont encore clients et ceux qui ne le sont
plus.
Les outils de Data Mining nous permet, par apprentissage sur lhistorique, de modliser le
comportement du client, et donc de prvoir sa probabilit, son potentiel de partir la concurrence.
La gestion du changement sest droule, pour cette banque en plusieurs tapes. Tout dabord, sur
un ensemble dagences pilotes slectionnes au hasard, sur lapplication oprationnelle des
responsables de compte, une cellule a t rajoute dans leur cran oprationnel. Cette cellule
comprenait la note du potentiel du client partir. Chaque responsable de compte a alors, lorsque quil
ouvre la fiche dun client, en plus des informations classiques, cette note du potentiel du client, de
clturer ses comptes.
Aprs six mois dune phase de test sur ces agences pilotes, le retour des responsables de compte a
t synthtis de la manire suivante. Pour lensemble des clients ayant une note leve de potentiel
de partir la concurrence :
Dans environ 30% des cas, fort dune exprience pouvant aller jusqu' trente cinq ans de bon
et loyaux services, le banquier navait pas besoin de cette note pour savoir quil y avait un
risque de dpart. Il connat certain profil type.
Dans environ 30% des cas, cette note leve tait une fausse alerte. Le banquier aprs avoir
questionn longuement le client, ny a pas relev de risque rel.
Dans environ 40% des cas, le banquier a admis que si il navait pas eu cette information, il
naurait rien fait pour comprendre son client et essayer de le fidliser, alors quil y avait un
risque.

Pour rsumer, dans 60% des cas, notre modlisation napporte aucune connaissance, voir pire, dans
30% des cas, nous fait perdre du temps. Nanmoins, si lon compare la performance de ces agences
pilotes par rapport lensemble des agences du groupe, les agences pilotes ont divis par quatre le
taux de dpart. Sachant que pour ce groupe bancaire, les banquiers ont une prime en fonction du
nombre de clients, il est alors possible de grer le changement en prsentant de manire chiffre, le
gain apport par le dcisionnel, notamment sur la prime de fin danne de chaque collaborateur.

Dans la plupart des projets dcisionnels, il est important de procder par tape et par itration afin de
grer correctement le changement. On dfinit un pilote, on analyse les retours sur investissement
gnrs, et si les rsultats sont suffisamment probants, on dploie sur un primtre plus large avec
des chiffres justificatifs lappui.

Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 13/204

Dfinition de linformatique dcisionnelle :

Linformatique dcisionnelle permet de transformer la donne en connaissance.

La chaine du dcisionnelle

Nous allons aborder linformatique dcisionnelle en cinq grandes tapes :
1. La panification : Mettre en place une plateforme dcisionnelle est gnralement un projet
complexe, il est donc important de commencer sur des bases solides. Il faut pour cela avoir
une mthodologie bien dfinie.
2. ETL (extraction transformation loading) que lon peut traduire par extraction
transformation et chargement. La chaine du dcisionnelle commence par lintgration, la
validation de la qualit des donnes, la transformation et le chargement de lentrept de
donnes.
3. Une plateforme dcisionnelle doit souvent grer dimportants volumes de donnes. Les bases
de donnes dcisionnelles se mesurent parfois en dizaines voir centaines de traoctets. La
performance du stockage de cet entrept est cruciale.
4. Analyse : le dcisionnel doit permettre de transformer des donnes en connaissance ce qui
ncessite gnralement des outils de statistique, voir de Data Mining, dconomtrie ou de
recherche oprationnelle.
5. Restitution : la chaine du dcisionnel se termine par la diffusion de la connaissance travers
un portail, un outil permettant des utilisateurs non informaticiens de faire de faon intuitive
en quelques cliques des rapports, des analyses et de les partager.
Planification ETL Stockage Analyses Restitution
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 14/204

Prsentation du cas Orion Star
La socit : Orion Star
Cette socit fictive, prsente au niveau mondial, est spcialise dans la commercialisation darticles
de sport et dextrieur.
Le sige social, aux tats-Unis, gre des filiales en Belgique (depuis 1999), Pays-Bas, Allemagne,
Royaume Uni, Danemark, France, Italie, Espagne et Australie.
Les produits sont vendus en magasin, par catalogue et par Internet.
Une carte de fidlit: Orion Star Club, propose beaucoup davantages.
Toutes les informations sont disponibles sur la priode allant du premier janvier 1998 au 31 dcembre
2002. Nous nous considrerons donc virtuellement en date du premier janvier 2003.
Structure de lorganisation :
Le sige social qui se trouve aux Etats Unis hberge la majeure partie des fonctions administratives,
soit un nombre important demploys, entre 600 et 800. Le sige social centralise aussi la gestion des
stocks, la vente par catalogue, la vente par Internet et limport export. Nanmoins, certains
employs grent aussi ces fonctions depuis les diffrentes filiales.

Les employs sont enregistrs dans la base de donnes selon cinq niveaux :
1. Pays
2. Compagnie
3. Dpartement
4. Section
5. Groupe

Les informations complmentaires sur les employs sont notamment :
Date dentre et de dpart de lemploy
Date de dbut et de fin de contrat (pour certain contrat)
Adresse
Sexe
Salaire
Responsable hirarchique

Anthony Miller
Chief Executive
Officer
Christine Fletcher
Chief Marketing
Officer
Harry Highpoint
Chief Sales
Officer
Max Crown
Chief Financial
Officer
Bao Krafve
Secretary
Jay Havasy
Director
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 15/204

Loffre
La socit Orion Star propose environ 5500 rfrences de produits. Certaines ne sont pas vendues
dans tous les pays.

Les produits sont organiss selon 4 niveaux:
1. Ligne de produit
2. Catgorie de produit
3. Groupe de produit
4. Produit

Chaque produit a un cot et un prix de vente. Le systme informatique gre tous les prix en dollars.
En utilisant les dates de dbut et de fin, ces prix varient en fonction du temps. Cet historique est
sauvegard. Le systme gre aussi les remises pour certains produits, certaines priodes. Les prix
sont gnralement uniques de par le monde.
Les clients
Les clients dOrion Star sont repartis travers le monde, notamment dans les pays o se trouvent des
filiales, mais pas uniquement.
Les noms et adresses sont fictifs, mme si les villes, rgions/comts et pays, sont rels.
La base de donnes enregistre environ 90 000 clients, tous ne sont pas actifs.
Ladresse des clients comprend tout ou partie des informations:
Rue
Code postal
Ville
Rgion / dpartement / comt
Etat
Pays
Continent

La gestion des adresses est contrle par des pointeurs (identifiant de colonnes), ce qui facilite le
changement dadresse.
Les clients sont classs dans des groupes en fonction de leur activit dachat.
Les commandes
La plupart des commandes de cette tude de cas sont pour des clients dtenteurs de la carte de
fidlit Orion Gold, clients pour lesquels les informations sont enregistres.
Chaque commande pointe vers le commercial qui a enregistr la vente. Environ 980 000 commandes
sont enregistres dans cette tude de cas, commandes qui refltent notamment les saisonnalits.
Chaque commande comprend une ou plusieurs lignes, une ligne par produit.
Les fournisseurs
Chaque produit provient dun fournisseur qui est bas dans un pays, mais toutes les commandes sont
passes par le sige social. Il y a 64 fournisseurs, mais un seul fournisseur par produit.
Les utilisateurs du systme dcisionnel
Nous allons utiliser diffrents profils dutilisateur correspondant diffrentes fonctions. Dans certains
projets, au moins une personne occupe chaque poste, mais dans bien des cas, une mme personne
pourra cumuler plusieurs responsabilits. Parmi ces fonctions dont il serait impossible de faire une
liste exhaustive tellement chaque entreprise a ses spcificits, notons ladministrateur de la
plateforme, le dveloppeur ETL, le gestionnaire des rapports, les utilisateurs mtiers, le statisticien, le
chef de projet.

La socit Orion Star vient dacqurir une plateforme dcisionnelle pour lamlioration de sa
performance. Ce Systme devra terme tre utilis par tous les dpartements. Il extrait linformation
Mise en place de la plateforme dcisionnelle SAS sur ltude de cas Orion Star 16/204

de lactuel systme transactionnel, du systme de gestion oprationnel intgr, mais aussi de sources
externes.

Le dpartement informatique doit donc construire un Data Warehouse et des Data Marts capables de
rpondre au besoin de requte, de Reporting, danalyses avances et de prvisions.

Lquipe projet se constitue notamment de :

Schma de la base de donnes oprationnelle

Les deux schmas ci-dessous sont identiques.
Groupe Numro
Employ
Nom Fonction Responsabilit Pays Application
Administrateur 120804 Ahmed Zied Administrateur Installation,
configuration,
dfinition des
droits, des
bibliothques,
intgration avec les
applications
existantes
US SMC
ETL
administrateur
120791 Richard
Chiselolff
Spcialiste ETL ETL team Leader,
architect design -
DW, manage team
members,
ordonnancement
des tches
US SMC
ETL
ETL
Dveloppeur
120798 Elizabeth
Ardskin
ETL
Dvelopper
ETL dvelopper,
design
implmentation
processus
US ETL
Dveloppement
d'application
120805 Robert
Walker
Report
Administrateur
Cration,
administration et
distribution de
rapport, de
procdures
stockes.
US EG, SMC,
IMS, WRS,
Portal
Analyste 120727 Donald
Marples
Assistant
marketing
cration et
distribution
d'analyse avance
et de rapport
US EG
PDG 120259 Anthony
Miller
Chief Executive
Officer
Consommateur de
rapport
US Portal
WRS
Commerciale 120413 Abderhaman
Ferbu
Commerciale Consommateur de
rapport
FR Portal
WRS
Chef de projet Marcel
Dupree
Chef de projet Chef du projet
Orion
US
17
18
19
Modle de donnes du Data Warehouse

20
Pr-requis
Installation SAS
Ce cas suppose que la plateforme dcisionnelle de SAS est installe.
(Voir documentation dinstallation : 9_Doc_Install_EIP_V2)

Dans le cadre dune installation monoposte, vrifier que les formats Orion sont bien pris en compte
par la plateforme SAS.
Si dans C:\SAS\9.1\Lev1\SASMain\SASEnvironment\SASFormats se trouve un fichier
formats.sas7bcat, les formats du cas Orion sont bien pris en compte.
Si non, copier le fichier formats.sas7bcat se trouvant dans C:\SAS\Orion\Programmes\orformat dans
C:\SAS\9.1\Lev1\SASMain\SASEnvironment\SASFormats ; puis redmarrer le serveur de
mtadonnes de SAS.
Remarque : le fichier de configuration sasv9.cfg de dmarrage de la plateforme se trouvant dans
C:\SAS\9.1\Lev1\SASMain, comprend loption :
-set library ("SASEnvironment/sasFormats")

Vrifier que les services SAS dmarrs :
Clique droit sur le poste de travail puis Grer.

Dans les services et application dans les services, il faut que les services SAS Lev1 xxxx soient
dmarrs.
Gestion des profils
Pour se connecter une interface cliente Java de la plateforme dcisionnelle SAS, il est ncessaire
de crer un profil. Ce profil contient les informations sur lutilisateur : nom dutilisateur et mot de passe,
et sur la connexion au serveur : nom du serveur et port de communication.
Il est ncessaire de crer un profil de mtadonne utilisateur pour se connecter aux interfaces comme
notamment la console dadministration, SAS Data Integration Studio ou Information Maps Studio.
Lors de la premire connexion une application cliente Java, lassistant suivant apparat :

21
Nous allons crer un nouveau profil : slectionner Crer un Profil de mtadonne et cliquer sur
OK.

Suivant.

Lui donner un nom : Utilisateur SAS sur SASMain .
Un utilisateur doit souvent se connecter plusieurs environnements sur plusieurs machines, ne pas
hsiter donner un nom de profil de mtadonne explicite.

22
Rentrer le nom de la machine laquelle vous souhaitez vous connecter.
Lorsque le serveur de mtadonne auquel vous vous connecter se trouve sur la mme machine que
celle o vous tes, le nom de machine localhost fonctionne. Ladresse IP du serveur fonctionne
aussi.
Le port par dfaut du serveur de mtadonne est le port 8561 (par dfaut).
Entrer votre identifiant et votre mot de passe.
Cliquer sur suivant.

Slectionner le rfrentiel de mtadonne auquel vous souhaitez vous connecter
Puis cliquer sur suivant.

23
Cliquez sur terminer.

Dans le cadre de ce cas, il faut crer deux profils :
1. Un profil pour ladministrateur des mtadonnes de SAS : (sasadm). Ce profil sera utilis
uniquement pour se connecter la SMC (SAS Management Console). Il ne faut jamais se
connecter avec sasadm dans une autre interface que la SMC.
2. Un profil utilisateur (sasdemo). Lutilisateur sasdemo prendra tour tour les fonctions
dETListe, danalyste mtier, de statisticien, de Data Miner, de CIO et de directeur France.

Larchitecture de la plateforme dcisionnelle SAS

La plateforme dcisionnelle SAS peut tre aborde selon trois axes majeurs. Laxe technologique,
laxe direction mtier, laxe secteur dactivit. Ce paragraphe est propre la plateforme SAS, mais
peut souvent tre extrapol dautre outil dcisionnel.
Laxe technologique

Un projet de mise place dune plateforme dinformatique dcisionnelle est comme son nom lindique
un projet informatique, comportant quatre grandes technologies : intgration stockage de lentrept
de donnes analyse diffusion de la connaissance.

Prsentation de cinq grands lments de la plateforme SAS, en rfrence au schma ci-dessus :
1. Mettre en place une plateforme dcisionnelle administre, ncessite un serveur de
mtadonnes
1
central, grer par une console dadministration. Cest le cur du systme, tout
passe par lui, le serveur de mtadonnes. Toutes les donnes, tous les utilisateurs, toutes les
machines, etc. y sont rfrencs. A chaque connexion dun utilisateur pour excuter un
processus, il est demand au serveur de mtadonnes si lutilisateur bien les droits

1
Mtadonnes : littralement : donnes sur la donne. Il sagit de lensemble des informations qui
permettent de qualifier une donne, par sa provenance, son format, sa date de mise jour, les droits
dadministration, de modification, de lecture, etc. qui lui sont attach, etc. La mtadonne est une
tiquette attache la donne qui doit permettre sa traabilit depuis son origine, afin notamment
den garantir la qualit.
Un serveur de mtadonnes (metadata server) gre les donnes sur les donnes, les utilisateurs, les
serveurs, les processus, etc. Il permet donc dadministrer une plateforme.
1
2
3
4
5
24
ncessaires, o se trouvent les ressources machines disponibles, etc. pour crer les
interconnexions.
2. Intgration : sintgrer directement aux mtadonnes des systmes oprationnels, par
exemple communiquer avec les mtadonnes de lERP SAP grce au module SAS Data
Surveyors to SAP ; communiquer avec diffrentes bases de donnes avec SAS/Access to
Oracle, DB2, Teradata, etc. Le dcisionnel commence par lintgration avec les systmes
oprationnels.
3. Stockage de lentrept de donnes : en fonction du volume stocker, du type, de la frquence
des interrogations et dautres paramtres, diffrents systmes de base de donnes peuvent
tre utiles pour lentrept de donnes, comme les bases multidimensionnelles avec SAS
OLAP server, les bases paralllises avec SAS SPDS, ou autre.
4. Analyse : Parmi lensemble des produits proposs par lditeur SAS, notons les interfaces
a. SAS Enterprise Guide permettant de manipuler les donnes, faire des statistiques
avances et des rapports.
b. SAS Enterprise Miner, loutil de Data Mining
5. Diffusion de la connaissance : le portail dcisionnel est le point dentre vers toutes les
interfaces clientes comme par exemple SAS Web Report Studio, loutil de Reporting de
masse de SAS. Ces applications, essentiellement Web, offrent la possibilit de crer
simplement des rapports et de partager la connaissance.

Cette plateforme a t conue autour de quelques grands axes majeurs :
Laxe intgration :
Extraire linformation de diffrents systmes pour alimenter lentrept de donnes dcisionnel est
ncessaire, mais il est prfrable que cette communication inter-systmes soit bidirectionnelle. Par
exemple, extraire la base de donnes client, la nettoyer (gestion des doublons, validation croise, etc.)
faire des analyses pour crer des indicateurs et rinjecter ces informations traites dans les systmes
oprationnels. Un systme dcisionnel nest pas au dessus des systmes oprationnels, mais est
complmentaire, il doit donc sy intgrer.
Afin de sintgrer aux bases de donnes du march et aux mtadonnes des principaux ERP, voici
une liste dexemple non exhaustive doutils SAS (seuls les plus connus) :
o SAS/ACCESS Interface to SAP BW
o SAS/ACCESS Interface to Teradata
o SAS/ACCESS Interface to DB2
o SAS/ACCESS Interface to MySQL
o SAS/ACCESS Interface to ODBC
o SAS/ACCESS Interface to OLE DB
o SAS/ACCESS Interface to ORACLE
o SAS/ACCESS Interface to PC Files
o SAS/ACCESS Interface to PeopleSoft
o SAS/ACCESS Interface to R/3
o SAS/ACCESS Interface to SYBASE
o Etc.

Laxe interoprabilit :
Une plateforme dcisionnelle dit pouvoir interagir avec de nombreuses, architectures et technologies,
comme par exemple :
Une architecture multi-tiers de Business Intelligence, reposant sur Java permet une portabilit
des interfaces utilisateurs sur de nombreux OS
1
Support tendu des Services Web (.Net ou Java
2
)
Utilisation de technologies standards (J2EE, XML, .Net, OLE DB for OLAP, )
Applications tierces (Java, C++, C#...) clientes de SAS

1
OS : Operating System : exemple de systme dexploitation : MVS, ALP, ALX, HP-UX, IBM-AIX,
Sun-Solaris, Unix, Linux, Red Hat, Windows NT, Windows 2000, Windows XP (liste non exhaustive)
2
.Net prononc dot net est une technologie dveloppe par Microsoft, Java est une
technologie dveloppe par Sun.
25
Lun des dfis majeurs du dcisionnel, est de faire travailler ensemble des collaborateurs au
profil trs diffrent : consommateur dinformation, dcideur, analyste, administrateur, etc. Pour
chaque profil, une interface adapte au besoin a t conu.
Les diffrents composants de la plateforme peuvent tre installs sur plusieurs systmes
dexploitation : MVS, ALP, ALX, HP-UX, IBM-AIX, Sun-Solaris, Linux, WNT, W2K, WXP
Le but de la plateforme dcisionnelle est de fournir la bonne information au bon format
Intgration de SAS dans la suite Office (Excel, Word, Power Point)

Laxe ouverture
La plateforme SAS doit aussi pouvoir communiquer avec dautres produits, dautres diteurs de
Business Intelligence. Les trs grands groupes ont en moyenne quatre outils dcisionnels dditeurs
diffrents. La norme CWM (http://www.omg.org/cwm/ ) permet la communication des mtadonnes
entre diteurs. Voici une liste non exhaustive de communication possible partir de la plateforme SAS
(seuls les principaux)
o SAS Metadata Bridges for Business Objects
o SAS Metadata Bridges for CA
o SAS Metadata Bridges for Cognos
o SAS Metadata Bridges for Hummingbird
o SAS Metadata Bridges for Hyperion
o SAS Metadata Bridges for IBM Rational Rose
o SAS Metadata Bridges for IBM WebSphere DataStage
o SAS Metadata Bridges for Informatica
o SAS Metadata Bridges for Microsoft Excel
o SAS Metadata Bridges for Microsoft SQL Server
o SAS Metadata Bridges for MicroStrategy
o SAS Metadata Bridges for NCR Teradata
o SAS Metadata Bridges for Oracle
Pour les modles de Data Mining, la norme est le format PMML (http://www.dmg.org/ )
Laxe puissance
Imaginer quon vous prsente une nouvelle application, une de plus, qui doit vous permettre de
rsoudre de multiples problmes, daccder enfin toute la connaissance dont vous avez besoin,
mais que lorsque vous utilisez effectivement cette application, il vous faut une heure pour faire un
simple rapport parce que la plateforme est trop lente ; vous nutiliserez pas cette application.
Pour avoir des temps de rponse toujours bons, des machines performantes sont ncessaires, mais il
est important dexploiter au maximum la puissance machine par une utilisation intensive de la
paralllisation avec des technologies comme :
Environnement Multi-tier,
Serveurs Multi-utilisateurs,
Traitements Multi-thread,
Base de donnes Multi-thread,
Scaling OUT : architectures multi-tiers (Cf MpConnect technology),
Scaling UP : Fonctions multithreads (Data Mining, calculs dagrgats, tris, etc.),
Scaling I/O : Entres/sorties (bases multidimensionnelles, bases relationnelles).
Laxe administration
Un systme dinformation dcisionnelle doit permettre le partage de linformation, il ne faut donc pas
que ce soit la dictature, personne na suffisamment de droit pour accder la connaissance dont il
pourrait avoir besoin, soit des droits trop restrictifs ; ni que ce soit lanarchie due trop de droit, tout le
monde ne doit pas tout pouvoir regarder ; mais que ce soit la dmocratie de la connaissance, c'est--
dire que chacun puisse accder toutes linformation dont il a besoin et uniquement cette
information. Il est donc ncessaire davoir une administration centralise rigoureuse pour dfinir
prcisment :
Les droits de lecture, qui peut regarder quoi
La gestion de toutes les composantes des solutions dcisionnelles en place
26
Les droits sur les rapports
Les droits sur les applications
Etc.
Cette administration doit permettre de prserver la cohrence et homognit

Voici quelques fonctionnalits de la console dadministration :
Meta Integration Technologies
o Monitoring : visionner qui utilise quelle ressource
Processus
Applications
o Procdures
Autorisations
Contrles dAccs
Ressources
o Environnement
Mtadonnes
Serveurs
Applications
Utilisateurs
o Maintenance de la plateforme
Licence
Installation
Dploiement

Cette gestion centralise des mtadonnes, permet la rplication de celles-ci entre les diffrents
serveurs SAS, ce qui est particulirement important dans la gestion de projet. En effet, il est alors
possible de dvelopper dans un environnement de dveloppement puis de rpliquer, copier,
lensemble de cet environnement dans un environnement de test, puis dans un environnement de
production.

Que ce soit sur une mme machine, ou sur des machines diffrentes, cette organisation du projet
permet aux environnements de dveloppement, de test et de production, dtre distincts. Dans
certains projets, il ny a que deux environnements, un de dveloppement et un de test, dans dautre,
plus complexe, il peut y en avoir plusieurs.
Laxe ergonomie
Une plateforme dcisionnelle doit permettre de fournir la bonne information la porte de chaque
utilisateur, ce qui implique notamment une interface pour chaque profil dutilisateur. Tous les diteurs
dinformatique dcisionnelle proposent maintenant un portail dcisionnel pour fdrer la connaissance.
27
Si lon veut que linformation soit bien reue, il faut la prsenter dune jolie manire comprhensible.
Dans le cadre de groupes internationaux, prsenter chaque utilisateur linformation dans sa langue
est primordial. Pour le support des langues, en fonction des paramtres rgionaux de la machine de
lutilisateur, les interfaces doivent se prsenter dans la langue adquate.

Laxe Compatibilit
Le passage de la suite de module de la version 8.2 de SAS la plateforme dcisionnelle SAS 9 est un
changement fondamental. Nanmoins tous les produits, programmes, bases de donnes,
dveloppement sont compatibles.

Rsum :
La plateforme dcisionnelle SAS est donc une solution qui offre notamment :
Toutes les fonctions dcisionnelles :
ETL, SGBD, OLAP, REPORTING, DATA MINING, etc.
Sur un socle commun
Reposant sur des mtadonnes communes
Gre par un outil dadministration unique
Autour dun langage commun

Laxe mtier

Le deuxime axe majeur dune plateforme dcisionnelle, est laxe mtier. Un systme dcisionnel
pour une direction marketing, nutilise pas les mmes KPI
1
, les mmes informations, etc. quun
systme dcisionnel pour la direction des ressources humaines. Si les composants technologiques
sont dans lensemble assez similaires, larchitecture fonctionnelle est fondamentalement diffrente.
Par contre on retrouve souvent des problmatiques similaires entre deux entreprises.
Par exemple, une solution dcisionnelle pour la gestion des ressources humaines doit permettre de
rpondre des challenges comme :
Anticiper, simuler et prvoir les changements de lorganigramme. Actuellement, la simulation
des dparts dus au papi-boum doit aider la mise en place dune stratgie globale de
management du changement et de gestion de ces impacts.

1
KPI : Key Performance Indicator, indicateur cl de performance.
28
Analyse des tendances. Regarder le taux de turnover
1
et se focaliser sur un mauvais
indicateur qui nest que la consquence de diverses tendances. Analyser ces tendances pour
anticiper cet invitable renouvellement et mettre en place une stratgie de recouvrement des
comptences, est une problmatique importante notamment dans le secteur des nouvelles
technologies.
Dfinir et communiquer une stratgie quilibre de gestion des ressources humaines afin
dtablir une relation de confiance durable entre collaborateurs, mais aussi vis--vis des
actionnaires et des partenaires sociaux.
Dfinir et dcliner la stratgie globale en objectifs individuels et vrifier la concordance des
objectifs locaux et globaux.
Une solution dcisionnelle pour les ressources humaines doit apporter la connaissance permettant
didentifier, de qualifier, de dfinir et de communiquer les indicateurs stratgiques danalyse et de
gestion de la performance afin daligner et de concorder les objectifs globaux ceux individuels.
Concrtement, ceci implique un entrept de donnes construit pour offrir des analyses, des
simulations et des prvisions optimises, et pour partager cette connaissance induite.

Vous trouverez plus dinformation sur les solutions SAS par mtier sur les pages :
http://www.sas.com/software/index.html
Exemple de solution mtier :
Activity-Based Management
Compliance
Customer Relationship Mgmt.
Financial Intelligence/BPM
Human Capital Mgmt.
Information Technology Mgmt.
Performance Management
Risk Management
Service Intelligence
Supplier Intelligence
Supply Chain Intelligence
Web Analytics
OnDemand Solutions

Laxe secteur dactivit

1
Turnover : taux de la masse salariale renouvele sur une priode de temps.
29
La gestion de la relation client nest pas la mme dans diffrents secteurs dactivit, certains secteurs
ont des besoins trs particuliers. Une solution dcisionnelle doit aussi sadapter chaque secteur
dactivit. Par exemple, les outils SAS sont utiliss depuis de nombreuses annes par les laboratoires
pharmaceutiques dans le processus dlaboration du dossier de demande dautorisation de mise sur
le march dun nouveau mdicament. Lanalyse des essais cliniques doit rsulter dinformation dont la
traabilit est garantie, de la source lagrgat. Par exemple, sur un dossier stipulant quun
mdicament nengendre pas deffet secondaire dans 98% des cas, il doit tre possible tout moment
de revenir sur lorigine de cette information, donc de pouvoir revenir aux dossiers des patients
volontaires ayant eu des complications pour complment dinformation. La technologie de traabilit
utilise pour cette problmatique a t adapte aux systmes daide la mise en conformit
demande par la loi de Sarbanes-Oxley.
En effet, suite aux affaires comme Enron, ayant eu des rpercutions importantes dans le monde de la
bourse, la loi de Sarbanes-Oxley demande aux dirigeants des socits ctes sur le march Nasdaq,
de certifier sur lhonneur la rigueur de leur compte. Linformatique dcisionnelle apporte des solutions
forte valeur ajoute dans ce domaine, notamment grce des outils de consolidation financire
utilisant des technologies de traabilit de linformation performant. Donc, pour rpondre ces
solutions, la technologie de traabilit, prouv dans le monde pharmaceutique, a t adapte des
solutions de consolidation financire. Si la technologie est la mme, les donnes, les indicateurs, les
processus, les architectures, les mthodologies, etc. sont compltement diffrentes dans ces deux
univers (laboratoire pharmaceutique consolidation financire)

Ce quil faut retenir, si toutes les solutions dcisionnelles ont des socles technologiques communs,
elles doivent tre adaptes chaque secteur dactivit qui possde ses donnes, ses indicateurs, ses
processus, ses architectures, ses mthodologies propres.

Vous trouverez plus dinformation sur les solutions SAS par secteur dactivit sur les pages :
http://www.sas.com/software/index.html
Exemples :
Automotive
Banking
Energy & Utilities
Financial Services
Government & Education
Health Insurance
Healthcare Providers
Hospitality & Entertainment
Insurance
Life Sciences
Manufacturing
Media
Retail
Telecommunications

30
En conclusion, une plateforme dcisionnelle comprend un axe technologique, un axe mtier et un axe
secteur dactivit. De plus, un systme dcisionnel tant notamment un outil de communication de la
stratgie, et la stratgie tant dpendante des valeurs de chaque socit, chaque systme
dcisionnel devient unique.
Mettre en place une plateforme dcisionnelle globale et intgre, pour lanalyse et la gestion de la
performance de lentreprise, ncessite un socle technologique solide adapt aux diffrents mtiers et
secteurs dactivit et une mthodologie se basant sur les meilleurs pratiques prouves.

Systme
dinformation
Secteurs
dactivit
Mtiers
31
Architecture technique de la plateforme dcisionnelle SAS

La plateforme dcisionnelle de lditeur SAS se dcompose en trois tiers principaux :
Le tiers client : partie sur le poste de lutilisateur, tiers qui peux tre de deux types :
1. client lourd : il faut installer quelque chose sur le poste de lutilisateur. Tous les clients de
la plateforme dcisionnelle sont dvelopps en Java, deux exceptions prs : SAS
Enterprise Guide et SAS Add-in to Microsoft Office. Ces deux composants sont
dvelopps avec la technologie .NET (Microsoft). Hormis ces deux produits, les clients
lourds de SAS comme la SAS Management Console, SAS Data Integration Studio (ETL),
SAS Information Maps ou SAS Enterprise Miner 5.2, ncessitent un Java Runtime
Environment (JRE) ; c'est--dire quil faut installer un JRE spcifique au systme
dexploitation, avant dinstaller le client. En dautres termes, si lon est sur une machine
Windows, il faut installer le JRE de Windows, et les clients que lon souhaite, pour une
machine Linux, il faut le JRE Linux associ et lon peut installer nos mmes clients Java.
Lintrt de ce type de technologie est que lon ne dveloppe quune seul fois chaque
interface cliente, puis pour les installer dans diffrents environnements, il suffit dinstaller
pralablement le bon JRE. Tous ces clients Java sont extensibles, c'est--dire que lon
peut y ajouter des fonctionnalits spcifiques, dvelopper des Plug-in particuliers et
les dployer sur tous les clients.
2. Client lger : il ne faut rien installer sur le poste client. Le navigateur Web Microsoft
Internet Explorer 6 tant suppos tre install, le dploiement de ce type de client est trs
facile, il ny a rien faire, il suffit lutilisateur de se connecter une adresse Web et il a
accs toutes les applications clientes lgres.
Client
Tier
Middle
Tier
Server
Tier
Client Java
Web Infrastructure Kit
Java Servlet
Container
webDAV
Server
HTTP Server SDK
Client .Net Client Web
Workspace
Server
Stored
process
OLAP
Server
Metadata
Server
SAS

9
Foundation
Connect
server
32
Le middle tiers : le tiers intermdiaire est uniquement ncessaire pour les clients lgers
(interface ncessitant seulement Microsoft Internet Exploreur sur le poste utilisateur). Cette
partie comprend toujours les composants :
1. un serveur Web http. Le serveur Web de la plateforme dcisionnelle SAS est Xythos. Un
serveur Web Apache ne permet pas davoir toutes les fonctionnalits du serveur Xythos,
mais est suffisant dans un cadre acadmique. (fonctionnalit dadministration du serveur
WebDAV, voir ci-dessous)
2. Un SDK (Software Development Kit ou Servlet Development Kit), en loccurrence le JDK
(Java Development Kit) de Sun. Un SDK est un ensemble d'outils permettant aux
dveloppeurs de crer des applications Web. Il est donc possible de dvelopper des
applications spcifiques pour tous les clients Web lger de la plateforme SAS.
3. Un conteneur de servlet Java. Presque toutes les applications lgres de la plateforme
SAS sont des servlets. Parmi les diffrentes technologies Java (par exemple : client lourd
Java ou Applet Java dans une page Web) les servlets sont des applications que lon
installe uniquement dans un serveur conteneur de servlets Java. Ce conteneur de servlets
doit tre associ un JDK et un serveur Web, on peut aussi interfacer les servlets
laide dAPI des bases de donnes relationnelles ; ou des structures hirarchiques de
type rpertoire comme par exemple les annuaires LDAP. Le kit de dveloppement
AppdevStudio est livr avec les API Java pour piloter de manire complte une plate-
forme SAS dans le cadre de servlet (et dapplet). Le conteneur de servlets gnre des
pages html la demande, en excutant la servlet. Sur le march actuel, on peut citer
Tomcat, dvelopp par lApache Group (gratuit) ; WebSphere, dvelopp par IBM et
WebLogic, dvelopp par BEA. Tomcat est suffisant pour les servlets SAS Web Report
Studio et le Portail, mais ne possde pas tous les pr-requis pour les applications Web
des Solutions SAS Customer Relationship Management, SAS Financial Management ,
SAS Human Capital Management, etc. Pour ces solutions, WebSphere ou WebLogic sont
requis.
4. Un serveur WebDAV (Web-based Distributed Authoring and Versioning) est un protocole
permettant de rcuprer, dposer, synchroniser et publier des fichiers (et dossiers)
rapidement et facilement. L'objectif principal de WebDAV est de rendre possible l'criture
travers le web et pas seulement la lecture de donnes. Dans notre cas de plateforme de
Business Intelligence, ce serveur permet des utilisateurs de crer des rapports et de les
enregistrer dans des rpertoires WebDAV. Ladministrateur pourra grer les droits d'accs
ces fichiers.
5. Le WIK (Web Infrastructure Kit) : ensemble des classes Java ncessaires pour connecter
la partie intermdiaire avec la partie serveur.

Le tiers serveur : la partie serveur est lendroit o est stock lentrept de donnes
dcisionnelles et o sexcutent les programmes. Ces programmes sont de plusieurs types :
processus ETL (Extraction Transformation Chargement), programme danalyse statistique,
danalyse Data Mining, de recherche oprationnelle, de rponse des requtes, de
gnration de rapport, etc.
o Le serveur de mtadonne est le cur du systme, il permet la gestion de toute la
plateforme dcisionnelle car tout passe par lui.
o Le serveur despace de travail logique regroupe lensemble des serveurs physiques
despace de travail. Ce serveur logique rparti via un Object Spawner , les
programmes excuter, entre les diffrents serveurs physiques.
o Le serveur de procdure stocke gre et excute les procdures stockes. Par
exemple, un statisticien cre un programme danalyse et lenregistre en procdure
stocke. Cette procdure peut tre alors excute distance par diffrents
utilisateurs.
o Le serveur OLAP renvoie la rponse aux requtes sur les bases de donnes
multidimensionnelles quil gre.
o SAS Foundation : SAS Foundation est lensemble des modules SAS, dont
SAS/BASE. Dans une architecture o le serveur est sur une machine Windows,
SAS/BASE et les modules de SAS Foundation se trouve installs par dfaut dans le
rpertoire C:\Program Files\SAS\SAS 9.1. Les programmes excuts par les serveurs
despace de travail et de procdure stocke sont en fait des programmes SAS,
excuts sur dans une session SAS/BASE.
33
Scalability : Capacit monter en puissance.

Explication du processus : prenons lexemple dun utilisateur de SAS Web Report Studio, ce client se
connecte au serveur intermdiaire en entrant ladresse Web de SAS Web Report Studio, qui lui
demande de sidentifier. Pour tablir une connexion, le serveur intermdiaire demande au serveur de
mtadonne, le cerveau de la plateforme, si lutilisateur est connu dans les mtadonnes de SAS et si
cest bien le bon mot de passe.
Une fois connect, donc reconnu, si notre utilisateur souhaite crer un rapport ncessitant lutilisation
dinformations grs par diffrentes bases de donnes, et ncessitant plusieurs procdures, lors de la
conception de ce rapport, seul les mtadonnes gres par le serveur de mtadonnes sont
manipules, puis lorsque lutilisateur demande la gnration, un programme SAS (un Job SAS) est
cr de tel sort quil exploite au maximum la puissance machine disponible.
Le serveur de mtadonnes stockant linformation sur les bases de donnes, les utilisateurs, les
machines, les droits associs aux diffrentes entits, possde toute linformation permettant de crer
un programme paralllis en accs aux bases de donnes et rparti sur plusieurs machines, le scaling
out, rpartition paralllise elle-mme sur les processeurs de ces machines, scalling up.
Les procdures sont donc paralllisables par processeur ou CPU (Central Processing Unit, Unit
centrale de traitement )

Un systme dcisionnel doit pouvoir monter en charge au fur et mesure de sa vie. Il est donc
primordial dexploiter au maximum la puissance machine. De plus, ladministration centralise permet
si besoin est, dajouter simplement une machine de traitement et une fois rfrence dans les
mtadonnes, cette machine sera utilise par les algorithmes de rpartition de charge.

Les utilisateurs et groupe de base :
Les diffrents utilisateurs par dfaut
SAS Administrator (sasadm) :
Unrestricted User dclar dans le fichier adminUsers.txt
Sert uniquement administrer les mtadonnes
Ne doit pas tre utilis depuis un client SAS autre que la SAS Management Console
SAS Trusted User (sastrust) :
Utilisateur de confiance dfini dans le fichier trustedUsers.txt
Utilis par les services pour se connecter au serveur de mtadonnes
Utilis par les applications Mid-Tiers pour se connecter au serveur de mtadonnes
pour le compte de clients dj authentifis
SAS Guest User (sasguest) :
Utilisateur public, utilis notamment depuis le portail
SAS Demo User (sasdemo) :
Utilisateur public, utilis pour tester les diffrentes connexions
SAS Web Administrator (saswbadm) :
Administrateur des applications Web.
Dispose notamment des droits dadministration dans le Portail
SAS server (sassrv) :
Dispose de droits trs particuliers. Il fait notamment parti des administrateurs de la
machine.
Dfini lors de linstallation, il lance les serveurs.
On ne se connecte jamais sous ce nom.

Les diffrents groupes par dfaut
PUBLIC :
Tous les utilisateurs identifis possdent le profil Public
SASUSER :
Tous les utilisateurs disposant dun profil dans les Metadonnes possdent le profil
SASUSER

34
SAS General Server :
Dispose du login utilis pour lancer les sessions Stored Process Server (sassrv)
Le compte SAS Trusted User appartient ce groupe
SAS System Services :
Pas de login
Les comptes SAS Trusted User et SAS Web Administrator appartiennent ce groupe
Groupe utilis pour installer et dmarrer les sessions SAS pour le compte
dapplications et dutilisateurs finaux (applications Web)
35
Bibliothque

Vrifier que les bibliothques Orion Data Store et Orion Data Warehouse ont bien t cres.
Pour cela, ouvrir la SAS Management Console (Dmarrer Programmes SAS SAS
Management Console) avec lutilisateur administrateur (gnralement sasadm).
Si ces bibliothques nont pas t cres, les crer :

Cration dune bibliothque :
Bibliothque SAS Base
36
Dans la SAS Management Console (SMC) Dans le Gestionnaire de Bibliothque (en anglais Library)
Bibliothque SAS. Cliquer droit de la souris, nouvelle bibliothque.

Parmi les bibliothques SAS, slectionner celle de type SAS Base. Cliquer sur suivant.

Remarque sur les diffrents types de bibliothque SAS :
Bibliothque de compatibilit SAS V6, permet dutiliser des tables SAS dextension .sd2
Bibliothque de moteur de donnes performance volutive. SPDE est un module intgr
maintenant au socle de base de SAS, Scalable performance Data Engine. Les bibliothques
SPDE permettent lenregistrement des table est des index associs sur de multiples partitions,
afin de parallliser correctement les diffrentes tches.
o Partitionnement hash et valeur : donnes, index
o Index dcisionnels : B-tree et Bitmaps
o Paralllisation implicite : lecture et criture
o Archivage automatique des historiques
o Backup/restore incrmental
37
o Administration centralise
Bibliothque de moteur SAS Scalable performance Data Server V4. SPDS v4 est un module
complmentaire de SAS/BASE. Les bibliothques SPDE permettent lenregistrement des
tables et des index associs sur de multiples partitions, afin de parallliser au maximum les
diffrentes tches. SPDS devient ncessaire pour les trs grosses volumtries.

Donner un nom explicite la bibliothque SAS.
Cliquer sur suivant.

Donner un libref la bibliothque. Un libref ici est un nom sans espace, sans caractre spciaux, de 8
caractres maximum.
Cliquer sur nouveau pour crer un chemin daccs,

Entrer le chemin du rpertoire auquel vous souhaiter affecter la librairie.

38
Lorsque le libref et le chemin sont dfinis, cliquer sur suivant.

Slectionner le serveur daffectation SASMain, il faut quil soit slectionn (Bleu).
Cliquer sur suivant.

39
Vrifier les informations, cliquer sur terminer.

Si vous slectionnez la bibliothque, vous ne verrez aucune mtadonne des tables qui se trouvent
ventuellement dans le rpertoire dfini.
Crer une bibliothque, cest uniquement dfinir au niveau des mtadonnes de SAS ces informations.
Pour importer les mtadonnes des tables, vous pouvez le faire dans SAS Data Integration Studio,
ou directement dans la console dadministration :

Clique droit, importer les tables ou plus exactement, importer les mtadonnes des tables.

Exemple pour la bibliothque Orion Data Store

40
Si vous tes connect dans la SMC avec ladministrateur sasadm, utilisateur non restreint dans la
gestion des mtadonnes de SAS, vous devez ressaisir votre mot de passe car tant super-utilisateur,
votre mot de passe ne peu tre sauvegarder mme momentanment.

Cliquer sur suivant,

41
Cliquer sur Slectionner tout .
Cliquer sur suivant.

Cliquer sur terminer.
42
Vous avez import les mtadonnes des tables, que vous pouvez voir en faisant un clic droit sur la
table, puis proprit.

Cration dune bibliothque Oracle

Nous allons affecter lutilisateur Scott (mot de passe : tiger ) pour se connecter la base
Oracle, tous les utilisateurs SAS. Tous les utilisateurs reconnus par le systme dauthentification de
SAS se basant sur le serveur de mtadonnes, aprs vrification, auprs de lOS par dfaut, mais se
peut aussi tre un annuaire LDAP par exemple ; font parti du groupe SASUSER.

Remarque : pour crer une bibliothque Oracle, il faut que le Module SAS/Access to Oracle soit
install et sous licence.

Clic droit sur SASUSER proprit.

43
Dans longlet comptes (en haut)
Nouveau (en bas)

44
Entrer le nom (scott) et deux fois le mot de passe (tiger)
Cliquer sur nouveau pour crer un nouveau domaine dauthentification.

Donner un nom
Cliquer sur OK

Cliquer sur OK

Pour le groupe SASUSER (tous les utilisateurs authentifis dans les mtadonnes de SAS) sils
doivent se connecter au domaine par dfaut, se sera avec leur mot de passe, sils doivent se
connecter au domaine Oracle, ils utiliseront de faon transparente lutilisateur Scott et son mot de
passe Tiger.
On peut ainsi dfinir diffrent domaine pour attaquer diffrentes bases de donnes, et les utilisateurs
nauront pas entrer de mot de passe, ce sera fait pour eux de manire transparente.
Gnralement pour lire des donnes dans une base de donnes, on crer un utilisateur spcifique.
Par exemple, ladministrateur de la base Oracle crer sur sa base un utilisateur donneeDecision
qui a seulement le droit de lire quelques donnes. Ladministrateur des mtadonnes de SAS peut
alors dfinir cet utilisateur intermdiaire qui sera utilis de faon transparente.

Pour crer maintenant la bibliothque Oracle proprement parler,

Clic droit sur Bibliothque SAS Nouvelle bibliothque

45
Slectionner Bibliothque Oracle
Suivant

Donner un nom la bibliothque
Suivant

46
Donner un Libref
Suivant

Sil ny a pas de serveur Oracle de dfini, cliquer sur Nouveau serveur de base de donnes

Donner un nom au serveur de base de donnes

47
Slectionner la machine associe. Si elle nest pas encore dfini, cliquer sur nouveau

Cliquer sur OK,

Cliquer sur suivant

48
Entrer le chemin daccs, nom de la base de donnes et domaine (ici : mabase.emea.sas.com)

Slectionner le Domaine dauthentification : Oracle cr prcdemment.
Cliquer sur suivant,

49
Cliquer sur terminer

Nous avons cr un serveur de base de donnes, il faut maintenant crer un schma. Cliquer sur
Nouveau pour schma de base de donnes.

Donner un nom
Suivant

50
Le schma de la base de donnes est scott, (Scott est par dfaut quivalent au Data Base
Management System (DBMS) dune base Oracle)

Terminer

Nous avons un serveur et un schma.
Cliquer sur suivant.

51
Slectionner SASMain (bleu) et cliquer sur suivant.

Terminer.

Cration dune bibliothque Microsoft Access via lODBC.
Dfinition de la source ODBC dans le systme dexploitation :
Dans Dmarrer paramtres panneau de configuration outil dadministration Sources de
donnes (ODBC)

52
Dans longlet sources de donnes utilisateur
Ajouter les bases de donnes se trouvant dans C:\SAS\Orion\Prod_csv\Prod_mdb :
customer_type.mdb
GEO_TYPE.mdb

Cliquer sur ajouter

Slectionner driver do Microsoft Access (*.mdb)
Cliquer sur terminer

53
Lui donner un nom
Cliquer sur slectionner

Dans la partie droite, slectionner le rpertoire C:\SAS\Orion\Prod_csv\Prod_mdb, puis dans la partie
gauche, customer_type.mdb, enfin, cliquer sur OK.

54
Cliquer sur OK.

La source de donnes ODBC customer_type a t cre.
Cliquer sur OK.

Dfinition dune bibliothque ODBC

55
Dans la SMC, cliquer droit sur le gestionnaire des bibliothques nouvelle bibliothque.
Slectionner une bibliothque de type ODBC
Suivant.

Donner un nom explicite la bibliothque.
Suivant.

56
Donner un libref.
Suivant.

Pour dfinir un serveur de base de donnes ODBC, cliquer sur Nouveau.

57
Donner un nom
Suivant

Dfinir le type de source de donne :ODBC Microsoft Access
Dfinir la machine associe
Suivant

Slectionner source de donnes
Entrer le nom de la source ODBC : customer_type
Suivant

58
Terminer

Suivant

59
Slectionner SASMain (bleu)
Suivant

Terminer.

60
ETL
Lobjectif de ce chapitre est de prsenter la prparation et la planification dun projet de Data
Warehouse, et la cration de flux ETL : extraction, transformation et chargement. Un processus ETL
se dcompose en cinq phases :
1. Dfinition des mtadonnes source : description des bases de donnes oprationnelles.
2. Dfinition des mtadonnes cible : description des futures bases du Data Warehouse.
3. Validation de la qualit des donnes
4. Cration du processus qui permet de charger la cible en utilisant les donnes sources.
5. Ordonnancement

La gnration dun processus ETL est au premier abord un simple problme technique. Mais cest
souvent aprs quelques annes que lon saperoit de limportante ncessit dune mthodologie
rigoureuse. Nous allons donc aborder ce chapitre en suivant une mthodologie qui peut paratre
lourde, mais qui est ncessaire pour faire voluer le systme dcisionnel tout au long de sa, si
possible, trs longue vie.

Ce chapitre sadresse tout principalement aux:

Utilisateurs de SAS Data Integration Studio, appel dans le jargon ETListes . Personne ayant pour
mission de gnrer les processus dextraction, transformation et chargement des entrepts de
donnes. Des connaissances approfondies en informatique et plus particulirement en base de
donnes et en programmation BASE/SAS sont pr-requises. En effet, comme nous allons le voir dans
ce chapitre, SAS Data Integration Studio gnre du code SAS/BASE, comprenant du code
SAS/MACRO et des procdures SQL. Mme si les fonctions de transformations implmentes dans
SAS Data Integration Studio couvrent une large gamme, il est trs souvent ncessaire de coder
certaines transformations. Pour les tudiants se destinant cette fonction, la certification SAS
Certified Base Programmer est un plus consquent.
Lune des forces de la plateforme SAS, est que lon peut toujours revenir la base, au code SAS.

Problme mtier :
Dans un monde o la concurrence est de plus en plus forte, des dcisions doivent tre prises sur des
informations claires, extraites de donnes nettoyes et intgres. Depuis les cadres suprieurs
jusquaux ouvriers, linformation est ncessaire pour prendre des dcisions tactiques et stratgiques. Il
est prouv que des milliards se perdent chaque anne cause de donnes de mauvaise qualit,
errones, etc. Derrire la mauvaise affectation des ressources, ce sont des clients insatisfaits, une
rosion de la crdibilit et lincapacit prendre la bonne dcision au bon moment.
La construction du Data Warehouse est le socle du processus dcisionnel. Lexpression garbage in,
garbage out est ici particulirement vraie ; si vous construisez votre Data Warehouse avec des
donnes de mauvaise qualit, vous aurez des rapports, des analyses, des simulations, des prvisions,
des optimisations fausses. Lobjectif du dcisionnel est dapporter tous les utilisateurs, une
information de qualit ; il est donc ncessaire de dvaluer, danalyser et de corriger si besoin,
linformation, ds le dpart, dans le processus ETL.
La socit SAS a rachet la socit Data Flux et a intgr ces fonctions de gestion de la qualit des
donnes.

61
Voici une copie linterface principale DFPower Studio. Lintgration avec SAS Data Integration Studio
se fait via la base de connaissance (KB ou Knowledge Base).
Les deux fonctions majeures dans le processus de qualit des donnes sont dabord lanalyse puis la
standardisation.

Exemple dentreprise 1 : suite lanalyse des diffrents paternes des numros de tlphone :
+33 1 60 62 12 19
(+33) 1 60 62 12 19
+33 (0)1 60 62 12 19
01 60 62 12 19
00 33 (0)1 60 62 12 19
00 33 1 60 62 12 19
0160621219
01.60.62.12.19

On gnre alors un processus de standardisation qui en rcoltant les neufs derniers entiers, les
placent dans la forme normalise.

Exemple dentreprise 2 : Rfrentiel pour le Data Warehouse dune socit franaise. Grce laide
prcieuse dun expert, un dictionnaire a t cr, comprenant les diffrents noms de mme produit,
62
avec les dates de dbut, voir de fin, et les domaines dutilisation des noms. En effet, il y avait de quoi
se perdre et fournir des rapports htrognes entre le nom utilis par lacheteur qui utilise la
dnomination du fournisseur, les diffrents noms dfinis par le marketing pour tenter de booster les
ventes, et les changements de versions au dpartement R&D et la production.

Exemple dentreprise 3 : cest lun des exemples les plus courants : le d-doublonnage dadresse. Il
faut dtecter le nom, le prnom, les adresses, le code postal et la ville.
Les noms est prnoms peuvent tre inverss ou manquants.
Dans ladresse, on par exemple souvent le cas de la rue, du boulevard, de la Strasse, de Street, etc.
crient en entier ou abrg (Bd, boulevard, Boulevard, etc) avec le numro avant ou aprs, avec
une virgule ou pas.

Les deux adresses suivantes sont identiques :
Eric Martin
33 Av Victor Hugo
75000 Paris

MARTIN Eric
33, avenue Victor Hugo
75O16 PARIS

Prsentation de loutil SAS Data Integration Studio
SAS Data Integration Studio est une interface cliente Java de la plateforme dcisionnelle SAS. Elle
fait partie des packages SAS Data Integration Server et SAS Enterprise Data Integration
Server .
SAS Data Integration Server comprend notamment SAS/Base, SAS/CONNECT, SAS Data Integration
Studio et LSF.

SAS Enterprise Data Integration Server comprend notamment SAS/Base, SAS/CONNECT,
SAS/SHARE, 2 SAS/Access au choix, SAS Data Integration Studio, SAS Data Quality Server et LSF.

LSF est un Ordonnanceur permettant, comme son nom lindique, dordonnancer des flux de processus.
SAS Data Integration Studio permet de crer des flux de processus, qui une fois crer, vont tre
dploys pour lordonnancement.

63
Copie dcran du Flow Manager de LSF

Copie dcran du Calendar Editor de LSF

A propos de SAS Data Integration Studio, notons que loutil :
Support des dveloppements concurrents de dveloppeur ETL, gestion des versions via le
Check-Out/Check-In . Dans un projet ETL, ladministrateur de la plateforme dcisionnelle
cre un rfrentiel de mtadonne dit rfrentiel projet pour chaque dveloppeur ETL.
Ceux-ci peuvent alors tre extraits (Check-out) du rfrentiel principal, dans leur rfrentiel
ddi, les mtadonnes de leurs processus. Les autres utilisateurs ne peuvent pas modifier
ces lments. Une fois les modifications faites, lutilisateur rintgre (Check-in) ces
mtadonnes dans le rfrentiel principal, avec la version N+1. Le Check-Out/Check-In
64
permet donc plusieurs dveloppeurs ETL de travailler sans conflit sur un mme projet et la
gestion des versions.
Permet un dveloppement administr et donc scuris, ce qui est ncessaire pour la gestion
du changement.
Permet daccder lensemble des systmes de gestion de bases de donnes du march, via
les diffrents SAS/ACCESS to ... (SAS/ACCESS to Oracle, SAS/ACCESS to DB2,
SAS/ACCESS to Terradata, etc.)
Permet lintgration avec plusieurs ERP du march comme par exemple SAP. Le terme
intgration prend ici toute sa valeur, on nextrait pas seulement de la donne, on accde la
mtadonne de lapplication de lentreprise, ce qui permet une vritable communication
bidirectionnelle. Mais surtout, le fait daccder la structure globale de lapplication
oprationnelle, permet dans le cas de solution mtier, un raccourcissement considrable du
temps de mise ne place du projet. Cela fonctionne particulirement bien avec SAP qui la
rputation dtre trs bien structur (et structurant). Un SAS/Adapter to . permet
lintgration avec les diffrents grands progiciels du march.
Support les modles de donne du standard CWM. Common Warehouse Model, selon le site
web www.cwm.org, CWM est une norme pour les outils dcisionnels permettant de transfrer
des fichiers de mtadonnes entre diffrentes applications dcisionnelles de diffrents
diteurs de logiciel. Par exemple, intgrer une lapplication de reporting Business Object
la plateforme SAS.
Il est possible dajouter des plug-in java pour complter lensemble des fonctionnalits, de
crer rapidement ses propres outils ETL.
Permet la construction de Cube (vous devez avoir une licence pour le package SAS
Intelligence Storage ou SAS OLAP Serveur)

La planification du Data Warehouse est une phase cruciale qui ncessite donc une certaine rigueur.
Pour le bon droulement de celle-ci, nous allons laborder suivant une mthodologie par tape :
1. Dfinition des besoins :
a. Cration de la liste des questions mtiers auxquelles devra rpondre le projet
dcisionnel.
b. Dfinition de lensemble des dimensions qui devront tre prise en compte afin de
rpondre aux questions prcdemment listes.
c. Dfinition de qui utilisera ces informations et quand elles seront utilises : frquence
des requtes et des mises jour.
65
2. Faire linventaire des donnes ncessaires la construction du Data Warehouse.
a. Lister lensemble des systmes et des bases de donnes, auxquelles il sera
ncessaire de se connecter pour ltape dextraction. Rcuprer le format de
stockage, le format des tables et des colonnes des bases amont.
b. Localiser lensemble des informations qui seront ncessaires la population du Data
Warehouse.
3. Cration des modles de donnes du Data Warehouse
a. Combinaison de lensemble des donnes oprationnelles dans des schmas
optimaux suivant le compromis temps de chargement, temps de rponse et espace
de stockage, pour lensemble des requtes qui interrogeront le Data Warehouse.
4. Prendre en compte la possibilit dtendre le Data Warehouse dautres problmatiques.
a. Estimation du besoin de hardware et de software pour lachat de ces derniers.
b. Prendre notamment en compte le stockage, les serveurs de traitement et de
sauvegardes (Comme un systme oprationnel dont le fonctionnement est vital pour
lorganisation, un systme dcisionnel doit gnralement avoir un systme de
secours)
5. Planification des flux de mise jour.
a. Dfinition de la frquence de mise jour des donnes.
b. Planification des flux de processus dextraction, de transformation de nettoyage et de
validation de linformation
6. Dfinition des processus de nettoyage et de validation de linformation
a. Dfinition des processus dextraction et de transformation qui chargeront le Data
Warehouse
b. Dfinition des processus qui gnreront de manire automatique des rapports.
c. Dfinition des rgles dadministrations
d. Dfinition de qui pourra voir quelles informations
e. Dfinition des droits des dveloppeurs
7. Installation et test de la plateforme dcisionnelle. Il faut noter que jusqu ce point, rien na t
fait sur machine ; seul la documentation technique a t crite.
8. Dveloppement et test des systmes de sauvegarde et des copies de secours. Cest un
phnomne nouveau, jusqualors, les systmes dcisionnels ntaient pas encore considrs
comme vitaux. Dornavant, de plus en plus en plus de systmes dcisionnels bnficient dun
systme de secours. Il faut donc tester la rcupration du systme ds le dpart ; avant de le
mettre en place.
9. Cration des processus ETL dfini prcdemment.
10. Excution dune premire passe pour chaque processus pour vrifier les temps de rponse, la
qualit des donnes, etc.
11. Ordonnancement des processus

Mise en uvre :

Mise en place du Data Warehouse Orion

La premire tape pour lancer un projet dcisionnel est de faire linventaire des questions qui se
trouvent sans rponse travers lensemble de lentreprise. En effet, il est frquent quun projet
dcisionnel avec un primtre trs restreint, par exemple, uniquement pour la force de ventes,
fonctionne bien dans un premier temps. Mais ses extensions nayant pas t prvues au dpart,
plusieurs choix techniques bons pour un petit projet, savrent tre aujourdhui des handicapes
majeurs lvolution du systme.
En moyenne, le volume des donnes double tous les deux ans. On parle donc souvent de scalibility,
soit la capacit de monter en puissance dune plateforme dcisionnelle.
Une bonne phrase pour synthtiser la mthodologie dun projet dcisionnel est : voir grand, mais
commencer petit .

Dans le cadre de notre projet Orion, voici les principales questions
Quelle est la tendance des ventes pour lanne venir
66
Quels sont les 20 commerciaux qui ont fait le plus de vente en 2002 ?
Quels sont les commerciaux qui performent le mieux par pays, sexe, ge, salaire ?
Quels sont les 10 produits qui gnrent le plus de marge ?
Quels sont les produits les moins vendus ?
Quels sont les produits qui contribuent moins de 0.05% du CA pour un Pays/une anne
donn(e)? - Est-ce que ces produits peuvent tre remiss?
Quelle est la marge gnre par ce produit, ce groupe de produit, catgorie de produit et ligne
de produit ?
Est-ce que la marge dpend de la quantit vendue ?
Est-ce que les remises font augmenter les ventes ?
Est-ce que les remises font augmenter la marge ?
Y a-t-il une relation entre le temps, lespace et la vente de produit ?

Souvent, lorsque lon arrive avec son cahier pour faire linventaire des questions, si dans un premier
temps les collaborateurs se demandent ce quest ce nouveau projet informatique qui vient les
dranger, on peut trs rapidement rcolter une multitude de griefs sur les systmes actuellement mis
en place.
Parmi lensemble des questions rcoltes, une premire slection devra spcifier quelles sont celles
dont le ressort est bien de linformatique dcisionnelle. Dans notre cas, certains commerciaux
souhaitaient savoir si leurs clients avaient t livrs de leurs dernires commandes. Cest une
problmatique oprationnelle.
Remarque : Nous avons ci-dessus une liste de questions non structures, mal poses, pas claires. Il
serait un comble de les considrer comme un cahier des charges. Cest juste une petite liste de
question, ce nest pas un cahier des charges.

La deuxime tape de notre projet dcisionnel est didentifier les sources dinformations, internes et
externes lentreprise permettant de construire le Data Warehouse qui rpondra aux questions
prcdemment souleves.
67
Implmentations ETL sur le cas Orion Star

La matrise douvrage a labor le cahier des charges du projet dcisionnel de la socit Orion. La
matrise duvre la analys et a dfini le cahier de spcification, qui lui mme a t valid par la
matrise douvrage.
Maintenant que la conception du Data Warehouse a t ralise, il faut crer les six processus
dEVLT
1
(Extraction, Validation, Load, Transformation) qui vont chargs les six tables du schma en
toile du Data Warehouse Orion Star. Il faut ensuite crer le processus qui slectionne les donnes du
Data Mart Orion Gold . Enfin, le projet ncessite de crer un hyper cube multidimensionnelle.

Se connecter SAS Data Integration Studio

Si personne ne sest connect SAS Data Integration Studio sur cette machine, il faut crer un profil
de mtadonne. Un profil de mtadonne est tout simplement, lenregistrement des informations de
connexion au serveur de mtadonne, soit le nom complet de ce serveur physique ou se trouve le
serveur de mtadonne SAS, le port de ce serveur de mtadonne et lutilisateur avec son mot de
passe. Il est parfois ncessaire de spcifier un rfrentiel de mtadonne particulier.
Suivant.

1
EVLT est un acronyme propos par Grgoire de Lassence qui na quune fin pdagogique. Encore
un sigle dans un monde qui en a trop ; histoire de dfinitivement noyer les petits nouveaux.
68
Donner un nom au profil de mtadonne.
Suivant.
Entrer le nom complet de la machine qui hberge le serveur de mtadonne ou son adresse IP.
Entrer le port du serveur de mtadonne ; par dfaut, cest le 8561.
Entrer lidentifiant et le mot de passe de lETListe.
Dans le cadre du cas Orion, lutilisateur sasdemo (mot de passe sasdemo ) prendra tour de
rle les diffrentes casquettes ETListe, analyste mtier, consommateur de rapport, etc.
Suivant.

Slectionner le rfrentiel de mtadonne.
Suivant.
Terminer.

69
Bienvenue dans SAS Data Integration Studio.
Ce client Java lourd, c'est--dire dvelopp en code Java et install sur le poste utilisateur, est une
interface avec trois grandes parties.
70
1) La barre des Raccourcies est ordonne suivant le processus classique ETL, extraction
(Assistant dfinition des donnes sources), transformation (Assistant dfinition du processus),
et chargement (Assistant dfinition des donnes cibles). Par contre, ces outils sutilisent
suivant la mthodologie ELT (extraction chargement transformation), c'est--dire que lon
dfinie les mtadonnes des donnes sources en les important des systmes sources, puis
on dfini les mtadonnes du systme cible selon le cahier de spcification du projet et enfin
lorsque source et cible sont dfinie, on cre le processus de transformation permettant de
passer de la source la cible.
2) La seconde partie de linterface contient en faite trois fentres qui peuvent tre visualises en
cliquant sur les onglets en bas. Les arborescences inventaire et personnalis
prsentent les mmes informations, mais ranges de manire diffrente. Linventaire est
seulement ordonn par type dobjet, alors que dans larborescence personnalise, comme
son nom lindique, lutilisateur peut, et doit, crer des dossiers et sous dossiers afin de classer
rigoureusement tous les objets. La dernire fentre de cette partie de linterface rfrence les
diffrents processus de transformation.
3) Le troisime espace est le plan de travail.

La barre des raccourcis et les fentres inventaire , personnalis et bibliothque de
processus peuvent tre fermes ou ouvertes par le menu affichage .
1
2 3
71
Dfinition de larborescence des mtadonnes ETL personnalises :

Dans larborescence des mtadonnes personnalises, se trouve par dfaut le seul groupe Non
group(s). Pour crer un nouveau groupe, sur le rfrentiel Foundation, clique droit de la souris :

Nouvel objet

72
Slectionner groupe dfini par lutilisateur ,
Suivant

Donner un nom au groupe, ici Orion , et dfinir sont dossier parent, tout dabord Foundation .
Suivant.
Terminer.

73
Crer ainsi la structure qui permettra de classer les objets du projet Orion comme ci-dessous :

74
Importation des mtadonnes des tables de lODS

Cliquer sur assistant dfinition des donnes cible , dans la barre des raccourcis,

Si la barre des raccourcis ne saffiche pas, allez dans le menu Affichage la cocher.

75
Slectionner une table de type SAS,
Suivant

76
Slectionner la bibliothque pointant vers lODS.
Suivant

77
78
Cliquer sur les boutons
Slectionner tout
Suivant

79
Dans votre arborescence personnalise, slectionner le dossier ODS.
Suivant
Terminer

Cration de la table CUSTOMER_DIM :
Cliquer sur assistant dfinition des donnes cible , dans la barre des raccourcis,

80
Si la barre des raccourcis ne saffiche pas, allez dans le menu Affichage la cocher.

Slectionner la cration dune table cible
Suivant.

81
Saisir le nom de la table Customer_Dim .
Suivant.

Slectionner lemplacement physique de la nouvelle table : La bibliothque (Library) du Data
Warehouse.
Suivant.

82
Suite la dfinition des spcifications dtailles, en rponse au cahier des charges de la socit
Orion, la table cible crer doit avoir les caractristiques du tableau suivant, certaines des colonnes
ont les mmes caractristiques que leur colonne mre des tables sources. Afin de simplifier la
dfinition de ces colonnes, on peut utiliser la dfinition des colonnes sources pour dfinir celles ci.

Nom Longueur Type Format Remarque
Customer_ID 8 Numrique 12. Identique la table source
Customer_Country 2 Caractre $COUNTRY. Identique la table source
Customer_Gender 1 Caractre $GENDER. Identique la table source
Customer_Name 40 Caractre (Nant) Identique la table source
Customer_FirstName 20 Caractre (Nant) Identique la table source
Customer_LastName 30 Caractre (Nant) Identique la table source
Customer_BirthDate 4 Numrique DATE9. Identique la table source
Customer_Age_Group 12 Caractre (Nant) A crer
Customer_Type 40 Caractre (Nant) Identique la table source
Customer_Group 40 Caractre (Nant) Identique la table source
Customer_Age 3 Numrique (Nant) A crer
Depuis le rpertoire personnalis o se trouvent les tables de dtail dOrion, slectionner dans les
tables Customer et Customer_type les 9 colonnes identiques dans le systme source et dans la cible.
83
Rappel : le triangle rouge signalise des variables de type caractre et le cercle bleu, de type
numrique.

Suivant

Crer les deux colonnes Customer_Age et Customer_Group_Age suivant le tableau ci-dessous, avec
leur nom, description, type, format et longueur.

Nom Longueur Type Format
Customer_Age_Group 12 Caractre (Nant)
Customer_Age 3 Numrique (Nant)
Nous avons dfinit les mtadonnes des 11 colonnes de la table Customer_Dim.
Suivant.

Enregistrer les mtadonnes du processus dans larborescence personnalise, dans le dossier
Orion Data Warehouse .
Suivant.
84
*
Terminer

Aller dans les proprits de la table pour dfinir un index et la cl primaire sur Customer_ID.

Dans larborescence personnalise, dans le dossier Orion Data Warehouse o sont stockes
les mtadonnes de la table Customer Dim, clique droit sur cette table, puis proprit ou bien
double clique dessus.
Pour dfinir lindex et la cl, aller dans les onglets associs.
Dans longlet index, cliquer sur nouveau, puis glisser la colonne Customer ID dans ce nouvel index.
Index: Customer ID

85
Lorsquun index ne contenant quune seule colonne est cr, il doit avoir le mme que cette colonne.
Si vous cliquez sur Appliquer , ou changez donglet, lavertissement suivant apparat.

Cliquer sur Oui . Cela renomme lindex comme la colonne.

86
Cl Primaire : Customer_ID

Pour dfinir Customer_ID comme la cl primaire, aller dans longlet Cls .

Cliquer sur la flche de nouveau pour slectionner cl primaire .
Ajouter la colonne Customer_ID cette cl primaire.
OK
Nous avons dfini les mtadonnes de la table Customer_DIM du Data Warehouse Orion Star. Ces
mtadonnes ne sont que le squelette de la table, il faut maintenant le remplir par un processus de
transformation qui liera et transformera les donnes du Data Store et les chargera dans cette structure.
87
Dfinition du processus de transformation.
Dans la barre des raccourcis de SAS Data Intgration Studio.

Slectionner l assistant dfinition du processus.

Donner un nom au processus.
Suivant.
Slectionner la table charger.
Suivant.
88
Slectionner le dossier de larborescence personnalise o lon souhaite enregistrer les mtadonnes
du processus de transformation.
Suivant.

Crer le processus comprenant une jointure SQL et lextraction SAS, outil se trouvant dans la
bibliothque de processus

89
Ajouter les tables Customer et Customer_Type, slectionnes dans larborescence personnalise.

90
Ajouter la premire table, par exemple Customer dans longlet indiqu, puis, ajouter la seconde
sur licne de la jointure SQL.

Dans les proprits de la jointure SQL (double cliquer sur la jointure SQL ou clique droit proprits),
dans longlet tables :

Vrifier la jointure que la jointure est bien faite entre les tables Customer_Type et Customer sur les
colonnes Customer_Type_ID.
Fermer les proprits de la jointure SQL.
OK.

91
Ouvrir les proprits dExtraction SAS.

Dans longlet des correspondances, crer deux nouvelles colonnes :

Clique droit nouvelle colonnes

Nom Expression Type longueur
_AGE FLOOR(YRDIF(Birth_Date ,TODAY(),'actual')) Numrique 3
Customer_Age_Groupe PUT(CALCULATED _AGE ,agegroup.) Caractre 12

Entrer le nom, le type et la longueur, puis double cliquer dans expression

92
Lexpression de lge est une troncature de largument (floor) dune diffrence de date (dans date et
heure) slectionnez YRDIF.
Dans source de donnes, slectionnez pour le premier argument la colonne Birth_Date, pour le
deuxime argument, dans les fonctions date & heure, slectionnez la date du jour : Today, pour le
deuxime argument, et tapez actual pour le dernier.

Lexpression est donc :
floor(YRDIF(Birth_Date ,today(),'actual'))
Soit :

93
94
OK.

Pour la colonne cible _AGE : Oui,

Crer lexpression de Customer_age_groupe : PUT(CALCULATED _AGE ,agegroup.)
Attention : il y a un espace entre CALCULATED et _AGE et un point aprs agegroup.

Le format agegroup. est un format SAS. Il se trouve dans les formats fournis avec le cas Orion. Il
permet la transformation suivante :
Si lge est comprit entre 15 et 30 il crit la chaine de caractre 15-30 years
Si lge est comprit entre 30 et 45 il crit la chaine de caractre 31-45 years
Si lge est comprit entre 45 et 60 il crit la chaine de caractre 46-60 years
95
Si lge est comprit entre 60 et 75, il crit la chaine de caractre 61-75 years
Si, non, il crit lge.

OK.

Dans loutil de chargement, dans les correspondances, mettre jour les correspondances.

96
Dans les techniques de chargement, slectionner actualiser et ajouter la cl primaire.

Enregistrer les modifications
Excuter le processus
97
Cration de la table PRODUCT_DIM

Pour crer la table PRODUCT_DIM, il faut les tables Product_List et Supplier, joint par une jointure
SQL. Voici la dfinition des colonnes de cette table.

Nom Longueur Type Format Remarque
Product_ID 8 Numrique 12. Identique la table source
Product_Line 20 Caractre (Nant) A crer
Product_Category 25 Caractre (Nant) A crer
Product_Group 25 Caractre (Nant) A crer
Product_Name 45 Caractre (Nant) Identique la table source
Supplier_Country 2 Caractre $COUNTRY. Identique la table source
Supplier_Name 30 Caractre (Nant) Identique la table source
Supplier_ID 4 Numrique 12. Identique la table source
De plus, Product_ID est lindex et la cl Primaire.

Dans les techniques de chargement, il faudra slectionner actualiser et ajouter cette cl primaire.

Les produits sont organiss selon 4 niveaux :
5. Ligne de produit
6. Catgorie de produit
7. Groupe de produit
8. Produit

La table Product_List a t cre en utilisant les formats SAS.

Voici le dbut du rsultat du programme :

libname library 'chemin Windows jusquau rpertoire o se trouvent les formats du cas Orion
Star';
proc format library=library fmtlib;
select proddim;
run;

FORMAT NAME: PRODDIM LENGTH: 12 NUMBER OF VALUES: 5579
MIN LENGTH: 1 MAX LENGTH: 40 DEFAULT LENGTH 12 FUZZ: STD

START END LABEL (VER. V7|V8 08AUG2003:10:05:32)

210000000000 210000000000.
210100000000 210100000000210000000000
210100100000 210100100000210100000000
210100100001 210100100001210100100000
210100100002 210100100002210100100000
210100100003 210100100003210100100000
210100100004 210100100004210100100000
210100100005 210100100005210100100000
210100100006 210100100006210100100000
210100100007 210100100007210100100000
210100100008 210100100008210100100000

Le format proddim. permet donc :
A la premire application, de passer de lidentifiant du produit lidentifiant du groupe de
produit.
o A la deuxime application, de passer de lidentifiant du groupe de produit lidentifiant
de la catgorie de produit.
A la troisime application, de passer de lidentifiant de la catgorie de produit
lidentifiant de la ligne de produit.

98
Voici le dbut du rsultat du programme :

libname library 'chemin Windows jusquau rpertoire o se trouvent les formats du cas Orion
Star';
proc format library=library fmtlib;
select product;
run;

FORMAT NAME: PRODUCT LENGTH: 45 NUMBER OF VALUES: 5579
MIN LENGTH: 1 MAX LENGTH: 45 DEFAULT LENGTH 45 FUZZ: STD

START END LABEL (VER. V7|V8 08AUG2003:10:05:32)

210000000000 210000000000Children
210100000000 210100000000Children Outdoors
210100100000 210100100000Outdoor things, Kids
210100100001 210100100001Boy's and Girl's Ski Pants with Braces
210100100002 210100100002Children's Jacket
210100100003 210100100003Children's Jacket Sidney
210100100004 210100100004Children's Rain Set
210100100005 210100100005Children's Rain Suit

Le format product. permet donc
Avec lidentifiant de la ligne de produit, davoir le nom de ligne de produit.
Avec lidentifiant de la catgorie de produit, davoir le nom de la catgorie de produit.
Avec lidentifiant du groupe de produit, davoir le nom du groupe de produit.

Voici donc le processus ETL de cration de la table Product_Dim.
Il faut dabord dfinir la structure des colonnes de la table avec lassistant de dfinition de la table cible,
au regard du tableau de dfinition des colonnes de cette table, ci-prcdemment prsent.
Ensuite, le processus est donc la jointure entre les tables Supplier et Product_List.
Enfin, dans lextraction SAS, il faut crer les six colonnes avec les lments ci-dessous.
Pour finir, dans le chargeur, il faut slectionner la technique de chargement actualiser (Slectionner :
Supprimer la table ) et dans longlet correspondance, ajouter les liens ncessaires.

Chargement de la table PRODUCT_DIM avec les informations ci-dessous
99
Nom Fonction Type longueur
_Group INPUT(PUT(Product_ID,proddim.),12.) Numrique 8
_Category input(put(CALCULATED _Group,proddim.),12.) Numrique 8
_Line input(put(CALCULATED _Category,proddim.),12.) Numrique 8
Product_Group put(CALCULATED _Group,Product.) Caractre 25
Product_Category put(CALCULATED _Category,Product.) Caractre 25
Product_Line put(CALCULATED _Line,Product.) Caractre 20

Cration de la table ORGANIZATION_DIM

Cration de la table ORGANIZATION_DIM avec les informations ci-dessous.
Pour la jointure SQL, il faut faire une jointure gauche entre les tables STAFF et ORGANIZATION et
mettre une clause de slection sur le premier niveau de lorganisation.

Nom Longueur Type Format Remarque
Employee_ID 8 Numrique 12. Identique la table source
Employee_Country 2 Caractre $COUNTRY. Identique la table source
Company 30 Caractre (Nant) A crer
Department 40 Caractre (Nant) A crer
Section 40 Caractre (Nant) A crer
Org_Group 40 Caractre (Nant) A crer
Job_Title 25 Caractre (Nant) Identique la table source
Employee_Name 40 Caractre (Nant) Identique Org_name
Employee_Gender 1 Caractre $GENDER. Identique la table source
Salary 8 Numrique DOLLAR13. Identique la table source
Employee_BirthDate 8 Numrique DATE9. Identique la table source
Employee_Hire_Date 8 Numrique DATE9. Identique la table source
Employee_Term_Date 8 Numrique DATE9. Identique la table source
Index : Employee_ID
Cl Primaire : Employee_ID

100
101
Dans la source de la requte, on doit retrouver le code suivant :

FROM OFPProd.STAFF
LEFT JOIN OFPProd.ORGANIZATION
ON (STAFF.Employee_ID = ORGANIZATION.Employee_ID)

WHERE ORGANIZATION.Org_Level = 1

Comme pour la table PRODUCT_DIM, le format orgdim permet :
A la premire application, de passer de lidentifiant de lemploy lidentifiant du groupe.
o A la deuxime application, de passer lidentifiant du groupe lidentifiant de la section.
A la troisime application, de passer de lidentifiant de la section lidentifiant
du dpartement.
A la quatrime application, de passer de lidentifiant du dpartement
lidentifiant de la compagnie.

Et le format org permet :
Avec lidentifiant du groupe, davoir le nom du groupe.
Avec lidentifiant de la section, davoir le nom de la catgorie de la section.
Avec lidentifiant du dpartement, davoir le nom du dpartement.
Avec lidentifiant de la compagnie, davoir le nom de la compagnie.

Voici donc les colonnes et les transformations crer dans loutil de chargement.

Nom Fonction Type longueur
_Group INPUT(PUT(Employee_ID ,orgdim.),12.) Numrique 8
_Section INPUT (PUT(CALCULATED _Group, orgdim.),12.) Numrique 8
_Department INPUT (PUT(CALCULATED _Section, orgdim.),12.) Numrique 8
_Company INPUT (PUT(CALCULATED _Department, orgdim.),12.) Numrique 8
Group PUT(CALCULATED _Group, org.) Caractre 40
Section PUT(CALCULATED _Section, org.) Caractre 40
Department PUT(CALCULATED _Department, org.) Caractre 40
Company PUT(CALCULATED _Company, org.) Caractre 30
102
103
Pour finir, dans le chargeur, il faut slectionner la technique de chargement actualiser et ajouter la cl
primaire. Dans longlet correspondance, ajouter les liens ncessaires.

104
Cration de la table TIME_DIM

Nom Longueur Type Format
Date_ID 4 Numrique DATE9.
Year_ID 4 Caractre (Nant)
Quarter 6 Caractre (Nant)
Month_Name 20 Caractre (Nant)
Week_Name 7 Caractre (Nant)
Weekday_Name 20 Caractre (Nant)
Month_Num 3 Numrique (Nant)
Week_Num 3 Numrique (Nant)
Weekday_Num 3 Numrique (Nant)
Weekday_EU 3 Numrique (Nant)
Fiscal_Year 4 Caractre (Nant)
Fiscal_Quarter 6 Caractre (Nant)
Fiscal_Month_Num 3 Numrique (Nant)
WeekDay_FR 8 Caractre (Nant)
Month_FR 9 Caractre (Nant)
Pour crer la table de dimension du temps, une solution simple est de simplement utiliser une tape
de code crit par lutilisateur.

Copier le code ci-dessus dans un fichier.sas sur le serveur.
Modifier le chemin vers le rpertoire du Data Warehouse.

/***********************************************************************************************************/
libname test 'Repertoire du Data Warehouse';
Proc SQL;
CREATE TABLE test.Time_Dim (
Date_ID DATE LABEL='Date',
Weekday_Num SMALLINT LABEL='US WeekDay Number',
Weekday_EU SMALLINT LABEL='European Weekday Number',
Weekday_Name VARCHAR(20) LABEL='Weekday Name',
Week_Num SMALLINT LABEL='European Week Number',
Week_Name CHARACTER(7) LABEL='Week Name in display format (YYYY-WW)',
Month_Num SMALLINT LABEL='Month Number',
Month_Name VARCHAR(20) LABEL='Month Name',
Quarter CHARACTER(6) LABEL='Quarter',
Year_ID CHARACTER(4) LABEL='Year',
Fiscal_Year CHARACTER(4) LABEL='Fiscal Year',
Fiscal_Quarter CHARACTER(6) LABEL='Fiscal Quarter',
Fiscal_Month_Num SMALLINT LABEL='Fiscal Month Number');
quit;

Options DFLang=French;
data Time_Dim_Orion_Fp(label='Time Dimension');
Do Date_ID='01jan1998'd to '01jan2002'd;
WeekDay_Num=Weekday(Date_ID);
WeekDay_Name=Strip(Put(Date_ID,downame.));
Month_Num=month(Date_ID);
Year_ID=Put(Year(Date_ID),4.);
105
Month_Name=Strip(Put(Date_ID,monname.));
Quarter=put(Year_ID,4.)!!'Q'!!put(qtr(Date_ID),1.);
WeekDay_FR=Strip(Put(Date_ID,EURDFDWN.));
Month_FR=Strip(Put(Date_ID,EURDFMN.));
if Month_Num <=11 then Fiscal_Year=Put(Year(Date_ID),4.);
else Fiscal_Year=Put(Year(Date_ID)+1,4.);
if Month_Num <=11 then Fiscal_Month_Num =month(Date_ID)+1;
else Fiscal_Month_Num=1;
Fiscal_Quarter=Fiscal_Year!!'Q'!!put(ceil(Fiscal_Month_Num/3),1.);
Output;

end;
run;

Proc format;
Picture We Low-High= '9999-99';
run;

Data test.Time_Dim_Orion_Fp(Compress=Yes Label='Time Dimension' Sortedby=Date_ID);
Length Date_ID 4 Year_ID $4 Quarter $6 Month_Name $20 Week_Name $7
Weekday_Name $20 Month_Num Week_Num Weekday_Num Weekday_EU 3
Fiscal_Year $4 Fiscal_Quarter $6 Fiscal_Month_Num 3;
Format Date_ID Date9.;
set test.Time_Dim_Orion_Fp(obs=0) Time_Dim_Orion_Fp;
retain Week 1 weekyear 2002;
Weekday_EU=weekday(Date_ID-1);
if Weekday_EU=1 then do;
Week+1;
if mdy(12,29,Input(Year_ID,4.)-(month_Num=1))
<=Date_ID<=mdy(1,4,Input(Year_ID,4.)+(Month_Num=12)) then
do;
Week=1;
WeekYear+1;
end;
end;
Week_Num=Week;
Week_Name=Put(WeekYear*100+Week_Num,we.);
Drop Week WeekYear ;
run;

Proc SQL;
CREATE INDEX Year_ID ON test.Time_Dim_Orion_Fp(Year_ID);
CREATE INDEX Quarter ON test.Time_Dim_Orion_Fp(Quarter);
CREATE INDEX Month_Num ON test.Time_Dim_Orion_Fp(Month_Num);
CREATE INDEX Fiscal_Year ON test.Time_Dim_Orion_Fp(Fiscal_Year);
CREATE INDEX Fiscal_Quarter ON test.Time_Dim_Orion_Fp(Fiscal_Quarter);
CREATE UNIQUE INDEX Date_ID ON test.Time_Dim_Orion_Fp(Date_ID);
ALTER TABLE test.Time_Dim_Orion_Fp
ADD PRIMARY KEY (Date_ID) ;
quit;

Proc contents data=test.Time_Dim_Orion_Fp varnum;
run;
Options DFLang=French;

/*****************************************************************************************************/

Crer directement un processus vide en utilisant lassistant dfinition de processus, sans table
charger. Insrer loutil code crit par lutilisateur de la bibliothque de processus.

106
Dans les proprits du code, renseigner le chemin daccs au code SAS :

OK
107
Cration de la table GEOGRAPHIC_DIM

Crer la table de dimension GEOGRAPHIC_DIM selon la dfinition suivante :

Nom Longueur Type Format
Street_ID 8 Numrique 12.
Continent_Name 30 Caractre (Nant)
Country_Name 30 Caractre (Nant)
Region_Name 30 Caractre (Nant)
Province_Name 30 Caractre (Nant)
County_Name 60 Caractre (Nant)
City_Name 30 Caractre (Nant)
Postal_Code 10 Caractre (Nant)
Street_Name 40 Caractre (Nant)
Index : Street_ID
Cl Primaire : Street_ID
Dans les techniques de chargement, il faudra slectionner actualiser et ajouter cette cl primaire.

Il faut toutes les lignes de Street code

108
109
Cration de la table ORDER_FACT

Remarque : on ne peut crer la table Order_fact que lorsque lon a cr les 5 autres tables de
dimension, car cette table contient des cls trangres sur ces autres tables.

Crer la table ORDER_FACT avec les lments suivants :

Nom Longueur Type Format Remarque
Customer_ID 8 Numrique 12. Identique la table source
Employee_ID 8 Numrique 12. Identique la table source
Street_ID 8 Numrique 12. Identique la table source
Order_Date 8 Numrique DATE9. Identique la table source
Delivery_Date 8 Numrique DATE9. Identique la table source
Order_ID 8 Numrique 12. Identique la table source
Order_Type 8 Numrique ORDER_TYPE. Identique la table source
Product_ID 8 Numrique 12. Identique la table source
Quantity 8 Numrique (Nant) Identique la table source
Total_Retail_Price 8 Numrique DOLLAR13.2 Identique la table source
CostPrice_Per_Unit 8 Numrique DOLLAR13.2 Identique la table source
Discount 8 Numrique PERCENT. Identique la table source
Crer les index de la table ORDER_FACT comme ci-dessous :

110
Dfinir les cls de la table ORDER_FACT comme ci-dessous :

Dans les techniques de chargement, il faudra slectionner actualiser et ajouter cette cl primaire.

Il faut toutes les lignes de la table Order_item.

111
Cration du Data Mart Orion Gold
Crer le schma en toile du Data Mart Orion Gold, bas sur le schma prcdemment, pour des
analyses rapides uniquement sur les clients ayant la carte de fidlit Orion Club Gold et ayant
achet des vtements ou des chaussures.

Crer un processus ETL avec uniquement loutil code crit par lutilisateur de la bibliothque de
processus et utiliser le code suivant.

libname orgold '!OrionRoot\orgold';
proc sql;
create table orgold.Customer_Dim
(label='Customer_Dimension' Compress=Yes) as
select distinct a.*
from orstar.Customer_Dim a,
orstar.Order_Fact b,
orstar.Product_Dim c
where a.Customer_Type in ("Orion Club Gold members high activity",
"Orion Club Gold members low activity")
and c.Product_Line = 'Clothes & Shoes'
and a.Customer_ID = b.Customer_ID
and b.Product_ID = c.Product_ID;
quit;
proc sql;
create unique index Customer_ID
on orgold.Customer_Dim(Customer_ID);
create index Customer_Country
on orgold.Customer_Dim(Customer_Country);
create index Customer_Type
on orgold.Customer_Dim(Customer_Type);
create index Customer_Group
on orgold.Customer_Dim(Customer_Group);
alter table orgold.Customer_Dim
add primary key (Customer_ID);
quit;
proc sql;
create table orgold.Product_Dim
(label='Product Dimension' compress=yes) as
select *
from orstar.Product_Dim
where Product_Line ='Clothes & Shoes';
quit;
Proc sql;
create UNIQUE index Product_ID
on orgold.Product_Dim(Product_ID);
create index Product_Group
on orgold.Product_Dim(Product_Group);
create index Product_Line
on orgold.Product_Dim(Product_Line);
create index Product_Category
on orgold.Product_Dim(Product_Category);
alter table orgold.Product_Dim add primary key (Product_ID);
quit;
proc sql;
112
create table orgold.Order_Fact(label='Order Fact Table' compress=yes) as
select b.*
from orgold.Customer_Dim a,
orstar.Order_Fact b,
orgold.Product_Dim c
where a.Customer_ID = b.Customer_ID
and b.Product_ID = c.Product_ID;
quit;
proc sql;
create index Customer_ID on orgold.Order_Fact(Customer_ID);
create index Order_Date on orgold.Order_Fact(Order_Date);
quit;
proc sql;
create table orgold.Geography_Dim
(Label='Geography Dimension' compress=yes) as
select distinct a.*
from orstar.Geography_Dim a, orgold.Order_Fact b
where a.Street_ID = b.Street_ID;
quit;
proc sql;
create index Postal_Code on orgold.Geography_Dim(Postal_Code);
create index Continent on orgold.Geography_Dim(Continent);
create index State on orgold.Geography_Dim(State);
create index Province on orgold.Geography_Dim(Province);
create index Region on orgold.Geography_Dim(Region);
create index City on orgold.Geography_Dim(City);
create index Country on orgold.Geography_Dim(Country);
create unique index Street_ID on orgold.Geography_Dim(Street_ID);
alter table orgold.Geography_Dim add primary key(Street_ID);
quit;
proc sql;
create table orgold.Time_Dim
(label='Time Dimension' compress=yes) as
select * from orstar.Time_Dim
where Date_ID between '01jan1998'd and '31dec2002'd;
quit;
proc sql;
create index Fiscal_Quarter on orgold.Time_Dim(Fiscal_Quarter);
create index Fiscal_Year on orgold.Time_Dim(Fiscal_Year);
create index Month_Num on orgold.Time_Dim(Month_Num);
create index Year_ID on orgold.Time_Dim(Year_ID);
create unique index Date_ID on orgold.Time_Dim(Date_ID);
alter table orgold.Time_Dim add primary key(Date_ID);
quit;
/* The Organization Dimension is kept intact */
proc copy in=orstar out=orgold constraint=yes;
select Organization_Dim;
run;
quit;
113
OLAP
Le sigle OLAP veux dire Online Analytical Process. Un cube OLAP est une structure
multidimensionnelle. En plus des donnes contenues dans les tables sources, un cube peut contenir
des informations agrges, permettant de naviguer plus rapidement dans les donnes. On peut crer
des cubes dans ETL Studio ou dans OLAP Studio. Si vous avez uniquement SAS OLAP serveur sous
licence, vous utiliserez SAS OLAP Studio. Si vous avez aussi SAS ETL Server, vous pouvez utiliser
les deux.
On peut gnrer des cubes de type ROLAP, MOLAP ou HOLAP. Voir paragraphe pour loptimisation
des cubes.

Lorsque lon parle de cube multidimensionnel, il faut voir deux lments : la partie merge de
liceberg et celle cache.
La partie merge, celle qui sera vue par les utilisateurs, a quelque chose de magique. Lorsque vous
prsentez vos futurs utilisateurs un cube, ils sont souvent fascins. Vous leur offrez enfin la
possibilit de naviguer facilement dans linformation, du gnral au dtail, et vis-versa. Ils peuvent
croiser linformation de multiples faons. Voir les chapitres Navigation dans un cube depuis SAS
Enterprise Guide et Microsoft Excel.
La partie cache : la structure du cube dun point de vue informatique permettant loptimum en terme
de temps de rponse et despace disque. Voir le chapitre doptimisation dun cube OLAP.
Vocabulaire OLAP
Le sigle OLAP veux dire Online Analytical Process, par opposition aux bases de donnes OLTP
(Online transactional Process) des SGBD (Systme de Gestion de Bases de Donnes)
oprationnelles. Une base OLAP est conue pour naviguer dans linformation et donc lanalyser alors
quune base OLTP est conue pour supporter des transactions.

On parle de cube par opposition une table qui a deux dimensions, des lignes et des colonnes ; un
cube en a trois. La vraie dnomination devrait tre hyper-cube multidimensionnel car une structure
OLAP a souvent quatre, cinq, six voir sept dimensions. Pour reprsenter une table, on dessine
souvent un tableau. On peut dessiner un cube avec ses trois dimensions, mais il est difficile de
reprsenter un hyper-cube avec quatre ou plus dimensions, car lil ne peut pas visualiser plus de
trois dimensions.
Il est rare quun cube excde sept dimensions, ce qui est dj beaucoup. Lors de la conception, si lon
a plus de cinq dimensions pour un problme donn, on a plutt tendance crer deux cubes. En effet,
il est rare de trouver un problme avec tant de dimension et aprs analyse, on saperoit souvent quil
vaut mieux diviser ce problme en deux sous problmes.
Il faut remarquer lexception des cubes pour le contrle de gestion suivant la mthode ABC o lon
cre souvent des cubes avec plus de 25 dimensions. LActivity Based Costing est une mthode de
comptabilit analytique par activits.

Un cube comprend
Des dimensions : les axes danalyses
Des hirarchies : les chemins de navigation dans linformation
Des niveaux dagrgations
Des mesures : Une mesure est lindicateur que lon analyse dans un cube.
Par exemple, on peut analyser la somme du chiffre daffaires, une mesure, suivant les dimensions
produit, organisation et client. Une hirarchie de la dimension produit peut tre compose des
niveaux : Ligne de produit Catgorie de produit Groupe de produit Produit. Une hirarchie de
la dimension organisation peut tre : Pays Dpartement Magasin Section Groupe
Employ. Une autre hirarchie de la dimension organisation peut tre Magasin Employ. La
dimension client peut avoir une hirarchie : Groupe dge du client Age du client Sexe du client.

Rgles:
Un hyper-cube multidimensionnel, par abus de langage, un cube, peut avoir une ou plusieurs
dimensions et une ou plusieurs mesures.
Une dimension peut avoir une ou plusieurs hirarchies.
Une hirarchie peut avoir un ou plusieurs niveaux.
114
Un niveau appartient au moins une hirarchie.
Un niveau appartient une seule dimension.
Une mesure peut tre prsente par une ou plusieurs statistiques : la somme, la moyenne, le
minimum, le maximum, etc

Mise en uvre, cration du cube Orion :

Nous allons crer le cube OLAP sur le schma en toile Orion Gold.

Dans SAS Data Integration Studio, dans la barre des raccourcis, slectionner l Assistant Dfinition
des donnes cibles .

Slectionner loption Cration dun cube .
Suivant.

115
Suivant.

Entrer :
1. le nom du cube (Orion),
2. le chemin du rpertoire de stockage physique du cube
3. et loption schma en toile .

Suivant.
116
Slectionner la table de fait : Order_Fact (vrifier dans les Proprits de la table que cest bien la
table de la bibliothque Orion Gold)
Suivant.

Suivant.

117
Slectionner les cinq tables de dimension :
Suivant.

Cliquer sur Ajouter pour crer une nouvelle dimension.

118
Pour crer la dimension temps, de type time, il faut faire la jointure sur les cls Date_ID et Order_Date.
Suivant.

Slectionner les niveaux ncessaires.
Suivant.

Suivant.
119
Crer les hirarchies en cliquant sur ajouter.

120
Crer les cinq dimensions suivantes comme prsentes ci-dessous :
121
122
Slectionner les mesures

Suivant

123
Slectionner la mesure Total_Retail_PriceSUM comme mesure par dfaut.
Suivant

Suivant
124
Suivant

Terminer

Navigation dans un cube depuis SAS Enterprise Guide :

Ouvrir SAS Enterprise Guide
Depuis Dmarrer Programmes SAS Enterprise Guide 4

125
Si cette fentre apparat, slectionner nouveau projet.
Remarque : vous pouvez cocher ne plus afficher cette fentre .

Dans le menu Fichier Ouvrir Cube OLAP
126
Entrer le nom de la machine o se trouve le serveur OLAP, ici Localhost
Slectionner le fournisseur SAS OLAP Data Provider 9.1.
Cliquer sur Afficher les options,
Entrer votre nom dutilisateur et votre mot de passe, ici sasdemo et SASpw1.
127
Slectionner le cube que vous souhaitez visualiser,

Pour naviguer du gnral au dtail (Drill down), vous avez :
la croix permet de voir les niveaux en dessous et laisse les autres niveaux actuels
inchangs.
la flche vers le bas permet dafficher les niveaux en dessous et supprime laffichage
des autres niveaux actuels.

128
Pour remonter dun ou plusieurs niveaux (Drill Up) ; il faut faire un clique droit sur le niveau ou la
hirarchie.

Pour ajouter une hirarchie, slectionner l dans larborescence des dimensions du cube et cliquer sur
la flche.
129
En cliquant sur le bouton Editeur MDX vous avez accs au code MDX qui est gnr.

Navigation dans un cube depuis Microsoft Excel :

Ouvrir une feuille Excel :

130
Dans le menu Donnes, slectionner Rapport de tableau crois dynamique.
Slectionner Source de donnes externes
Suivant
Cliquer sur Obtenir des donnes

Dans longlet Cube OLAP, <Nouvelle source de donnes> tant slectionn, cliquer sur OK
131
Donner un nom la nouvelle source de donnes, ici Cube Orion, Slectionner le fournisseur SAS
OLAP Data Provider 9.1.
NB : Si SAS Enterprise Guide ou SAS Add_in to Microsoft sont installs sur la machine, ce menu
existe.

Cliquer sur Connexion
132
Entrer le nom de la machine o se trouve le serveur OLAP dans le champ Data Scource, ici
Localhost
Entrer votre nom dutilisateur et votre mot de passe dans respectivement User ID et Password, ici
sasdemo et SASpw1.
Le port par dfaut du serveur OLAP est le 5451, il nest donc pas ncessaire de le changer.

OK

4 Slectionner le cube contenant les informations dsires

Vous pouvez enregistrer lidentit et le mot de passe de lutilisateur.

OK

OK

133
Terminer
Si vous navez pas enregistr votre mot de passe, il faudra le rentrer nouveau.
Dplacer les lments dans le rapport de tableau crois dynamique.

134
Pour naviguer du gnral au dtail et vis-versa, cliquer sur la flche de la hirarchie.
Optimisation dun cube OLAP

Le seul moyen dobtenir des temps de rponse performants consiste pr-calculer tous les totaux
logiques. Un cube contenant tous ces sous totaux est un cube MOLAP : Multidimensionnel OLAP.
Cest la forme la plus pure dun cube. Lors de la navigation dans de tel cube, vu que tous les totaux et
sous totaux ont dj t calculs, il ny a pas besoin de les recalculer. Cela permet une navigation trs
rapide. Par contre un cube MOLAP est trs volumineux. Le pr-calcul de tous les agrgats peut
prendre beaucoup de place sur le disque. Vu que lon pr-calcul tous les croisements possibles
dinformation, cela peut exploser.
Le nombre de toutes les combinaisons possibles de n parmi p est
)! ( !
!
p n p
n
p
n

= . La fonction
factorielle est une fonction qui explose vite.

Un cube ROLAP, Relationnel OLAP na pas de structure forcment ddie. Il permet de naviguer dans
linformation comme dans un cube MOLAP mais aucun agrgat na t pr-calcul. Donc lorsque vous
faites une requte sur ce cube, il faut calculer tous les totaux.

Un cube HOLAP est lHybride entre un cube ROLAP et un cube MOLAP. On pr-calcule uniquement
les agrgats ncessaires loptimum du temps de rponse et de lespace disque.
135
Sur les graphiques ci-dessus, la complexit reprsente la taille du cube en termes de nombre de
donnes, de hirarchies et de niveaux.

Pour un cube MOLAP :
Lespace disque ncessaire explose lorsque la complexit augmente
Les temps de rponse sont toujours excellents

Pour un cube ROLAP :
Lespace disque ncessaire est toujours rduit
Les temps de rponse explosent lorsque la complexit augmente

Un cube HOLAP est le compromis entre ces deux cubes.
Gnralement, pour construire un cube HOLAP, on cre un cube ROLAP. Puis en fonction du nombre
de requtes par croisement de niveaux et des temps de rponse sur ces croisement de niveaux, on
calcul les agrgats ncessaires.

Mise en uvre :

Crer un fichier texte AMR.txt dans le rpertoire
C:\dossier_de_la_configuration\nom_de_la_configuration\Lev1\SASMain\OLAPServer
par exemple dans C:\SAS\9.1\Lev1\SASMain\OLAPServer

Complexit
Espace disque
Complexit
Temps de rponse
MOLAP ROLAP HOLAP
136
Connectez-vous la SMC :

Dans la SAS Management Console, dans le Gestionnaire de serveur, sous SASMain, sous
SASMain - Logical OLAP Server, clique droit sur le SASMain OLAP Server Proprit

137
Dans longlet Options Options Avances

138
Dans longlet Enregistrement des performances
Slectionner le fichier texte cr prcdemment laide de Parcourir
Slectionner tous les niveaux denregistrement.

Cliquer sur OK.
Connectez-vous DIS

139
Dans SAS Data Integration Studio, dans linventaire, dans le dossier Cube, clique droit sur votre
cube Modifier la structure du cube.
Suivant Suivant Suivant jusqu la fentre des agrgats.

140
Cliquer sur Ne pas crer dagrgation NWAY
Vous aviez un cube MOLAP avec toutes les agrgations cres dans toutes les directions.
Vous avez maintenant un cube ROLAP.

Regarder la taille du cube en Mo dans le rpertoire de lexplorateur Windows o il se trouve. (souvent
C:\SAS\Orion\DW_Orion)

Suivant Terminer

Regarder la taille du cube en Mo dans le rpertoire de lexplorateur Windows o il se trouve. (souvent
C:\SAS\Orion\DW_Orion)
141
Allez naviguer dans votre cube, par exemple depuis SAS Enterprise Guide, afin de gnrer un peu
dinformation dans le journal denregistrement des performances.

Puis fermez la fentre de navigation et revenez dans DIS.

Dans le menu Outils Mise au point dagrgation avance

142
Slectionner votre cube

143
Cocher Analyse AMR
Cliquer sur Gnrer les agrgations
144
Pour chaque croisement de niveau, vous pouvez analyser le nombre de requtes faites et le temps
ncessaire.
Slectionner tout
OK
OK

Vous avez maintenant un cube HOLAP.

Regarder la taille du cube en Mo dans le rpertoire de lexplorateur Windows o il se trouve. (souvent
C:\SAS\Orion\DW_Orion)

145
Information Map
Linterface SAS Information Maps Studio

Barre des menus
Lexplorateur du rfrentiel
de mtadonne
146
Pour afficher lexplorateur du rfrentiel de mtadonne, il faut cliquer dans la barre des menus sur
licne

Pour la cration dune Maps, il y a deux parties importantes : la structure physique, partie de gauche
dans lespace de cration des Maps ; et la partie virtuelle, conceptuelle, celle que verra lutilisateur
non informaticien de SAS Web Report Studio, partie droite de linterface : information Maps .

Elment dune Maps
Une Maps contient deux types dlments : des mesures et des catgories. Concrtement, pour
lutilisateur final, les catgories seront les lments quil pourra placer en ligne ou en colonne, et les
mesures seront les chiffres quil souhaitera exploiter dans le tableau.
Lespace de
cration des
Maps.
147
Dans lexemple ci-dessus, pour cette navigation depuis le portail, on a slectionn :
deux mesures
o la somme du chiffre daffaires,
o la somme des remises,
deux catgories
o les clients en ligne,
o les produits en colonne.

Une variable de type caractre sera une catgorie, une variable numrique pourra tre de type
mesure ou catgorie.
Dans les proprits de chaque lment, on peut slectionner le type de llment.

148
Dans les proprits dun lment, on pourra notamment dfinir aussi le format daffichage, les
agrgations souhaites, ou modifier la valeur :

149
Dans lexemple ci-dessus, chiffre daffaires stock en dollar dans le Data Warehouse est multipli par
1.59 pour ainsi le convertir en euro pour un utilisateur franais.

On peut aussi crer des lments de type filtre pour que lutilisateur puisse faire des slections
simplement.

Enregistrement
Il faut imprativement enregistrer une Maps dans le rpertoire de mtadonnes Foundation / BIP
Tree / ReportStudio / Maps. Sinon, les Maps ne seront pas vues Web Report Studio ou dans le
Portal. Pour simplifier ladministration, il est possible des crer des sous-rpertoires.

Figure 1

150
Mise en uvre sur le cas Orion Star

Nous allons, dans ce chapitre crer deux types de Maps, lune sur des donnes relationnelles, lautre
sur un cube multidimensionnel.

Lancer SAS Information Maps Studio, en slectionnant dans Dmarrer Programmes SAS ,
SAS Information Maps Studio 2.1

Slectionner votre profil de mtadonnes,

Connectez-vous avec votre utilisateur,

151
La fonction insrer une table permet dabord de slectionner les sources de donnes ncessaires qui
deviennent alors disponibles pour la cration des rfrentiels dinformations.

Dans la bibliothque Orion Gold, slectionner les 6 tables :
order_fact
customer_dim
geography_dim
organization_dim
product_dim
time_dim

Et cliquer sur OK.
152
Cliquer sur longlet relations pour dfinir les relations entre les tables.
Crer les 5 jointures sur les cls primaires des tables de dimension, par glisser-lcher.
153
Revenir dans longlet prsentation pour crer les lments de la Maps.
Avec un clic droit dans la Maps, crer les rpertoires permettant de regrouper les catgories par
thme. Ensuite, par glisser-lcher, prendre les lments de la partie physique ( gauche) et remplir les
dossiers prcdemment crs.

154
Grce un clic droit sur chaque lment, aller dans les proprits de llment pour changer le nom et
la classification.
155
Le nom de llment est celui qui sera vu par lutilisateur final, il peut comprendre des espaces et des
caractres accentus.
Si lon veut utiliser la variable ge du client comme variable de classe, aller dans le deuxime
onglet et slectionner catgorie .

Cration des Maps :
Trois Maps sont crer :
Une sur le cube
Une sur pour la directrice marketing : Christine Fletcher (chf) en anglais, sur le schma en toile.
Une pour les franais, sur le cube.

156
157
Crer une Information Map en franais pour le directeur dOrion France.

158
Enfin, crer une Information Maps en Anglais sur un cube.

Cration de rapport avec SAS Web Report Studio

Introduction :

Nous allons dans le cadre de ce TP, crer un rapport avec loutil de dit de reporting de masse, SAS
Web Report Studio. Un outil de reporting de masse est par dfinition un outil permettant aux masses,
des utilisateurs ayant gnralement peu ou prou de connaissance informatique, de crer simplement,
intuitivement leur rapport, de les partager et de les distribuer.
SAS Web Report Studio est un client lger, c'est--dire quil ny a rien installer sur le poste de
lutilisateur. Il suffit quil ait le navigateur Web Microsoft Internet Explorer et une connexion au serveur.
Cette application est suffisamment intuitive pour quavec une simple prise en main, voir pas du tout,
un utilisateur non informaticien puisse crer et partager son rapport. Il nest donc plus ncessaire
dtre un spcialiste pour crer de jolis rapports.

Ouvrir SAS Web Report Studio : http://nonduserveur:8080/SASWebReportStudio
159
Nous utiliserons aussi notre utilisateur gnrique sasdemo (mot de passe =
sasdemo)
Connexion

Cliquez sur nouveau rapport ,

160
Cliquer sur Dans slectionner des donnes
161
Slectionner la mesure du chiffre daffaires et les hirarchies produit et organisation.
Cliquer sur OK
162
Ajoutez votre rapport un tableau crois et un histogramme et cliquer sur le bouton
afficher le rapport (dans la barre du haut).
163
Voici votre premier rapport avec SAS Web Report Studio.

Crer maintenant les rapports qui rpondent aux questions :
Quels sont les 20 commerciaux qui ont fait le plus de vente en 2002 ?
Quels sont les produits les moins vendus ?
Quels sont les produits qui contribuent moins de 0.05% du CA pour un Pays/une anne
donn(e) ?
Y a-t-il une relation entre le temps, lespace et la vente de produit ?
164
Cration dune procdure stocke

Ouvrir SAS Enterprise Guide
Depuis Dmarrer Programmes SAS Enterprise Guide 4

Si cette fentre apparat, slectionner nouveau projet.
Remarque : vous pouvez cocher ne plus afficher cette fentre .

Bienvenue dans lapplication SAS Enterprise Guide.

Trois fentres principales sont ouvertes par dfaut lors de louverture de SAS Enterprise Guide. Cest
la fentre
du projet (sur la gauche) qui recense tous les objets du projet
du flux de processus
et celle des tches (en bas) qui montre ltat davancement des tches.

La fentre du projet et celle des tches peuvent se fermer en cliquant sur ou se rabattre
automatiquement si lon clique sur la punaise qui les fixe. Inversement, si vous souhaitez refixer la
fentre, cocher la punaise.
Si vous avez perdu ces fentres, dans le menu Affichage, slectionnez-les.

La fentre du flux de processus peut tre active en cliquant sur le bouton conception du processus,
(sous le menu graphique ).

165
Vous pouvez changer la langue de lapplication depuis le menu Outil, dans Options.

Vous ne pouvez slectionner que les langues dans lesquelles SAS Enterprise Guide a t install.

Dans Administration Rfrentiel et serveur, il faut dfinir une connexion au serveur de
mtadonnes si ce nest dj fait.
166
Si vous avez une seule ligne pour Local, pour dfinir la connexion vers SASMain, cliquer sur nouveau.

167
Lui donner un nom
Suivant
Suivant
168
Entrer le nom de la machine hbergeant le serveur de mtadonne et son port. Par dfaut, cest le
8561.
Suivant

169
Entrer le nom de lutilisateur qui se connecte et son mot de passe
Suivant
Suivant
Terminer

Ouvrir une table des bibliothques du SAS Main.

La procdure stocke que nous allons cre est une procdure, qui aprs avoir propos lutilisateur
de slectionner un paramtre, le pays, fait la prvision du chiffre daffaires de ce pays.
On prend ici les tables de la bibliothque Orion Gold .
On fait une requte pour avoir la somme du chiffre daffaires par pays du commercial, par anne et
par numro du mois. On tri par anne et par mois.
On fait un filtre sur un pays.
On fait la prvision du chiffre daffaires.
On rcupre la liste des pays dans un fichier texte.
On rcupre le code de la requte et celui de la prvision.
On les retraite.
On crer la procdure stocke.

170
Ouvrir les donnes de la bibliothque Orion Gold :

171
Ouvrir les tables Order_Fact, Time_Dime et Organization_Dim

Faire une requte sur Order_Fact
172
Ajouter les tables

173
Organization_Dim et Time_Dim

Slectionner la colonne du chiffre daffaires (Total_Retail_Price)
174
En prendre la somme
Slectionner la colonne du pays de lemploy
Slectionner la colonne de lanne
Slectionner la colonne du numro du mois
Slectionner les groupes automatiquement
Aller dans longlet Filtrer les donnes

Faire un filtre sur le pays de lemploy

175
Slectionner la France (par exemple)

OK
176
Aller dans longlet pour Trier les donnes
Trier par anne puis par numro du mois croissant
Excuter la requte.

177
Aller dans le menu Analyses Srie Chronologique Prvision de Base
Slectionner la somme du chiffre daffaires en variable de prvision
Grouper la prvision par le pays de lemploy
Slectionner la nouvelle variable du temps en variable didentifiant du temps.
Entrer la date de dpart : 01/08/1998
Excuter

178
Crer un nouveau code

Copier les lments de code ncessaires depuis le code gnr par la requte, puis celui gnr par
la prvision de base.
Commercer par entrer au dbut du code le Libname orgold chemin jusqu la table SAS ;
Coller le code de la requte
Coller le code de la prvision
Changer la slection du pays par une variable macro :
&pays
179
Exemple de code :
/*************************************************************************/
libname orgold 'C:\SAS\Orion\orgold';
PROC SQL;
CREATE TABLE WORK.Query_for_ORDER_FACT AS SELECT
(SUM(ORDER_FACT.Total_Retail_Price)) FORMAT=DOLLAR13.2 AS SUM_OF_Total_Retail_Price,
TIME_DIM.Year_ID,
TIME_DIM.Month_Num,
ORGANIZATION_DIM.Employee_Country
FROM ORGOLD.ORDER_FACT AS ORDER_FACT
INNER JOIN ORGOLD.TIME_DIM AS TIME_DIM ON (ORDER_FACT.Order_Date =
TIME_DIM.Order_Date)
INNER JOIN ORGOLD.ORGANIZATION_DIM AS ORGANIZATION_DIM ON
(ORDER_FACT.Employee_ID = ORGANIZATION_DIM.Employee_ID)
WHERE ORGANIZATION_DIM.Employee_Country = "&pays"
GROUP BY TIME_DIM.Year_ID, TIME_DIM.Month_Num, ORGANIZATION_DIM.Employee_Country
ORDER BY TIME_DIM.Year_ID, TIME_DIM.Month_Num;
QUIT;
PROC SORT
DATA=WORK.QUERY_FOR_ORDER_FACT(KEEP=SUM_OF_Total_Retail_Price
Employee_Country)
OUT=WORK.TMP0TempTableInput
;
BY Employee_Country;
RUN;
DATA WORK.TMP1TempTableNewTimeID (cntllev=rec);
RETAIN _obscntr_ 0;
DROP _obscntr_;
LENGTH NewTimeID 8;
FORMAT NewTimeID MONYY5.;
SET WORK.TMP0TempTableInput;
BY Employee_Country;

180
IF FIRST.Employee_Country = 1 THEN
_obscntr_ = 0;
ELSE
_obscntr_ = _obscntr_ + 1;
NewTimeID = intnx( "MONTH", '01JAN1998'D, _obscntr_);
RUN;
PROC FORECAST
DATA = WORK.TMP1TempTableNewTimeID
OUT=WORK.FCS0FORECASTQUERY_FOR_ORDER_0001(LABEL="Prvision de
WORK.QUERY_FOR_ORDER_FACT")
OUTALL
METHOD=STEPAR
INTERVAL=MONTH
LEAD=12
TREND=2
ALPHA=0.05
;
ID NewTimeID
;
VAR SUM_OF_Total_Retail_Price
;
BY Employee_Country;
FORMAT
NewTimeID MONYY5.;
RUN;TITLE;
/*-----------------------------------------------------
Tracer les valeurs de prvision
*/
TITLE;
TITLE1 "Prvision de base";
TITLE2 "Prvisions";
TITLE3 "Courbe des prvisions de la mthode d'autorgression pas pas";
GOPTIONS PUBLISH;

PROC GPLOT DATA = WORK.FCS0FORECASTQUERY_FOR_ORDER_0001 NOCACHE;
PLOT (SUM_OF_Total_Retail_Price) * NewTimeID = _TYPE_ /;
SYMBOL1 I=JOIN V=NONE C=BLACK L=4;
SYMBOL2 I=JOIN V=NONE C=BLUE L=1;
SYMBOL3 I=JOIN V=NONE C=MAGENTA L=1;
SYMBOL4 I=JOIN V=NONE C=MAGENTA L=1;
WHERE _TYPE_ ^= 'RESIDUAL' & _TYPE_ ^= 'STD';
FORMAT NewTimeID MONYY5.;
BY Employee_Country;
RUN;
QUIT;
TITLE3;
SYMBOL;
TITLE;
RUN; QUIT;
TITLE; FOOTNOTE;
GOPTIONS RESET=ALL;
/*************************************************************************/
Avant de faire la procdure stocke, il faut extraire la liste des pays des employs.
181
Faire une requte sur la table Organization_Dim
Slectionner uniquement les valeurs distinctes des pays des employs.

Exporter dans un fichier texte cette liste.
182
183
Clique droit sur le code cration dune procdure stocke.

184
Lui donner un nom
Suivant
Suivant

185
Slectionner le chemin.
Pour que les procdures stockes soit visibles dans Web Report Studio, il faut les enregistrer dans
//Foundation/BIP Tree/ReportStudio/Shared/Report/StoredProcesses

186
187
Slectionner si besoin le serveur de procdures stockes
Suivant
188
Dans les paramtres, ajouter un Paramtre du code SAS
189
Vous pouvez changer linvite utilisateur
SAS a dtect la variable macro pays et la propose.

190
Dans les contraintes, charger les valeurs partir du poste de travail

Utiliser le fichier texte que vous venez de crer.
Supprimer si besoin les lignes inutiles.

191
Vous pouvez ensuite mettre une valeur par dfaut
Fermer
Oui
Oui

192
Slectionner Flux de sortie
Terminer

Pour tester la procdure stocke, vous pouvez aller la page :

http://nomdelamachine:8090/SASStoredProcess/do?_Program=/BIP%20Tree/ReportStudio/Shared/R
eports/StoredProcesses/Profit%20Orion
%20 pour les espaces dans les noms

193
Quelques modules SAS:

Une prsentation commerciale succincte se trouve la page :
http://www.sas.com/products/index.html
Si vous souhaitez des informations techniques, le site du support est :
http://support.sas.com
et plus spcialement la documentation en ligne qui est trs riche :
http://support.sas.com/documentation/onlinedoc/
SAS/BASE : le module SAS/BASE est le socle de base ncessaire lutilisation de tout autre produit
SAS. Cest tout dabord un langage de quatrime gnration (L4G) particulirement performant pour
la manipulation de donnes, la lecture et lcriture dans des tables, SAS ou autre, ldition dtat
standard ou personnalis et pour quelques analyses statistiques simples.

194
SAS/GRAPH : Le module SAS/GRAPH permet de gnrer et dinteragir avec tout type de graphique :
histogramme, camembert, courbes multiples, cartographie, reprsentation 3D, image, vido, etc.

SAS/ACCESS : les modules SAS/ACCESS permettent de sintgrer diffrents systmes de gestion
de base de donnes (SGBD) du march et certains progiciels de gestion intgr (PGI ou ERP en
anglais : Enterprise Resource Planning). Voici une liste dexemple non exhaustive SAS/ACCESS
Interface to SAP BW, to Teradata, to DB2, to MySQL, to ODBC, to OLE DB, to ORACLE, to PC Files,
to PeopleSoft, Etc.

SAS/STAT: Le module SAS/STAT regroupe lessentiel des fonctions danalyses statistiques
proposes par SAS.

SAS/ETS (Econometric and Time Series): Le module SAS/ETS regroupe lessentiel des fonctions
dconomtrie, de sries chronologiques.

SAS/OR (Operational Research) : Le module SAS/OR regroupe des fonctions avances de recherche
oprationnelle comme la programmation linaire, la programmation non-linaire ou bien loptimisation
de graphe. Lun des problmes le plus frquent doptimisation et de minimiser ou de maximiser une
quation sous contraintes. Par exemple, maximiser la marge, minimiser les cots o minimiser le
temps sous contraintes.

SAS/IML (Interactive Matrix Language) : Le module SAS/IML est un langage de programmation
matriciel.

Tous ces modules ncessitent de programmer en SAS. Ci-dessous linterface SAS/BASE Windows,
pour les programmeurs SAS.

195
Quelques packages :
Les packages ci-dessous sont prsents titre dinformation, la liste des modules intgrs nest pas
toujours prsente et peut tre soumise des changements.
SAS Enterprise Guide
SAS Enterprise Guide est une interface permettant de manipuler des donnes, de faire des analyses
statistiques et des rapports. Cette application dveloppe en .NET est donc une application
uniquement Windows. Enterprise Guide gnre du code SAS, qui est excut par un moteur SAS
base. SAS Enterprise Guide ne peut tre utilis sans une connexion un socle SAS/BASE. SAS
Enterprise Guide gnre du code SAS qui peut tre excut soit par la plateforme SAS, soit
directement par SAS/BASE.

Voici ci-dessous une liste des principales fonctionnalits de SAS Enterprise Guide.
196
197
SAS Enterprise Miner
SAS Enterprise Miner est le module de Data Mining de SAS. Cest une usine modle permettant
lindustrialisation de lexploitation intensive de gigantesques bases de donnes.

Dans la barre des tches (en haut) se trouve les outils de SAS Enterprise Miner ordonns selon la
mthodologie SEMMA : (Sample Explore Modify Model - Assess)
On peut noter :
Sample : prparer les chantillons de Data Mining
Input Data Source : On lutilise pour dfinir la table sur laquelle on va travailler, le rle des
variables et leurs mesures.
Data Partition : On lutilise pour partitionner la table dentre en deux ou trois sous
ensembles, par une partie des donnes pour construire le modle, et une pour le valider.
Explore : avant de faire des modles, explorer les donnes et les analyser
Multiplot est un outil rapide pour visualiser les distributions, et donc dtecter les valeurs
manquantes, les valeurs aberrantes, etc.
Insight : outil danalyse descriptive des donnes, analyses interactives simples et multivaries.
Modify : suite lexploration des donnes, modifier les donnes.
Replacement permet le remplacement des valeurs manquantes par diffrentes mthodes.
Transforme Variable permet de transformer les variables
Model : cration de plusieurs modles de diffrentes familles
Tree : pour la cration darbres de dcision
Regression : pour la cration de rgressions
Neural Network : pour la cration darbres de dcision
Assess : comparaison des modles pour slectionner le plus pertinent.
Assessment : permet de comparer les modles.
198
SAS STAT STUDIO
Interface sortie avec SAS 9.2, permet notamment lexploration interactive des donnes. SAS Stat
Studio est lvolution de SAS/Insight.
AppDev Studio
SAS AppDev Studio est loutil de dveloppement bas sur Eclipse permettant notamment de :
Crer des interfaces clientes
Crer des servlets, des applets, pour construire des applications clientes sur les technologies
Web
Crer des portlets pour complter le Portail
Crer des plug-in ajouter aux clients Java
Dvelopper des applications analytiques et de pilotage en client lger, Java ou Windows
Exploiter au mieux la puissance du serveur SAS dans des applications de pilotage sur mesure
Un environnement de dveloppement complet et autonome, pour concevoir tous types
dapplications

SAS Data Integration Server
SAS Data Integration Studio est une interface cliente Java de la plateforme dcisionnelle SAS. Elle
fait partie des packages SAS Data Integration Server et SAS Enterprise Data Integration
Server .
SAS Data Integration Server comprend notamment SAS/Base, SAS/CONNECT, ETL Studio et LSF.
SAS Enterprise Data Integration Server comprend notamment SAS/Base, SAS/CONNECT,
SAS/SHARE, 2 SAS/Access au choix (), ETL Studio, SAS Data Quality Server et LSF.
LSF est un Ordonnanceur permettant comme son nom lindique dordonnancer des flux de processus.
ETL Studio permet de crer des flux de processus, qui une fois crs, vont tre dploys pour
lordonnancement.
SAS Data Quality Server est intgr la plateforme SAS suite au rachat de la socit Data Flux en
2000. La qualit des donnes, cest notamment :
Audit de donnes
Dfinition et Suivi des indicateurs de qualit
Dfinition des standards
Correction des donnes
Intgration : d-doublonnage, consolidation, augmentation

199
SAS Intelligence Storage Server
SAS 9.1 Base, SAS Integration Technologies, SAS Scalable Performance Data Server, SAS OLAP
Server, SAS OLAP Cube Studio, SAS OLAP Server.
Stockage : SAS Scalable Performance Data Engine (SPDE moteur de donne performance
volutive) est un SGBD interne SAS et Scalable Performance Data Server SDPS et un SGBD SAS
indpendant. Pour le stockage des informations dans le Data Warehouse, SAS propose de multiples
technologies en fonction des problmatiques. Toutes ces technologies sont des solutions
dcisionnelles et ne sont pas du tout destines au stockage oprationnel. Les rollback segment et
la gestion des contraintes dintgrit ne sont pas des problmes dcisionnels. Tout comme ces bases
dfinies et ddies pour le dcisionnel et qui sont inadaptes loprationnel, les bases de donnes
oprationnelles, sont gnralement trs mal adaptes au dcisionnel, leurs performances mauvaises
car elles grent des problmes oprationnels, ce qui les surchargent. Pour les petits Data Warehouse,
cela passe, mais pas pour les complexes. Parmi les technologies proposes par lditeur SAS,
notons :
les tables SAS Base sont destines aux faibles volumtries
les bases SPDE aux fortes volumtries
les bases SPDS aux trs fortes volumtries
SAS OLAP server permet la cration et la gestion des tables multidimensionnelles. Les hyper
cubes sont en fait des tables SPDS et peuvent donc tre paralllises par le moteur SPDE ou
SPDS.
le module SAS/SHARE permet le partage en lecture et en criture des tables
les vues permettent de ne pas trop alourdir le Data Warehouse
Sur la base dInformation Maps, on peut crer des Data Mart virtuels (voir la partie stockage).
200
SAS Business Intelligence Server
SAS 9.1 Base
SAS/Graph
SAS Integration Technologies
Enterprise Guide
SAS Office Integration Components
SAS Web Report Studio
SAS Information Map Studio
Reporting de masse : linterface cliente Java SAS Information Map Studio, permet de crer des
information Maps que lon peut comparer par bien des points aux univers de lditeur Business
Object, cr avec linterface BO Designer. Linterface client lger de reporting de masse SAS Web
Report Studio permet des utilisateurs non informaticiens de crer leurs rapports simplement. SAS
Web Report Studio peut tre compar en plusieurs point avec loutil BO.

SAS Information Maps Studio permet de crer des Informations Maps. Ci-dessus, dans la partie
gauche, se trouve le rfrentiel de mtadonnes SAS, au milieu, les donnes physiques, qui comme
ci-dessous, peuvent avoir des relations complexes, ce qui est incomprhensible pour les non
informaticiens , et dans la partie droite de linterface ci-dessus se trouve lInformation map, lment
format pour un groupe dutilisateur non informaticien. Cette Information map permet de rendre
disponible linformation de manire comprhensible pour chaque utilisateur. Voir le chapitre sur les
Maps.
201
202
SAS Web Report Studio est une interface Web qui permet de crer des rapports. Ci-dessus, exemple
de la fentre gnrique de cration de rapport. Ci-aprs, exemple du rapport simple cr.

203
SAS Office Integration Components offre la possibilit douvrir des tables SAS, dexcuter des
programmes SAS depuis la suite office.

204
SAS Information Delivery Portal :

Le portail dcisionnel SAS est le point dentre vers un ensemble dapplication Web dcisionnelle. Par
exemple, une page prsentant un rapport de synthse et offrant des entres vers lapplication de
reporting de masse SAS Web Report Studio, vers linterface de reporting de Data Mining de SAS
Enterprise Miner (Miner),