Business Intellig
Business Intellig
Business Intellig
Intelligence
avec
SQL Server 2008
Mise en œuvre d’un projet décisionnel
Bertrand Burquier
BUSINESS
INTELLIGENCE
AVEC
SQL SERVER 2008
Mise en œuvre
d'un projet décisionnel
Business Intelligence
avec SQL Server 2008
Mise en œuvre d'un projet décisionnel
Bertrand Burquier
432 pages
Dunod, 2007
Bertrand Burquier
Consultant et ingénieur en systèmes d'information
Toutes les marques citées dans cet ouvrage sont des
marques déposées par leurs propriétaires respectifs.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
A NNEXES
Annexe B – Nouveautés de SQL Server 2008 par rapport a la version 2005. . . . . 395
Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Introduction
Par temps de crise, les entreprises sont devenues moins dispendieuses et l’expé-
rience acquise depuis des années a apporté aux dirigeants son lot de réalisme. À
qualité égale, le coût est devenu un critère majeur. La simplicité de mise en œuvre et
d’intégration des couches technologiques a aujourd’hui toute son importance.
Gageons que Microsoft, avec sa solution SQL Server 2008 intégrant nativement la
Business Intelligence trouvera une nouvelle fois un écho favorable auprès d’un public
exigeant.
Cet ouvrage a pour ambition d’offrir une vision méthodologique de la fabrication
de la chaîne décisionnelle, un état de l’art des outils disponibles, ainsi qu’un mode
opératoire permettant de réaliser vous-même le déploiement de fonctions de Business
Intelligence au service du métier de votre entreprise.
Public concerné
La Business Intelligence en tant qu’outil de pilotage s’adresse essentiellement aux
décideurs confrontés chaque jour à des choix stratégiques et tactiques dans leur
entreprise. Il est donc bien naturel que les dirigeants (direction générale et directions
opérationnelles) disposent d’un langage commun partagé avec les techniciens de
l’information. Cet ouvrage leur est particulièrement destiné car il présente une
méthodologie de valorisation de l’information à des fins stratégiques.
Les contrôleurs de gestion, directions financières, commerciales, marketing, res-
sources humaines, production verront les aides que peut apporter la Business Intelli-
gence à leurs tâches quotidiennes.
Les directeurs informatiques, responsables informatiques et bureautiques, disposeront
d’une méthode de mise en œuvre de la chaîne décisionnelle au service des acteurs
opérationnels de l’entreprise.
Les consultants, architectes et urbanistes en systèmes d’information, assistants à
maîtrise d’ouvrage, chef de projet informatique, étudiants en informatique de gestion
disposeront d’un outil méthodologique basé sur des cas concrets d’entreprise. Ils
disposeront d’une panoplie d’outils leur permettant de réaliser rapidement des projets
décisionnels.
Les SSII soucieuses d’apporter des prestations nouvelles à leurs clients, les orga-
nismes de formation, les sociétés de VPC, les hébergeurs d’applications sur Internet,
les banques et assurances, les sociétés de service, les sociétés fiduciaires, les sociétés
industrielles quelle que soit leur taille découvriront avec intérêt le potentiel de la
Business Intelligence.
Objectifs à atteindre
L’objectif de cet ouvrage est de fournir aux dirigeants la culture nécessaire à la
compréhension des méthodes et outils nécessaires à la mise en œuvre du tableau de
bord de l’entreprise. Il permet également de comprendre les mécanismes sous-jacents
qui participent à la fabrication de la chaîne décisionnelle. L’informatique décisionnelle
se fonde sur des concepts spécifiques et un vocabulaire approprié détaillés en annexe.
Introduction 5
Il a également pour objectif d’aider à définir les étapes clés d’un projet décisionnel,
identifier les processus métier, modéliser les données métier, identifier les outils qui
participent à la conception du datawarehouse, comprendre les outils d’analyse et de
restitution. Communiquer avec ses partenaires grâce à un portail décisionnel.
Quelles sont les qualités et compétences requises pour être un bon chef de projet
décisionnel ? Calculer le retour sur investissement et faire une offre concrète sont
souvent évoqués dans la littérature décisionnelle mais rarement explicités.
L’auteur de cet ouvrage espère participer au mouvement de la démocratisation du
décisionnel dans les petites et moyennes entreprises. Les séminaires de formation
qu’il anime sur le sujet montrent bien l’intérêt croissant que tous les acteurs de
l’entreprise portent à ce domaine. L’auteur espère qu’à travers cet ouvrage, un dialogue
constructif s’établira entre les deux mondes, parfois éloignés, qu’il rencontre dans ses
consultations : les informaticiens et les managers d’entreprise.
1
La Business Intelligence
dans le chapitre suivant le large éventail des domaines dans lesquels la BI offre des
réponses concrètes.
De l’autre côté les éditeurs de logiciels de BI s’adressent aux informaticiens dans le
but bien naturel de réaliser des volumes importants de licences. Le discours est dans
ce cas très technique et s’attache à mettre en avant les performances, la simplification
et la richesse des fonctionnalités des produits.
Entre ces deux mondes, il réside un fossé d’incompréhension. Pourquoi ? Les
dirigeants opérationnels (finance, marketing, commercial, RH...) ont un besoin crucial
d’informations concernant le déroulement de leur activité. Ils réclament régulièrement
des rapports nouveaux auprès des informaticiens dans le but de satisfaire des besoins
d’analyse de l’activité immédiate de l’entreprise. Dans le meilleur des cas, un délai
de quelques jours sera nécessaire aux programmeurs pour délivrer lesdits rapports.
Dans le pire des cas ces développements ne verront jamais le jour soit de par la
« complexité apparente » de la demande, soit tout simplement par la non-disponibilité
des développeurs, très chargés par ailleurs.
En réalité, on s’aperçoit que les métiers de l’informatique évoluent vers des tâches
d’administration de systèmes d’information de plus en plus complexes, qui nécessitent
tous les jours davantage de soins et d’attention, sans parler de la sécurité omniprésente.
Paradoxalement, l’informaticien est de plus en plus au service de la machine et de
moins en moins au service du métier de l’entreprise.
Malgré des réussites évidentes, le déploiement des ERP (progiciels de gestion
intégrée) a nécessité des ressources importantes dans les entreprises qui les ont
mis en place. Des équipes de projet se sont bien souvent épuisées à faire entrer le
métier de l’entreprise dans des standards. Tout naturellement, les entreprises ont donc
« standardisé » leur métier. Elles cherchent aujourd’hui, à juste titre, des facteurs de
différenciation.
La Business Intelligence est un système permettant aux dirigeants d’analyser et
d’interpréter, à l’aide d’outils simples, les données complexes de l’entreprise et de son
environnement économique.
Les données brutes sont transformées et restituées dans des entrepôts structurés,
afin de permettre d’analyser et de suivre les indicateurs stratégiques de l’entreprise.
Ces outils doivent permettre de découvrir et de partager la stratégie à tous les niveaux
de l’entreprise. Grâce à ses outils « multidimensionnels » la BI est particulièrement
adaptée à l’analyse immédiate. Elle offre la capacité de suivre au quotidien les
indicateurs métiers et de les comparer aux objectifs opérationnels définis par la
direction.
Bien sûr, le discours marketing ambiant tente de démontrer qu’il suffit d’acquérir
tel ou tel produit décisionnel pour que la magie opère. Comme on dit communément,
« si c’était aussi simple ça se saurait ». À quoi serviraient alors les SSII, les intégrateurs
et les consultants spécialisés en systèmes décisionnels ? Seraient-ils devenus inutiles
parce que les éditeurs ont mis en place des assistants visant à simplifier le processus de
création de la chaîne décisionnelle ? Rien n’est moins sûr.
1.2 Objectifs et enjeux du décisionnel 9
Nous verrons au fil de cet ouvrage les pièges qu’il est nécessaire de connaître avant
d’entreprendre un projet BI. Nous découvrirons que la phase la plus délicate de la
chaîne décisionnelle ne réside ni dans la conception du cube, ni dans la restitution.
Nous verrons également qu’un cadre méthodologique est nécessaire à la création de
l’entrepôt de données, centre névralgique des applications décisionnelles.
Toute interrogation métier, selon qu’elle est stratégique ou tactique, nécessite des
outils appropriés qu’il faut identifier dans la panoplie offerte par les éditeurs de logiciels.
Nous verrons quels processus se mettent en place lors de la prise de décision. Nous
montrerons comment, grâce à des outils appropriés, être tantôt l’architecte du projet,
tantôt le « consommateur » de l’information. Chaque rôle, très complémentaire, revêt
une importance capitale dans la mise en œuvre de la BI en entreprise.
Ces commentaires suggèrent que les technologies actuelles sont inadéquates dans
le cadre de l’aide à la décision. Cependant, ces réflexions nous aident à comprendre la
complexité et la nature des attentes des utilisateurs.
1.3 Le processus de décision ou le facteur humain dans la prise de décision 11
Le processus d’apprentissage
Lorsque les données sont organisées en référentiel métier et présentés au niveau
d’abstraction adéquat, les décisionnaires peuvent alors les utiliser et les comprendre. Le
processus d’apprentissage implique des réflexions itératives de la part du décisionnaire.
Celles-ci se matérialisent par des requêtes successives dont les réponses engendrent
naturellement de nouvelles questions.
1.3 Le processus de décision ou le facteur humain dans la prise de décision 13
De manière similaire, nous pouvons attribuer le succès sans précédent du Web par
l’application de ces trois principes : organisation, navigation et visualisation. Pour trouver
une information sur un DVD, nous tapons ces deux mots « DVD NomDuChanteur »
dans un moteur de recherche. Ce dernier propose plusieurs sites commerciaux. Nous
pouvons facilement comparer, naviguer, approfondir notre recherche en cliquant sur
des hyperliens.
Le second point repose sur le fait que le processus d’apprentissage est rarement
linéaire. Le Web est particulièrement adapté à ce mode de fonctionnement. Les
hyperliens nous permettent de passer d’un sujet à un autre. Les boutons de retour en
arrière du navigateur permettent de revoir toutes les étapes du cheminement. Cette
approche est particulièrement efficace lors d’une découverte non structurée.
Enfin, la visualisation enrichie du Web présente une information dans sa forme la
plus compréhensible. Des images animées, des graphiques pour exprimer des tendances,
des tableaux pour comparer, etc. Tous ces modes de représentation, exprimés selon
une organisation intuitive et flexible, font du Web une des inventions les plus efficaces
qui soit dans le domaine de l’information.
tableau de bord. Il s’agit de focaliser les collaborateurs sur ce qui est important et
d’attirer leur attention en permanence.
Tour écart de trajectoire est corrigé par le pilote.
En Business Intelligence, nous parlerons d’écarts sur objectifs prévisionnels,
d’optimisation, de planning, de prévu/réalisé.
Toute décision de correction de trajectoire entraîne une action dans le poste de
pilotage.
En Business Intelligence d’entreprise, les écarts entre le prévu et le réalisé vont
engendrer des actions correctives.
Des indicateurs externes à l’avion (radar détectant la présence d’un autre avion à
proximité, perturbations atmosphériques prévisibles sur carte météo, fortes turbulences
en vue), vont amener le pilote à changer de trajectoire...
L’atterrissage est maintenant proche, le pilote s’apprête à agir sur la trajectoire et
l’altitude.
En Business Intelligence, la direction générale s’apprêtera à agir par la mise en
place d’actions opérationnelles. Dans l’entreprise, cela peut entraîner des changements
de comportements pour atteindre les objectifs.
Voici synthétisé le modèle du processus de prise de décision transposé à l’entreprise.
Cela implique naturellement de pouvoir mesurer la valeur des données, et c’est bien
là que nous bloquons dans notre réflexion.
Il existe cependant des cas concrets où nous pouvons attribuer précisément
une valeur à l’information. Prenons par exemple le cas d’une demande au service
des renseignements téléphoniques dont le coût est, par exemple, de 1 euro alors
que l’information demandée peut être obtenue gratuitement grâce à un annuaire
téléphonique sur internet. Le coût de la transaction accepté par le client est cependant
justifié par un service immédiat. Quel que soit l’endroit où il se trouve, et le moment
de son choix, le demandeur obtient l’information capitale.
D’une manière générale, la valeur de l’information dépend d’un certain nombre de
facteurs que nous évoquerons. Il est intéressant de constater que plus nous pouvons
préciser ces facteurs et plus nous sommes en mesure d’élaborer le modèle d’évaluation
de l’information.
combine ces deux informations entre elles, j’obtiens une connaissance précise sur le
mouvement des produits depuis le fournisseur jusqu’au consommateur.
Il est aisé de comprendre que la valeur de l’information s’accroît lorsqu’elle peut
être combinée avec d’autres sources d’information. Le processus de BI concerne
la capacité à collecter, agréger, et plus important encore de rapprocher plusieurs
sources entre elles. En d’autres termes, si nous pouvons rapprocher deux informations,
les lier entre elles, et en déduire quelque chose de nouveau qui n’aurait pu être
découvert autrement, nous pouvons exploiter cette découverte pour en tirer un
avantage concurrentiel.
le service qu’il désire. On le comprend bien, il s’agit de satisfaire un client grâce à son
profil parfaitement identifié.
Les rubriques énumérées ci-dessous ont pour but d’augmenter la visibilité des
services ventes, marketing et d’une manière générale tout département qui interagit
avec le client final.
Profil Client
La plus grande partie des actions marketing consiste à « ratisser large » et à espérer
capturer le plus grand nombre de clients possibles. Après les études très détaillées
de Martha Rodgers consacrées au « marketing one to one », les entreprises prennent
de plus en plus conscience que les prospects sont différents les uns des autres et que
leur approche doit être adaptée en fonction du profil du prospect. Des informations
comportementales, préférentielles, géographiques et sociologiques concernant le
prospect permettent d’adapter individuellement le discours.
Le ciblage marketing
La connaissance des ressemblances et dissemblances permet de constituer des
ensembles de prospects ayant des comportements similaires afin d’élaborer une
communication adéquate.
La personnalisation
L’analyse fine du caddie, que ce soit au supermarché ou sur un site marchand en ligne,
permet en temps réel de connaître les produits achetés en magasin ou sur le site et d’en
déduire immédiatement des analyses fines et d’effectuer les actions qui s’imposent. À
cet égard, le navigateur web est un formidable outil de découverte de l’internaute, tant
les traces numériques laissées lors de ses recherches et hésitations sont révélatrices du
comportement de ce dernier. Le serveur web a la capacité d’interagir avec l’internaute
afin de l’aider dans sa recherche ou même de suggérer des achats complémentaires.
Les « cookies » permettent l’identification d’un individu sur un site. Lors d’un
accès ultérieur il devient possible de dialoguer intelligemment avec l’internaute et
d’agir en tant que conseil auprès de celui-ci.
Le filtrage collaboratif
Si vous êtes déjà allé sur des sites de ventes en ligne tels qu’Amazon.com ou Fnac.com,
cette notion de filtrage collaboratif ne vous a sans doute pas échappé. Lors du choix
d’un CD ou d’un livre, le site vous suggère des achats alternatifs ou complémentaires
basés sur les préférences d’autres clients. L’information affichée sur la page web est très
suggestive : « Les gens qui ont acheté le produit X ont également acheté le produit Y. »
Les processus de filtrage collaboratif évaluent la similitude des préférences entre des
groupes de consommateurs. Ces recommandations créent en général des opportunités
de cross-sell (ventes croisées) et de up-sell (ventes additionnelles).
1.3 Le processus de décision ou le facteur humain dans la prise de décision 21
La satisfaction du client
Un des avantages induits par le profilage est de connaître la satisfaction d’un client
par rapport à des produits ou services. Un rapide sondage permet de collecter le
niveau de satisfaction d’un client, de comparer par rapport à l’ensemble des clients.
L’historisation des données permet de connaître la tendance de la satisfaction générale
de la cible et naturellement de réagir avant qu’il ne soit trop tard.
La fidélité du client
On a coutume de dire que les meilleurs nouveaux clients d’une entreprise sont les
clients actuels. Cela veut dire que les plus belles opportunités de réaliser de nouvelles
ventes se font auprès des clients de l’entreprise qui sont heureux de travailler avec
vous et satisfaits de vos produits et services.
L’analyse des clients en portefeuille est une aide efficace.
La rentabilité effective
Cette notion regroupe la performance, le coût du travail et le rendement de la
production ; autant de facteurs qui montrent comment les membres du personnel
travaillent. Cette information peut être intégrée dans le référentiel et apporter une
valeur supplémentaire à l’analyse globale.
L’analyse de la productivité
Ce domaine d’analyse très répandu génère un grand nombre d’indicateurs et d’analyses.
Le reporting financier
Les contraintes sévères liées à l’industrie obligent les entreprises et maintenant les
administrations (LOLF, loi organique relative aux lois de finances promulguée le
1er août 2001) à fournir de nombreux rapports financiers afin de présenter leurs
résultats. Ces contraintes se sont encore alourdies suite aux scandales financiers qui
ont défrayé récemment la chronique. Indépendamment de leur caractère obligatoire,
les analyses qui en résultent sont un excellent moyen de prendre le pouls de l’entreprise
et de repérer des secteurs nécessitant une surveillance particulière.
Dans cet esprit, le Congrès américain a fait adopter en juillet 2002 la loi Sarbane-
Oxley contraignant ainsi les entreprises cotées à communiquer rapidement leurs
résultats financiers.
L’article 404 de la loi vise à renforcer la fiabilité de l’information financière
délivrée et rend obligatoire l’utilisation d’un cadre d’analyse reconnu en matière de
contrôle interne et cite en substance le référentiel COSO (Committee of Sponsoring
Organizations, association américaine ayant pour objectif d’établir des règles de
contrôle financier interne et d’améliorer la qualité des reporting financiers).
La gestion du risque
C’est la capacité à trouver des solutions pour minimiser les conséquences des événe-
ments associés à une situation.
La précision de l’observation dans le suivi de l’activité et de la productivité offre
aux gestionnaires la capacité de prendre de meilleures décisions, par exemple sur
l’allocation de ressources dans le but de réduire le risque de l’organisation. De plus
l’analyse du risque peut apporter des réponses dans le cadre de la négociation de
contrats avec les fournisseurs et les partenaires en général.
La mise en place du nouveau règlement Bâle 2 vise à améliorer la qualité du
système bancaire grâce à la transparence dans la gestion des risques opérationnels.
Le juste à temps
Le concept de production en juste à temps doit aboutir à une diminution des risques
liés à la volatilité des prix des produits. Il est fortement recommandé de pouvoir
corréler les informations reçues au travers du canal de ventes afin de réagir le plus
rapidement en termes d’approvisionnement et de production.
1.3 Le processus de décision ou le facteur humain dans la prise de décision 23
L’expédition
Il existe différentes méthodes pour livrer des marchandises auprès des clients, chacune
générant des coûts différents. Par exemple, il sera plus coûteux de livrer des produits
par avion plutôt que par transport routier, mais les produits arriveront à destination
plus rapidement. Ce délai plus court peut être exploité pour répondre à une demande
dont il faut mesurer la justification.
L’analyse du comportement
Il est utile de repérer des modèles de comportement qui sont le présage d’événements
significatifs. Ce type d’analyse fait un usage abondant des données afin de repérer des
modèles susceptibles de générer tel ou tel événement. Le but de l’analyse consistera
donc à repérer la mise en place de tels modèles dans le but de prédire l’apparition
des phénomènes attendus. Ces études sont fortement utilisées en analyse technique
boursière. L’analyse d’une action sur une durée significative permet de mettre en
évidence des modèles susceptibles de prédire des changements de tendance. L’analyse
chartiste est basée sur ces phénomènes.
24 Chapitre 1. La Business Intelligence
L’activité du Web
Nous l’avons déjà signalé précédemment, l’analyse du comportement d’achat sur un
site de commerce électronique est relativement aisée. Elle donne de surcroît des
indications d’achat et de tendance en temps réel. Cette détection des modèles de
comportement d’achat peut être à l’origine d’un modelage du site afin de mieux
prendre en compte les attentes des internautes.
L’attrition du client
Un problème récurrent pour un grand nombre d’organisations est l’attrition du client
ou la capacité de ce dernier à quitter son fournisseur habituel. Dans les industries
à caractère compétitif, il est bien plus profitable de convaincre un client de rester
fidèle à un fournisseur avant qu’il n’ait pris la décision de le quitter plutôt qu’après.
On constate cela fréquemment dans la lutte effrénée que se livrent les opérateurs
téléphoniques pour conquérir de nouveaux clients. Les coûts de séduction de ces
nouveaux clients sont proprement exorbitants. Le repérage des clients susceptibles
de quitter l’entreprise par une observation fine des modèles de comportements
(historiques des appels et des plaintes) permettrait de proposer des offres personnalisées
susceptibles de retarder le départ voire même de l’éviter.
Lorsqu’un projet décisionnel est décidé dans l’entreprise plusieurs composantes vont
interagir :
• La composante humaine est le moteur du projet et il est important de disposer
d’un sponsor de poids dans l’entreprise (la direction générale dans une PME ou
une direction fonctionnelle dans un grand compte).
• La composante technique est l’arbre de transmission qui garantira aux rouages
un fonctionnement harmonieux.
• La composante financière résulte des deux composantes précédentes. Tout pro-
jet BI nécessite une demande d’autorisation d’investissement (DAI). Cet enga-
gement de dépense fait suite à une estimation fine des éléments économiques
du projet (nombre de jours/homme d’étude, de développement, d’intégration,
d’exploitation, coûts des licences, coûts des plates-formes matérielles, etc.).
Autant que faire se peut, on cherchera à identifier les facteurs de différentiation par
rapport aux concurrents et à mettre en place des indicateurs permettant de mesurer
les gains réels.
30 Chapitre 2. L’approche méthodologique
Analyse et Intégration
spécifications
Conception Tests
Développements
Et
programmation
humaine est primordiale pour la réussite d’un projet BI. Il est de loin préférable qu’une
équipe soit soudée et animée par la volonté partagée de réussir plutôt que composée
d’individualités brillantes ayant peu le sens de la communication.
Priorité à l’application
Il est vital que l’application fonctionne selon les spécifications demandées. Il ne sert à
rien de documenter à l’excès des procédures techniques. On le sait, les programmes ont
tendance à être modifiés régulièrement mais pas la documentation associée rendant
cette dernière suspecte. Il est préférable de commenter abondamment les programmes
et de mettre à jour les lignes de commentaires lors de l’apport de modifications.
Il est infiniment plus utile d’obtenir en ligne un commentaire sur l’origine d’une
information (clic droit ou aide) plutôt que d’en chercher le sens dans un cahier
généralement introuvable au moment opportun. La documentation fonctionnelle doit
être accessible en ligne.
Il est également important de définir un binôme technique (deux personnes ayant
une bonne compréhension des processus informatiques, une forte complémentarité et
pouvant assurer un dépannage en cas d’absence de l’autre).
L’acceptation du changement
Il n’est jamais agréable au cours du développement de revenir sur des spécifications ou
des procédures codées. Cependant, afin d’éviter la frustration du client, il est impératif
d’accepter des modificatifs mineurs. La planification du projet doit rester flexible afin
d’en tenir compte. Le choix de l’outil de développement est à cet égard très important.
Cette étude permet d’effectuer une sorte de « carottage » dans les strates fonction-
nelles (découverte d’un domaine parmi finances, achats, commercial, communication,
RH) et techniques (découverte des systèmes utilisés : système d’information, SGBD,
système d’exploitation, etc.).
Les livrables sont :
• un document de synthèse ;
• un prototype de l’application cible ;
• une licence à durée limitée du produit utilisé.
La démarche projet présentée plus haut est naturellement appliquée lors de cette
étude de faisabilité.
À l’issue de cette étude, le prestataire dispose d’éléments concrets lui permettant
de chiffrer avec plus de précision le développement et le déploiement de la solution
globale.
Après un temps de réflexion, le client dispose de la faculté de stopper son
expérience ou au contraire de mettre en œuvre tout ou partie du projet.
Le chapitre 13 présente les composants de l’étude de faisabilité.
Définir Sélection et
l’architecture installation Croissance
technique des outils et
évolution
Technologie
Maintenance
Spécification Développement
de de l’application
l’application
Application
En 1996, les mêmes auteurs publient un livre sur ce sujet, traduit en français sous le
titre Le tableau de bord prospectif, pilotage stratégique : les quatre axes du succès (Éditions
d’Organisation, 1998). Les auteurs proposent de sortir du traditionnel tableau de bord
financier tout en faisant apparaître une vision multidimensionnelle de la performance.
Ils définissent quatre axes privilégiés de la performance, chaque axe étant motivé par
le même moteur : la stratégie de l’entreprise (figure 2.3).
Quelle est
ma stratégie
de développement ?
Que dois-je
apporter à mes clients ?
Que font mes concurrents ?
La grande force du BSC fut de montrer qu’il existait d’autres composantes qui
participent à la valeur ajoutée. Norton et Kaplan ont nommé ces composantes
intangible value drivers et ont tenté de définir des indicateurs de performance derrière
chacun des axes.
Activité Quantités vendues par secteur, par produit, par Par secteur, par produit,
client par client
Nouveaux clients
Nombre de commandes
Clients n’ayant pas commandé depuis x temps
Nombre de prospects visités
Nombre de devis émis
Taux de transformation sur devis
Qualité Nombre de réclamations reçues et traitées
Délai de livraison client
Taux de renouvellement des contrats d’entretien
Taux de rupture
36 Chapitre 2. L’approche méthodologique
(suite)
Coût Frais commerciaux Par nature, par secteur
Contribution/coût Par agence
Promotions
Engagements publicitaires Par famille de produit
Frais de voyage et déplacement Par secteur
Coût des stocks obsolètes
Observation Indices d’évolution d’achat de vente
Suivi de la compétitivité
Concurrence
Humains Effectifs
Embauches
Démissions
Primes versées
Nouveaux projets
(suite)
Humains Effectifs (internes/externes), embauches,
démissions
Taux d’absentéisme
Moral des troupes
Fréquence des accidents du travail
(suite)
Humains Effectif interne/externe
Embauches/démissions
% de sous-traitance
Qualification du personnel
chargement. On verra que les ETL proposent des solutions de reprise intermédiaire
basées sur des points de contrôle ( checkpoint) à certaines étapes du processus.
Figure 2.4 — Voici un tableau qui doit pouvoir être fourni par un système basé sur un
datawarehouse
Nous verrons dans le chapitre 5 comment l’ETL (Integration Services dans SQL
Server 2008) permet de mettre en œuvre le processus de stockage des instantanés dans
le datawarehouse.
Les tables de dimensions présentent souvent des descriptions textuelles. Par exemple,
on effectuera des requêtes par produit ou par client. Dans ce cas, les produits ou les
clients sont des axes d’observation métier. Ces axes d’analyse répondent souvent aux
questions « Quoi ? » (quel produit), « Où ? » (chez quel client), « Comment ? » (quel
canal de vente), « Qui ? » (quel vendeur).
Tableau 2.1 — Le croisement des dimensions permet d’analyser les indicateurs selon de
nombreuses perspectives
Tableau 2.2 — L’analyse dimensionnelle offre des combinaisons multiples et quasi illimitées.
Chaque dimension peut comporter des niveaux hiérarchiques permettant d’affiner les analyses
Dimensions Indicateurs
Temps De résultat
Géographie Nombre d’unités vendues
Part de marché
Usine Nombre de clients traités
Commandes prises
Canaux de ventes Taux de produit défectueux
Pièces produites
Organisation Pièces en rebut
Coût
Temps (calendaire/fiscal) Budget/réalisé
Contribution/marges
Ratios
...
De moyens
Matière consommée/unité produite
Heures de main-d’œuvre
D’avancement et plan d’action
% personnel formé
Nombre de cercles de qualité
D’environnement
Cours des matières premières
Taux de change
Taux financier
...
Indicateurs :
Nb unités, CA, marge...
Dans la figure 2.7, les flèches représentant les arêtes du cube symbolisent les axes
d’observation (Géographie, Produits et Temps). Les cellules du cube matérialisent les
mesures ou indicateurs (nombre d’unités, CA, marge, etc.).
En guise de synthèse, nous proposons un comparatif entre les modèles de stockage dit
transactionnels et multidimensionnels. Ces règles ont été définies par deux théoriciens
américains, E.F. Codd et C.J. Date.
Règle 6 : Toutes les vues que l’on peut théoriquement mettre à jour peuvent aussi
être mises à jour par le système (ce qui inclut insertion, modification, suppression).
50 Chapitre 2. L’approche méthodologique
Règle 5 : La plupart des données OLAP sont stockées sur des systèmes puissants
et sont accessibles via des postes individuels. Il est donc nécessaire que les produits
OLAP travaillent en environnement client/serveur.
Règle 6 : Toutes les dimensions doivent être équivalentes en structures et en calcul.
Il ne doit exister qu’une seule structure logique pour toutes les dimensions.
Règle 7 : L’optimisation des matrices creuses est nécessaire afin de tenir compte
des combinaisons vides (dans une analyse à la fois sur les produits et les clients, tous
les produits ne sont pas vendus chez tous les clients).
Règle 8 : Le système doit offrir des accès concurrents, garantir l’intégrité et la
sécurité afin que plusieurs utilisateurs puissent accéder au même modèle d’analyse.
Règle 9 : Tout outil OLAP doit gérer au moins 15 à 20 dimensions.
Règle 10 : Les opérations doivent s’effectuer sur toutes les dimensions (agrégats)
et ne pas demander à l’utilisateur d’intervenir pour définir un calcul hiérarchique.
Règle 11 : Toute manipulation de données doit être intuitive. Elle doit être
accomplie via une action directe sur les cellules du modèle sans utiliser de menus
ou des chemins multiples à travers l’interface utilisateur.
Règle 12 : Doit offrir une souplesse et une grande facilité de constitution des
rapports. Doit permettre de présenter les résultats sous forme de données synthétiques
ou en fonction de l’orientation du modèle.
OLTP OLAP
(bases transactionnelles (cubes analytiques)
de production)
Utilisateur Collaborateur, cadre opérationnel Cadre fonctionnel, décideur
Fonction Saisie journalière Aide à la décision
Base de données Orientée application (ERP) Orientée métier
Données Dynamique Historique
Usage Répété À la demande (ad hoc)
Accès Lecture/écriture Lecture seule (écriture de
simulation possible)
Unité de travail Transaction (insertion/suppression, Requête complexe hiérarchique.
mise à jour). Langage SQL Langage MDX
Nb enregistrements Quelques enregistrements Millions d’enregistrements
utilisés
Nb utilisateurs Centaines Dizaines
Volume de la Base GB TB
52 Chapitre 2. L’approche méthodologique
Le propos est de mettre en avant les avantages et les inconvénients des deux systèmes
(OLAP et reporting) afin de choisir l’outil le mieux adapté pour répondre à un besoin
« utilisateur » spécifique.
Approche du problème
Les techniques d’aide à la décision font appel à deux approches complémentaires.
L’une est centrée sur les données à produire, l’autre sur l’utilisateur. Dans le cas de
l’approche centrée sur les données, on examine les caractéristiques des données à
produire et on choisit la technologie la mieux adaptée pour cela.
Dans le cas de l’approche centrée sur l’utilisateur, la réflexion est menée autour
des besoins exprimés par le demandeur. En effet, vous cherchez à connaître qui sont
les consommateurs d’information et quelles sont leurs attentes : s’agit-il de prendre
des décisions, de suivre la performance d’une unité opérationnelle, ou de partager
l’information avec d’autres collaborateurs. Lorsque le besoin sera défini, il s’agira de
déterminer la meilleure technologie susceptible d’aider les utilisateurs à accomplir
leurs tâches.
2.6 OLAP ou reporting ? 53
Voici deux exemples de requêtes qu’il est aisé de traiter au travers d’un système
OLAP et très complexe avec le langage SQL de base :
• Quels sont les clients dont la part cumulée progresse le plus vite depuis le début
de l’année ?
• Quelle est la variation des ventes cumulées et comparées sur trois ans pour mes
cinquante plus gros clients ?
54 Chapitre 2. L’approche méthodologique
En conclusion
Les techniques basées sur des structures de données relationnelles sont efficientes
lorsqu’elles visent à distribuer des données détaillées aux utilisateurs au travers de
rapports préformatés.
Les technologies OLAP sont plus appropriées lorsque les utilisateurs désirent
explorer et comprendre les données agrégées afin de répondre rapidement à des
besoins stratégiques de l’entreprise. L’utilisation partagée d’un référentiel « métier »
de l’entreprise favorise le dialogue et le partage naturel de la stratégie entre les acteurs
des différents départements de l’entreprise.
Figure 2.8 — Les différentes composantes du processus décisionnel avec SQL Server 2008
58 Chapitre 2. L’approche méthodologique
être mises en œuvre (envoi de mail ou SMS). Des procédures de reprises doivent être
définies.
Il est aisé de comprendre que la complexité d’un entrepôt de données croît de
manière exponentielle avec le nombre de sources de données en entrée.
Il ne faut pas non plus négliger le fait que la connaissance des pièges et de leur
identification peut disparaître avec les personnes.
Le poste d’ETL devra faire l’objet d’une documentation extrêmement précise et
complète.
Les statisticiens
Les statisticiens disposeront d’outils puissants leur permettant d’analyser les corréla-
tions, ou d’effectuer des analyses prédictives. Ils se spécialiseront dans l’usage des outils
de data mining (fournis dans la version SQL Server S005 standard et Enterprise). Ils
pourront également se livrer à des scénarios afin d’en mesurer les impacts (Les cubes
en écriture (writeback) associés à des outils tels que Desktop Professional de Proclarity,
permettront aisément de répondre à ce type d’analyse). Rappelons qu’Excel dispose
en standard de fonctions de simulations (Scénario) ou de résolution de problème
(Solver). La version 2007 d’Excel permet grâce au menu d’exploration de données,
d’accéder aux outils de Data Mining de SQL Server 2008. Ces outils nécessitant une
petite formation sont malheureusement peu utilisés.
En conclusion nous pouvons affirmer que plus de 80 % des utilisateurs métier ne
désirent pas passer leur temps à créer des rapports, ou manipuler de l’information. En
revanche ils désirent des rapports ciblés, concis, avec des graphiques clairs. Ils veulent
passer le moins de temps possible à déchiffrer et prendre rapidement les décisions
nécessaires à l’action. Les 20 % restant représentent les analystes. Ils font le plus grand
usage d’outils dynamiques et interactifs.
Organisation
Revendeur
Comptes
Produits
Ateliers
Clients
Temps
150 000
50 000 Qtées
vendues
0 Retours
Roman Sciences Informatique
humaines
Figure 2.9 — Une représentation visuelle est toujours plus parlante pour l’utilisateur
Tableau 2.5 — Tableau des dimensions et indicateurs de la fonction « Analyse des ventes »
Dimensions Indicateurs
Temps Produits Revendeur Clients Organisation
– Année – Ligne Grossiste Enseigne Équipe de vente Qtés
– Trimestre de produit Distributeur Groupement Vendeur cdées
– Mois – Marques VAR Magasins Qtés
– Jour – Catégorie Point de vente vendues
– YTD de produits Marge
(cumul) – Collection
– Croissance – Produit Remises
par période % remise
Prix
moyen
On peut également définir un jeu de test et présenter une ébauche au travers d’un
tableau croisé dynamique (figure 2.10).
Toutes les versions d’Excel (depuis 97) permettent de présenter des résultats sous
forme de tableaux croisés dynamiques. Voici à titre d’exemple l’interface d’Excel 2007
permettant de construire des tableaux croisés dynamiques. Rappelons que les sources
des tableaux croisés peuvent être indifféremment des tables, des listes ou des cubes
OLAP.
2.10 Construire le tableau matriciel des besoins 65
Figure 2.10 — Tableau croisé dynamique avec Excel (Ici version 2007)
3
Comment représenter
les données ?
Tableau 3.1
Tableau Graphique
Les données sont représentées sous forme Les données sont traduites en images.
de nombres.
Les données sont disposées en lignes Les données sont affichées en relation sur un
et colonnes. ou plusieurs axes matérialisés par une échelle
qui donne du sens aux valeurs.
Les tableaux sont particulièrement utiles lorsqu’il s’agit de montrer des valeurs
précises.
En revanche les graphiques sont préférés lorsque le message à communiquer réside
d’avantage dans la forme que la précision des valeurs (c’est-à-dire des modèles, des
tendances ou des exceptions).
Dans le tableau suivant, on observe des taux de change présentés par année et par
mois.
3.1 Concepts généraux et pratiques 69
Si vous désirez connaître une valeur précise telle que le taux de mai 1996, le
tableau permet d’y répondre de la meilleure façon possible. En revanche, si vous
désirez connaître l’évolution du taux sur l’année 1996 ou de la comparer avec l’année
1997, le graphique sera une bien meilleure représentation (figure 3.2).
Les données qui relèvent d’une échelle ordinale ont un ordre intrinsèque mais ne
représentent pas de données numériques. Il s’agit par exemple de classements tels que
petit, moyen, grand, ou mauvais, médiocre, moyen, bon, excellent ou rouge vert, bleu,
jaune.
Les données qui qualifient des intervalles non seulement définissent un certain
ordre mais représentent également des valeurs. Il s’agit par exemple de séries de plages
de valeurs de taille égale. Exemple : tranche 1 de 0 à 99, tranche 2 de 100 à 199, tranche
3 de 200 à 299, tranche 4 de 300 à 399, etc.
3.1 Concepts généraux et pratiques 71
Nb Adhérents
10
nt
de
18
si
ré
r d e- p
té
Nombre de membres
ivi
c
ct
Vi 40
'a
t
in
eu
o
dj
ct
107 Déposer
re
.a
Di
eu D.G
e champs
sit
Type de fonction
e
190 de séries
rd
ici
n
io
ct
t
re
nc
350
Di
fo
tre
t
an
Au
ér
643
G
n
t io
c
708
g é dire
al
tre
ér
Au
1279
r
eu
t
en
ct
id
re
Pr
u
.o
.G
D
P.
Fonction
40,0% 38,2%
35,0%
30,0%
25,0%
21,2%
19,2%
20,0%
15,0%
10,5%
10,0%
5,7%
5,0% 3,2%
1,2% 0,5% 0,3%
0,0%
sid ent
djo int
ral
ite
ité
G éra nt
ir ection
nction
s ident
ur de s
tiv
ur géné
ur d'ac
D.G . a
ou P ré
Vice-pré
Autre fo
Autre d
Dir ec te
Dir ec te
Dir ec te
P.D.G .
Type de m em bres
Pour montrer la part des différents éléments par rapport à l’ensemble, le meilleur
moyen est d’utiliser un arbre de décomposition (voir la section 3.2.1).
Production Prévu/Réalisé
30
25
25
20 20
18
20 17
en M €
14 13 Prévu
15
10 Réalisé
10
5
0
Janvier février mars Avril
Année 2006
Un exemple courant de ce type de graphe est celui qui rapproche des données
actuelles, par exemple des dépenses, par rapport à des données prévues – celles d’un
budget.
L’exemple de la figure 3.9 présente une variante du graphe d’écart. Seul l’écart
constaté est représenté. Il apparaît soit en positif (au-dessus de l’axe des abscisses) soit
en négatif (en dessous de l’axe des abscisses).
Dans le cas présent on créera une mesure calculée écart telle que :
écart = Réalisé – Prévu.
Ce type de rapport ne permet cependant pas de mesurer si l’écart est maîtrisé
ou considéré comme normal. La technique du KPI (indicateur clé de performance)
permet de pallier cela par l’ajout d’une composante telle que la tendance.
Écarts de production
20
15
15
10
en M €
5 3
–2 –1
0
Janvier février mars Avril
–5
Année 2006
Les flèches quant à elles, montrent les évolutions de croissance. Les flèches sont
orientées vers le haut lorsque la croissance est supérieure à la période précédente, vers
le bas lorsque la croissance est négative.
5. Relation de distribution
Un graphe de distribution permet de représenter comment un ensemble de données
se répartit au sein d’un spectre unique. Il permet de représenter des phénomènes de
concentration ou d’absence de données. On peut parfois observer des phénomènes de
symétrie (courbe normale, ou courbe en cloche).
L’exemple de la figure 3.11 montre un pic de participation à un club professionnel
entre 44 et 55 ans, puis un départ brutal à 60 ans.
6. Relation de corrélation
Un graphe de corrélation mesure le rapport qui existe ou non entre deux variables.
Dans l’exemple ci-dessous il ne semble pas exister de rapport entre la taille d’un
employé et son salaire (la répartition des points est disparate).
Lorsqu’une corrélation est observée, les points ont tendance à se superposer à une
droite souvent matérialisée par la diagonale du graphe (figure 3.12).
3.1 Concepts généraux et pratiques 75
120
100
80
60
40
20
0
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
72
73
79
Figure 3.11 — Répartition des membres par âge
La figure 3.14 montre que les performances des ventes au troisième trimestre ont
été particulièrement élevées pour la Californie. Le lecteur peut souhaiter étudier plus
en détail ces chiffres. Il peut être amené à se poser des questions complémentaires,
par exemple : dans quelles villes ces ventes ont-elles été réalisées ? Quels produits ont
contribué à ce résultat et dans quelles proportions ? Nous verrons plus loin que la
technique du forage progressif ( drill down) permet de répondre quasi instantanément
à de nombreuses questions selon un cheminement a priori imprévisible.
3.2 Les nouveaux outils offerts par le complément proclarity 77
State
California
3M 100 %
City
Product
Alpha IIp750 Alpha IIp1K Omega J – 500 Ml-562 Omega J – 750 Mx Mark Xl/136 10 derniers
837 K 36 % 435 K 19 % 404 K 18 % 158 K 7% 141 K 6% 65 K 3% 262 K 11 %
1. Proclarity : société éditrice de logiciels basés sur les technologies OLAP de Microsoft. Cette société
a été acquise par Microsoft en avril 2006.
78 Chapitre 3. Comment représenter les données ?
Les villes sont maintenant regroupées par ligne de produits (PC et périphériques).
Les ventes sont en hausse dans toutes les villes, à l’exception des ventes de PC à Los
Angeles. (Los Angeles a subi une baisse de 77,6 % de ses ventes). La croissance la plus
élevée a été enregistrée pour les ventes de périphériques à San Jose, comme l’indique
la couleur claire en bas à droite.
Supposons maintenant que vous souhaitiez connaître le profil des clients à l’origine
de cette hausse des ventes de périphériques à San Jose. Il faut afficher uniquement
les données relatives aux périphériques et décomposer les ventes de périphériques
réalisées à San Jose par type de client (figure 3.17).
3.2 Les nouveaux outils offerts par le complément proclarity 79
Les vues en perspective sont un outil très utile pour détecter les écarts et identifier
ainsi les représentations de données qui sortent nettement de la norme. Par exemple, la
80 Chapitre 3. Comment représenter les données ?
Ce chapitre présente succinctement les outils ainsi que les nouvelles méthodes de
développement de processus décisionnels qui en découlent.
Lors des consultations de Business Intelligence et de tableaux de bord que nous
donnons en entreprise, nous sommes souvent confrontés à deux types de réaction de
la part des managers et responsables informatiques.
D’un côté, les managers qui réfléchissent en termes de métier comprennent
aisément le concept d’entrepôt de données centralisateur de toutes les informations
de l’entreprise et de leur historisation. Ils adhèrent volontiers à la notion de tableau
de bord de pilotage et comprennent spontanément le concept d’indicateurs et d’axes
d’analyse de leur métier. Les responsables opérationnels s’interrogent même sur le
fait que de telles solutions n’ont pas déjà été mises en place dans leur organisation.
Intuitivement, ils conçoivent que l’informatique devrait les aider dans ce domaine.
Et pourtant la technique de collecte des données de l’entreprise ressemble souvent
au parcours du combattant avec ses innombrables ressaisies manuelles, ses tableaux
mensuels déconnectés les uns des autres ne permettant aucune consolidation annuelle.
L’analyse sur deux années n’est souvent pas à l’ordre du jour. La synthèse s’effectue
dans un document final souvent réalisé grâce à un logiciel de PAO. Les cadres, dont la
vocation est de réfléchir à la stratégie de l’entreprise, passent une grande partie de leur
temps à collecter l’information. Privés de leur capacité d’analyse, ils s’interrogent sur
leur valeur ajoutée dans l’organisation. Par manque de temps et surtout d’outils d’aide
à la décision, ils ne peuvent prendre suffisamment de hauteur. Ils restent dépendants
d’un système d’information vis-à-vis duquel ils mesurent leur incapacité à le faire
évoluer.
82 Chapitre 4. Entrepôt de données et analyse décisionnelle
D’un autre côté, les responsables des systèmes d’information passent une grande
partie de leur activité à maintenir en état de fonctionnement des organisations
techniques complexes. Les nombreuses fusions et acquisitions constatées ces dernières
années ont contraint les responsables IT à faire communiquer des systèmes qui a priori
n’avaient rien de commun tant sur le plan technique que fonctionnel. Par ailleurs, les
systèmes décisionnels disponibles depuis quelques années sur le marché nécessitaient
des équipes ultra-spécialisées à tous les niveaux de la conception, les rendant de ce
fait très coûteux.
Tableau 4.1 — Répartition des modules SQL Server 2008 par composants
Lorsque les administrateurs mettent en œuvre SQL Server 2008, les modules suivants
sont installés :
• Moteur de la base de données relationnelle ;
• Integration services ;
• Analysis Services ;
• •Reporting Services (Introduit la nouvelle architecture de serveur de rapports
qui inclut la prise en charge native des fonctionnalités précédemment fournies
par les Services Internet (IIS) ;
• Report Builder 1.0 est intégré nativement à Reporting Services (Générateur de
rapports observable dans le Portail Reporting Services)
• SQL Server Management Studio pour la gestion des bases de données ;
• BIDS (Business Intelligence Development Studio) pour le développement d’appli-
cations BI.
84 Chapitre 4. Entrepôt de données et analyse décisionnelle
SQL Server 2008, en plus d’offrir des innovations nombreuses en matière de SGBD,
répond à plusieurs défis propres à la Business Intelligence. Les composants intégrés dans
l’interface graphique de Visual Studio permettent un développement et un déploie-
ment aisés de la BI. Au risque d’apparaître moins académique que ses concurrents,
Microsoft veut démocratiser la Business Intelligence en la rendant accessible au plus
grand nombre.
86 Chapitre 4. Entrepôt de données et analyse décisionnelle
Quel que soit le projet de Business Intelligence, le processus d’ETL a pour seul but de
fournir de solides fondations au référentiel de données et aux fonctions de reporting
et d’analyse. Nous pensons que la phase d’ETL doit être menée avec une vigilance
toute particulière car elle conditionne la qualité de la chaîne décisionnelle.
Ce chapitre a pour objectif de présenter les différents composants d’Integration
Services associé à Business Intelligence Development Studio. Nous introduirons
différents concepts tels que les flux de contrôle et les flux de données. Nous présenterons
les nombreux outils et assistants dont la vocation est de simplifier le travail de
programmation ou d’administration des techniciens de la Business Intelligence. Afin
d’illustrer SSIS, nous procéderons à la génération automatique d’un lot visant à
alimenter une table de dimension dans l’entrepôt de données. Nous présenterons les
différentes tâches qui ont été créées automatiquement et découvrirons leur contenu
avant de créer un lot de toutes pièces.
Nous donnerons également un aperçu de l’ensemble des tâches inclus dans les flux
de contrôle et les flux de données.
mais également dans tout processus de manipulation de données (figure 5.1). Les
administrateurs de base de données et les développeurs avaient l’habitude de coder les
tâches d’administration. Au prix d’un nouvel apprentissage, ils trouveront dorénavant
des outils d’amélioration de leur productivité.
Figure 5.3 — Un package enchaîne différents types de tâches dans le flux de contrôle
• Les données peuvent être acquises auprès de loueurs professionnels. Avant d’être
exploitées, il est nécessaire de les standardiser et de les rendre compatibles avec
les données déjà existantes dans l’entreprise.
• Certaines données peuvent être spécifiques à des critères régionaux (formats
numériques, date et heure). Avant de les charger, il est nécessaire de les convertir
en un même référentiel.
Un lot SSIS peut également substituer des valeurs de champs par recherche de
valeurs issues d’une table de référence (fonction lookup). SSIS dispose d’algorithmes
de recherche exacte ou floue à des fins de substitution et de standardisation. Par
exemple, dans les cas d’une récupération d’adresses de prospects, la ville peut être
mal orthographiée (Pari au lieu de Paris). L’algorithme de recherche floue permet de
conserver la bonne orthographe et ainsi de standardiser les valeurs dans le référentiel
de l’entreprise. Ce même type d’algorithme permet également de détecter des doublons
lors de l’introduction de nouvelles adresses et ainsi d’effectuer un traitement spécifique.
Il permet :
• de créer des conteneurs qui définissent des flux de travail répétitifs ;
• de subdiviser des tâches en sous-ensembles cohérents ;
96 Chapitre 5. Introduction à Integration Services
Il permet :
• d’ajouter une ou plusieurs sources de données ;
• d’ajouter des gestionnaires de connexion ;
• de créer des transformations afin de répondre aux besoins métier ;
• d’ajouter une ou plusieurs destinations telles que des tables ou bases de données ;
• de détecter des erreurs lors des transformations et de traiter les exceptions.
À titre de comparaison, l’interface DTS de SQL Server 2000 présentant les tâches
est donnée figure 5.9.
Nous verrons dans le paragraphe suivant que SSIS dispose également d’une
fonction permettant d’effectuer le transfert de base du format SQL 2000 vers SQL
2008.
Dans la figure 5.11, la tâche « Create tables » est incluse dans la boucle qui porte
le nom « Run SQL Statements ». Cette tâche sera donc répétée.
La figure 5.12 montre une collection d’objets constitués des fichiers contenus dans
un répertoire donné. La boucle ForEach balaie le répertoire à la recherche de fichiers
dont l’extension est .SQL.
Conteneur de séquences
Le conteneur de séquences regroupe un sous-ensemble de tâches pour mieux structurer
le package. Il offre l’avantage de pouvoir être désactivé, ce qui a pour conséquence
de désactiver toutes les tâches qui le composent. Cette fonctionnalité est particuliè-
rement intéressante en phase de débogage. Il est possible également de définir des
propriétés sur le conteneur plutôt que sur chacune des tâches qui le composent.
5.3 Tâches d’intégration services 103
Figure 5.17
Figure 5.18
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Analysis Services Tutorial 10</DatabaseID>
</Object>
<File>Analysis Services Tutorial 10.abf</File>
<AllowOverwrite>true</AllowOverwrite>
</Backup>
Source
Transformation
Transformation
Destination
Figure 5.19 — La tâche de flux de données alimente une destination (table SQL Server, fichier
plat, etc.) à partir des données sources
Cette tâche permet de copier des données entre des sources et des destinations tout
en offrant la possibilité de transformer, nettoyer et modifier les données. La tâche de
flux de données représente le conteneur dont le détail est fourni dans l’onglet « Flux
de données ».
• les sources précisent les connecteurs vers les sources de données (fichiers plats,
tables ou vues SQL) ;
• les transformations modifient les données ;
• les destinations chargent les données.
Les statistiques fournies par cette tâche donnent les informations nécessaires
pour minimiser de manière efficace les problèmes de qualité qui peuvent résulter
de l’utilisation des données sources.
Un profil de données se présente sous la forme d’une collection de statistiques
agrégées sur les données par exemple l’analyse de la table Clients permettra d’élaborer
les statistiques suivantes :
• le nombre de lignes dans la table Clients ;
• le nombre de valeurs distinctes dans la colonne Départements ;
• le nombre de valeurs Null ou manquantes dans la colonne Code Postal ;
• la distribution des valeurs dans la colonne Ville ;
• la puissance de la dépendance fonctionnelle de la colonne Code Postal et Ville
(en effet le code postal d’une ville doit toujours être le même pour une même
ville).
Tâche de script
Cette tâche permet au programmeur de réaliser des fonctions non disponibles dans les
tâches intégrées de SSIS.
La tâche de script utilise Microsoft Visual Studio Tools for Applications (VSTA)
en tant qu’environnement d’écriture des scripts et que moteur d’exécution.
VSTA fournit l’ensemble des fonctionnalités standard de l’environnement
Visual Studio, telles que l’éditeur Visual Studio à code de couleur, IntelliSense et
l’Explorateur d’objets. VSTA utilise également le même débogueur que les autres
outils de développement Microsoft. Les points d’arrêt dans le script fonctionnent de
façon transparente avec ceux des tâches et des conteneurs Integration Services.
VSTA prend en charge les langages de programmation Microsoft Visual Basic 2008 et
Microsoft Visual C# 2008.
La tâche de Script est utile pour :
• Accéder aux données à l’aide d’autres technologies non prises en charge par les
types de connexion intégrés. Par exemple, un script peut utiliser des interfaces
ADSI (Active Directory Service Interfaces) pour accéder aux noms d’utilisateur
et les extraire d’Active Directory.
• Créer un compteur de performances spécifique au package. Par exemple, un
script peut créer un compteur de performances mis à jour pendant l’exécution
d’une tâche complexe ou peu performante.
• Déterminer si les fichiers spécifiés sont vides ou combien de lignes ils
contiennent, puis en fonction de ces informations, affectez le flux de contrôle
dans un package. Par exemple, si un fichier ne contient aucune ligne, la
valeur 0 d’une variable et une contrainte de précédence qui évalue la valeur
empêchent une tâche de système de fichiers de copier le fichier.
• Compter combien de fichiers sont présents dans un répertoire FTP afin de
décider si un traitement peut être démarré ou reporté.
Figure 5.21 — Des extraits de code sont fournis pour un grand nombre d’applications.
5.3 Tâches d’intégration services 107
La variable Compteur est déclarée en Integer (int32) dans le package puis passée
en paramètre (lecture/écriture) dans la tâche de script.
A l’issue de la boucle for each file, lorsque le compteur est supérieur à 0 on affiche
un message à l’opérateur afin de préciser combien de fichiers ont été traités.
Voici le code :
MsgBox("Il existe " & Dts.Variables("Compteur ").Value & " fichiers dans " &
Dts.Variables("VarFolderName").Value, MsgBoxStyle.Information, "Résultat du
test sur le nb de fichier(s)")
Bien entendu ce message peut être remplacé par un envoi de mail à l’adminis-
trateur suivi d’une exécution d’un traitement particulier en fonction de la valeur du
Compteur.
108 Chapitre 5. Introduction à Integration Services
Les extraits de code proposés sont nombreux. Il est utile de les découvrir, ils vous
feront gagner beaucoup de temps dans la phase de développement.
’MsgBox(My.Computer.FileSystem.FileExists("C:\Formation
BI\SolutionBI\CoursSSIS\Sample Data\SampleCurrencyData.txt"))
Exemple 2 : Afficher l’espace disponible sur le disque C du serveur.
Dim drive As System.IO.DriveInfo
drive = My.Computer.FileSystem.GetDriveInfo("C:\")
’Dim space As Long = drive.AvailableFreeSpace
’MsgBox("Espace disponible sur c: " & space, MsgBoxStyle.Information,
"Titre de la fenêtre")
Figure 5.24 — La tâche de traitement Analysis services permet de traiter tout ou partie d’un cube.
Ci-dessus les groupes de mesures Internet Sales et Reseller Sales font l’objet d’un
traitement ainsi que les dimensions Product, Customer, Reseller et Internet Sales Order
Details.
Figure 5.25 — Exécution d’un processus de décompression d’un fichier zippé (expand.exe)
Figure 5.26 — Tâche d’exécution de requête SQL avec type de connecteur ADO.NET
Tâche FTP
Cette tâche permet de télécharger des fichiers de données entre serveurs. Par exemple,
elle peut récupérer quotidiennement tous les fichiers des ventes des succursales sur un
serveur central exécutant la consolidation dans le datawarehouse.
114 Chapitre 5. Introduction à Integration Services
Tâche MSMQ
La tâche MSMQ (Microsoft Message Queuing) permet d’envoyer et recevoir des
messages entre différents packages Integration Services ou d’envoyer des messages à
une file d’attente traitée par une application personnalisée. Par exemple, la tâche peut
mettre en file d’attente les messages destinés aux ordinateurs portables hors connexion
des représentants commerciaux.
Tâche XML
La tâche XML est utilisée pour travailler avec des données XML. Il est possible de
remettre en forme un document XML et de lui appliquer une feuille de style XSLT.
La tâche de nettoyage d’historique supprime des entrées dans les tables d’historique
Backup et Restore de la base de données SQL Server msdb, dans l’historique des
travaux de SQL Server Agent et du plan de maintenance.
SQL script
EXECUTE sendmail_sp Service Broker SMTP Server
queue
sqlimail90.exe
msdb
SQLiMail Configuration
sendmail_sp Stored Procedure Service Broker
mailhost
Email messages
Logs
SSIS offre trois types de composants de flux de données. Les sources, les transformations
et les destinations. Dans le schéma de la figure 5.29, nous observons que les sources
puisent leurs données dans les colonnes externes en provenance d’une base de données
ou d’un fichier plat en s’appuyant pour cela sur une connexion pointant vers la source
de données. Le mode d’accès précise le type de source (vue, table, fichier, etc.).
Les sources comportent des colonnes externes en entrée et des colonnes de sortie.
Il est possible de sélectionner les colonnes externes qui participent à la sélection
de sortie normale.
La sortie d’erreur d’une source contient les mêmes colonnes que la sortie normale
plus deux colonnes supplémentaires : ErrorCode indique le code erreur et ErrorColumn
indique la colonne contenant l’erreur. Les colonnes de sortie deviennent à leur tour
les colonnes d’entrée du composant de transformation suivant.
Les transformations comportent des colonnes d’entrée et des colonnes de sortie.
Certaines transformations permettent de fusionner plusieurs entrées en une seule
colonne de sortie ou d’éclater une entrée en plusieurs colonnes de sortie.
Les destinations comportent des colonnes d’entrée. Une destination écrit directe-
ment dans une table de la base de données ou dans un dataset en mémoire. Des
colonnes de sortie d’erreur peuvent intercepter des traitements ne pouvant aboutir, par
exemple la mise à jour d’un champ de la table avec une valeur null alors que ce champ
n’autorise pas les valeurs nulles.
118 Chapitre 5. Introduction à Integration Services
Figure 5.33 — Mappage des colonnes dans le cas d’une source DataReader
Source Excel
La source Excel extrait des données de feuilles de calcul Excel entières ou de plages
nommées. Les formats pris en compte sont Excel 3, 4, 5 et les versions 97 à 2007.
120 Chapitre 5. Introduction à Integration Services
Source OLE DB
La source OLE DB pointe sur des tables relationnelles. La figure 5.36 présente les
différents fournisseurs OLE DB fournis par le gestionnaire de connexion.
Voici un récapitulatif des sources et leur incidence.
Tableau 5.1
Type Marqueur Nom Exemple Exemple
de gestionnaire de du de requête de nom
de connexion paramètre paramètre de paramètre
OLEDB ? 0,1,2... SELECT Nom FROM 0
Clients WHERE Nom
=?
ADO.Net @Varnom @Varnom SELECT Nom FROM @Nom
Clients WHERE Nom
= @Nom
ADO ? @Param1, SELECT Nom FROM @Param1
@Param2... Clients WHERE Nom
=?
ODBC ? 1,2... SELECT Nom FROM 1
Clients WHERE Nom
=?
Audit
La transformation d’audit permet d’ajouter des colonnes au flux de données, afin
d’obtenir des informations relatives à l’environnement au moment de l’exécution.
Les colonnes d’audit concernent l’identifiant GUID, l’identificateur du package, le
nom ou la version du package, l’heure à laquelle le package a commencé, le nom de
l’ordinateur et de la tâche exécutée.
Colonne dérivée
Une colonne dérivée résulte de l’application d’une fonction qui s’applique sur d’autres
colonnes ou variables du package. Par exemple, la colonne dérivée NomComplet résulte
de l’expression Prénom + " " + Nom. L’expression DATEPART ("year", GETDATE()) renvoie
l’année en cours.
Commande OLE DB
La transformation de commande OLE DB exécute une instruction SQL pour chaque
ligne d’un flux de données. Il est ainsi possible d’exécuter une instruction SQL qui
insère, met à jour ou supprime des lignes d’une table de base de données.
Composant script
Ce composant permet d’écrire du code de script personnalisé. Le composant script peut
être utilisé en tant que source, transformation ou destination. On utilise le composant
script lorsqu’il s’agit de lire un fichier dont le format n’est pas pris en charge par le
gestionnaire de connexion de SSIS. Un script peut appliquer plusieurs transformations
simultanées. Un script peut naturellement exécuter des fonctions personnalisées qui
n’existent pas dans la bibliothèque des fonctions fournies nativement par SSIS.
La figure 5.37 montre l’environnement de développement en visual basic.net.
Conversion de données
Ce composant permet de convertir les données d’une colonne d’entrée en un type de
données différent. La donnée convertie peut soit remplacer la colonne existante, soit
être ajoutée dans une nouvelle colonne.
Copie de colonnes
Cela permet de créer de nouvelles colonnes qui sont la copie de colonnes existantes.
Les nouvelles colonnes permettent de fournir une plus grande flexibilité dans le
cadre de nouveaux calculs, de transformation ou de mapping avec des colonnes de
destination.
5.4 Composants flux de données (ETL) 123
Figure 5.37 — Visual Studio for Application s’ouvre pour créer le script
Vous devez sélectionner au moins une colonne de clé d’entreprise dans la table de
dimension et la mapper à une colonne d’entrée. D’autres colonnes d’entrée peuvent
être mappées à des colonnes de la table de dimension en tant que mappages non-clés.
Sélectionnez le type de modification pour chaque colonne :
• Modification d’attribut remplace les valeurs existantes dans les enregistrements.
• Attribut d’historique crée des enregistrements au lieu de mettre à jour des
enregistrements existants.
• Attribut fixe indique que la valeur de colonne ne doit pas changer.
Figure 5.45 — La variation de type 2 crée une nouvelle ligne avec incrément de la clé
de substitution EmployeeKey puis met à jour la colonne EndDate de l’enregistrement obsolète
du même employé
130 Chapitre 5. Introduction à Integration Services
Figure 5.47 — Lorsque la ligne de fait ne trouve pas de correspondance avec la dimension,
on peut mettre en place le mécanisme d’insertion d’un membre déduit dans la dimension
5.4 Composants flux de données (ETL) 131
Échantillonnage de ligne
Il permet de sélectionner un sous-ensemble des données sources de manière aléatoire.
L’échantillonnage est basé sur un nombre de ligne à extraire.
Échantillonnage du pourcentage
Il permet de sélectionner un sous-ensemble des données sources de manière aléatoire.
L’échantillonnage est basé sur un nombre de ligne correspondant à un pourcentage du
flux d’origine.
Importation de colonne
Importe les données de fichiers vers les lignes d’un dataset. Il est possible de spécifier
les colonnes de données à extraire puis de sélectionner ligne à ligne le fichier de
destination.
Jointure de fusion
Elle établit une fusion entre des données en provenance de deux flux de données.
Cela équivaut à effectuer une jointure entre deux tables. Ainsi, par exemple, une
table Produits peut être jointe à une table Catégorie de produit par une clé étrangère
(CatProd) permettant d’établir la jointure entre les deux tables. Il est possible d’établir
des jointures FULL, LEFT, INNER. Les colonnes qui établissent la jointure doivent
être de type compatible. Les deux tables doivent être triées préalablement sur le champ
permettant la jointure.
Multidiffusion
La transformation de multidiffusion dirige sa sortie vers une ou plusieurs sorties.
Chaque ligne d’entrée dirige ses données vers chaque sortie.
Nombre de lignes
Cette transformation détermine le nombre de lignes dans le flux de données. Le
compteur est ensuite stocké dans une variable du package. La variable peut ensuite
être récupérée afin de modifier le flux de contrôle ou le flux de données.
Recherche
Cette transformation exécute une requête dans un ensemble de référence (table, vue).
Le paramètre d’extraction est fourni par une colonne du flux d’entrée. La table de
référence renvoie un ou plusieurs champs en retour.
Il existe trois sorties de recherche :
• Sortie de recherche avec correspondance (clé trouvée)
• Sortie de recherche sans correspondance (clé non trouvée)
• Sortie d’erreur de recherche (recherche impossible).
132 Chapitre 5. Introduction à Integration Services
Recherche de terme
On recherche les occurrences d’un ensemble de mots ou de phrases dans un flux
de données comportant du texte libre. Le résultat de cette transformation est un
ensemble de lignes précisant le comptage d’occurrences trouvées et le terme de la
table de référence.
Recherche floue
La transformation de recherche floue permet d’effectuer des tâches de nettoyage dans
le but de corriger, puis de standardiser les données. L’algorithme de recherche floue
permet également de fournir des données manquantes. Cette transformation présente
un fort intérêt lorsque les données en entrée ont fait l’objet d’une saisie libre et n’ont
pas été contrôlées à la source.
Regroupement probable
La transformation de regroupement probable identifie des lignes de données sus-
ceptibles d’être des doublons. Une correspondance exacte garantit que seules les
colonnes possédant des valeurs identiques dans cette colonne seront regroupées. Une
correspondance approximative regroupe des lignes ayant des données approchantes.
C’est l’utilisateur qui définit le score de similarité basé sur une notion de distance entre
deux chaînes de caractères. Paris et Pari ont une distance de 1 car un seul caractère
sépare les deux mots. Idem pour Cathy et Kathy. En revanche Kathy et Kathryn ont
une distance de 2.
Transformation du cache
La transformation du cache écrit des données provenant d’une source de données
connectée dans le flux de données directement dans un gestionnaire de connexions
du cache. La transformation de recherche (lookup) peut ainsi effectuer des recherches
dans un cache dont le contenu peut être modifié dynamiquement lors du traitement.
Table de caractères
La transformation de table de caractères permet d’effectuer des conversions sur des
colonnes de type chaîne de caractères. Il est possible de convertir des chaînes en
minuscules ou majuscules, d’inverser l’ordre des caractères.
Tri
Cette fonction trie les données d’entrée dans l’ordre croissant ou décroissant et copie
les données triées dans la sortie. Plusieurs imbrications de tri sont possibles et pour
chaque colonne triée, il est possible de préciser l’ordre ascendant ou descendant.
Unir tout
La transformation d’union totale permet de combiner plusieurs entrées en une seule
sortie. On reparle de concaténation des sources de données. La première entrée fournit
le format qui servira à mapper les colonnes avec le flux de sortie.
134 Chapitre 5. Introduction à Integration Services
Les données ont maintenant été transformées dans le format attendu, nous devons
maintenant les stocker dans une destination. Voici les options disponibles pour le
stockage des données (figure 5.49) :
• Apprentissage du modèle d’exploration de données : les données reçues par
la destination sont transmises au modèle d’exploration (algorithme de data
mining) afin d’être exercées. Plusieurs modèles peuvent faire l’objet d’un
apprentissage.
• Destination DataReader permet d’utiliser ADO.NET pour le stockage des
données de destination.
• Destination de fichier brut permet d’écrire un flux de données dans un fichier au
format natif de SSIS. Ce type de fichier est utilisé afin d’obtenir des performances
maximales.
• Destination de fichier plat ou fichier au format TXT.
• Destination de l’ensemble d’enregistrements insère un Recordset dans une
variable dont le contenu peut être affiché en dehors du flux de données.
• Destination Excel envoie un flux de données dans une feuille Excel.
• Destination OLE DB transfert le flux de données vers toute table d’une base
de données compatible OLE DB.
• Destination pour SQL Server envoie le flux de données directement dans une
table ou vue SQL Server. Cette fonction est équivalente à la tâche de Bulk
Insert. Cette tâche offre de grandes performances.
• Destination de SQL Server Mobile envoie un flux de données vers la version
mobile de SQL Server.
• Traitement de dimension envoie un flux de données visant à ajouter des
données nouvelles dans une dimension de Analysis Services.
• Traitement de Partition permet d’alimenter une partition d’un cube dans
Analysis Services.
6
Les assistants de l’ETL
Choisissons la destination SQL Native Client sur le serveur local (figure 6.5).
Par défaut, la table de destination porte le nom de la table en entrée. Celui-ci est
naturellement modifiable.
Figure 6.11 — L’onglet Flux de données est composé d’une source de données
et d’une destination
Les champs qui portent des noms identiques sont mappés automatiquement. Il
conviendra au développeur de s’assurer que les types des champs source et destination
sont compatibles entre eux.
USE [AdventureWorksDW]
GO
/****** Objet : Table [dbo].[Clients]
6.1 Utiliser l’assistant pour générer un lot import 145
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Clients](
[FirstName] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MiddleInitial] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[LastName] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[BirthDate] [datetime] NULL,
[MaritalStatus] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Gender] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[EmailAddress] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[YearlyIncome] [float] NULL,
[TotalChildren] [float] NULL,
[NumberChildrenAtHome] [float] NULL,
[Education] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Occupation] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[HouseOwnerFlag] [float] NULL,
[NumberCarsOwned] [float] NULL,
[AddressLine1] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[AddressLine2] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[City] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[State] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ZIP] [float] NULL,
[Phone] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
USE [AdventureWorksDW]
GO
/****** Objet : Table [dbo].[Clients]Date de génération du script : 05/27/2006
20 :59 :59 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE
object_id = OBJECT_ID(N’[dbo].[Clients]’) AND type in (N’U’))
DROP TABLE [dbo].[Clients]
Revenons dans notre projet d’import des données dans Visual Studio.
146 Chapitre 6. Les assistants de l’ETL
Dans l’onglet Flux de données, glissons à deux reprises une tâche d’exécution de
requête SQL. La première consiste à effectuer un DROP de la table Clients.
Reliez les tâches entre elles à l’aide des flèches comme précisé dans la figure 6.16.
Depuis les sources de flux de données, faire glisser la source Excel sur l’onglet Flux
de données, puis double-cliquez sur la tâche Source Excel.
Figure 6.17 — La source Excel est créée. Le signe « stop » à droite indique que le fichier source
n’est pas précisé. Le gestionnaire de connexion Excel s’ouvre. Une nouvelle connexion doit être
créée vers le fichier source Excel
Sauvegardez tous les fichiers puis exécutez le lot par la touche F5.
Les tâches se déroulent en parallèle.
Stoppez le débogage après exécution.
Prenez la précaution de contrôler le contenu des deux tables Clients et Produits à
l’aide de Management Studio. Faire un clic droit sur le nom de la table puis ouvrir la
table. Observez le contenu de la table et le nombre d’enregistrements situé en bas de
page.
Ajoutons à présent une tâche d’envoi de courriel à l’administrateur afin d’être
prévenu en cas d’achèvement sans échec ou en cas d’échec.
Dans l’onglet Flux de contrôle, ajoutons deux tâches « Envoyer un message ».
Créez une connexion SMTP pour l’envoi de courriel (figure 6.19).
Figure 6.24 — Choisir les lots DTS 2000 à migrer vers 2008
152 Chapitre 6. Les assistants de l’ETL
Installation du déploiement
L’installation du déploiement permet de stocker le package sur le serveur Integration
services.
L’Assistant Installation de package vous accompagne dans le processus d’installa-
tion des packages sur le système de fichiers et sur SQL Server.
Clic droit sur <nom de projet>.SSISDeploymentManifest. puis deploy.
Dans Management studio Démarrer le service SQL Server Agent. Ce service peut
être démarré automatiquement lors du démarrage de SQL server. SQL server Agent
peut être démarré manuellement lors de la connexion au moteur de base de données
SQL server.
• Clic droit sur SQL server Agent puis démarrer.
• Ouvrir SQL server Agent.
• Clic droit sur Travaux.
Lors de l’exécution d’un travail de l’agent SQL préciser qu’il s’agit d’un package
SQL Server Integration services et que la source de fichiers est Système de fichiers
(pour les packages au format XML). Vous devez également fournir l’emplacement du
package déployé précédemment sur le serveur SSIS.
Avant de planifier l’exécution du package vous pouvez le tester dans son environ-
nement de production (clic droit puis exécuter le package).
156 Chapitre 6. Les assistants de l’ETL
Ci-dessus nous avons programmé une exécution du package leçon 1.dtsx toutes les
nuits du lundi au vendredi à 0 h 00.
Le moniteur d’activité des travaux de SQL server Agent permet de suivre l’exécu-
tion des travaux et leur traçabilité.
Vous pouvez également consulter la visionneuse du fichier journal.
6.1.7 Assistant de mise à niveau des packages SSIS 2005 vers 2008
SQL Server 2008 fournit un Assistant Mise à niveau de packages SSIS afin de migrer
les packages créés dans la version BIDS 2005. à cet effet. Il est possible de configurer
l’Assistant pour qu’il sauvegarde les packages d’origine. Cet assistant est disponible
dans les éditions Standard Enterprise et Developer de SQL Server.
L’Assistant Mise à niveau de packages SSIS est accessible dans le menu d’Integra-
tion Services. Menu SSIS puis Projet -> Mettre à niveau tous les packages.
• Dans BIDS, créez ou ouvrez un projet Integration Services.
• Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud
Packages SSIS, puis cliquez sur Mettre à niveau tous les packages pour mettre
à niveau tous les packages sous ce nœud.
6.2 Concept de packages dynamiques 157
Lorsqu’il sauvegarde les packages d’origine, l’Assistant stocke une copie des
packages d’origine dans un dossier SSISBackupFolder. Il crée le dossier SSISBa-
ckupFolder en tant que sous-dossier du dossier qui contient les packages d’origine et
les packages mis à niveau.
Les identificateurs qui représentent des variables sont toujours précédés par le
caractère @.
Les fonctions mathématiques sont supportées par les expressions.
158 Chapitre 6. Les assistants de l’ETL
Exemple
ABS(-1234)fournit le résultat234
Les variables sont utilisées pour passer des informations entre les différentes parties
d’un package. Elles peuvent être passées d’une tâche de transformation de données à
un autre ou d’une tâche de contrôle vers le gestionnaire de connexion. C’est le cas par
exemple lorsqu’une tâche a pour but de balayer tout un répertoire afin de traiter tour
à tour chacun des fichiers qui le compose. La tâche recueille donc chaque fichier puis
passe dans une variable, au gestionnaire de connexion, le nom du fichier en cours de
traitement.
6.2 Concept de packages dynamiques 159
Les variables peuvent être créées grâce au bouton d’ajout de variable. Les noms de
variables et leur type doivent être fournis lors de la création. Il est possible également
d’allouer une valeur initiale. Afin de préserver les performances de SSIS lors de
l’exécution, les variables sont fortement typées. L’étendue de la variable définit la
visibilité de celle-ci dans le package.
La tâche d’exécution SQL de la figure 6.32 est développée ci-dessous. Cette requête
permet d’insérer des lignes dans la table AuditPkgExecution tout en recueillant les
160 Chapitre 6. Les assistants de l’ETL
Cet exemple montre comment il est possible d’auditer les tâches qui s’exécutent
dans un package. Dans l’exemple ci-dessus on conserve la trace des traitements
dans une table de l’entrepôt de données (AuditPkgExecution) recevant les variables
système ou utilisateur, en particulier le nom du package lancé et la date de début de
l’exécution. Voici la requête correspondant à la tâche Get PkgExecKey.
Figure 6.35 — Ci-dessus contenu du fichier de configuration au format XML. Ce fichier peut être
modifié par l’administrateur afin de correspondre à l’environnement de production
</Configuration>
<Configuration ConfiguredType="Property"
Path="\Package.Variables[User::DeployFolderName].Properties[Value]"
ValueType="String">
<ConfiguredValue>C:\Formation BI\SolutionBI\CoursSSIS\</ConfiguredValue>
</Configuration>
Bien que non obligatoire pour la création des cubes OLAP, l’étape de création du
datawarehouse est fortement conseillée.
fins de prédiction dans le cadre de processus d’affaires telles que prévisions des
ventes, segmentation de populations d’individus aux comportements similaires. Ces
techniques sont également utilisées afin de mettre en place des systèmes de ventes
additionnelles (up-sell) ou ventes croisées (cross-sell).
Les cubes OLAP et les techniques de data mining sont basées sur des données
collectées et agrégées au sein des entrepôts de données.
Rappelons que la finalité d’un entrepôt de données (datawarehouse) est de stocker
et historiser des volumes importants de données. Ce processus a été illustré au chapitre
précédent grâce à SSIS. Nous l’avons vu, les entrepôts de données sont alimentés grâce
à des outils ETL (Extract, Transform, and Load). Ces outils ont pour vocation d’extraire
et de structurer les données en provenance des bases de données opérationnelles
dites OLTP (On Line Transactional Processing). La phase d’ETL réalise également
un nettoyage des données suivi généralement d’une phase d’agrégation au sein des
entrepôts.
À leur tour, ces données agrégées font l’objet d’une alimentation dans des bases de
données multidimensionnelles appelées cubes OLAP.
Un cube est défini par un certain nombre de dimensions ou axes d’observation. Au
croisement de ces dimensions se trouvent des mesures ou indicateurs. En général, le
cube permet des analyses ad hoc et des requêtes dynamiques ayant un caractère naturel
et intuitif.
Les utilisateurs accèdent aux cubes OLAP grâce à des outils d’analyse offrant ainsi
la capacité de réaliser à la volée des tableaux de synthèse et rapports graphiques.
La structure hiérarchisée des dimensions permet une analyse en profondeur des
données grâce à la technique du drill down et du roll-up. Ces techniques permettent un
forage progressif des données en passant du niveau le plus élevé au niveau de détail
le plus fin (drill down) ou selon un cheminement inversé ( drill up). Par exemple, un
utilisateur peut effectuer un drill down sur la dimension temporelle afin de visualiser
des indicateurs de ventes ou de revenus par année, puis par trimestre, par mois et enfin
par jour. Il sera alors aisé de déceler des variations saisonnières ou des tendances à
partir des graphes dynamiques générés automatiquement. De la même manière, un
chef de ventes sera capable d’analyser, pour un produit donné, les ventes effectuées
la veille par point de vente puis d’agréger rapidement les données au niveau semaine,
mois, trimestre ou année (drill up).
Les technologies OLAP, par leur aspect dynamique, et synthétique complètent
les outils de reporting tels que Reporting Services (inclus dans SQL Server 2008).
Les outils de reporting sont généralement utilisés afin de fournir des vues statiques au
travers de rapports instantanés à partir des données de l’entrepôt. À la différence des
outils de requêtage OLAP, les fonctions de forage dynamique et de changement d’axes
à la demande y sont absentes.
168 Chapitre 7. Analysis Services
9 000 €
Quel a été le volume de commande
■ Pour le Produit veste Mars
Fevr.
■ Dans la région ouest…
Janvier
■ Pour le mois de mars…
Est
Régions
Ouest
Nord
Sud
Chaussure
Bonnet
Veste
Produit
L’exemple de la figure 7.2 montre la structure du cube faisant apparaître les trois
dimensions ou axes d’analyse : dimension Produits, dimension Région, dimension
Temps. La mesure analysée au croisement des trois axes est l’indicateur de volume en
valeur.
Dans cet exemple, l’outil de restitution du cube est le tableau croisé dynamique
d’Excel. On observe l’indicateur de volume du chiffre d’affaires (9 000 €) réalisé sur
les ventes des vestes pour la région Ouest et pour le mois de mars. On verra lors de
l’étude des outils de restitution que cette analyse ne prend que quelques secondes au
manager opérationnel ou au contrôleur de gestion doté de son outil favori : Excel.
SQL Server Management Studio administre aussi bien les bases de données SQL
Server que les bases Analysis. Management Studio permet également d’accéder et
manager le Serveur SSIS et les rôles de Reporting Services.
Les requêtes SQL, MDX DMX, et XML/A sont analysées ou exécutées dans le
même outil.
Le modèle objet AMO (Analysis Management Objects) remplace DSO. Pour des
raisons de compatibilité, DSO est supporté.
7.2 Composants d’Analysis Services 2008 171
Types de dimensions
Analysis Services 2008 offre les structures de dimensions suivantes :
• Dimension régulière (schéma en étoile).
Figure 7.4
La figure 7.6 montre les intersections possibles entre les groupes de mesures (faits)
et dimensions. Lorsque les faits ne partagent pas tous les axes dimensionnels, le
développeur sera avisé de modifier la propriété IgnoreUnrelatedDimension à False dans
les groupes de mesures afin d’éviter la répétition d’informations non pertinentes lors
de l’affichage du cube.
174 Chapitre 7. Analysis Services
Calculs et analyses
Une mesure est dite additive lorsqu’elle s’agrège quel que soit le niveau d’observation
(exemple : le total des ventes pour tous les produits, tous les clients et tous les temps).
Au contraire, une mesure semi-additive peut être additive pour certaines dimensions
et pas pour d’autres. Prenons l’exemple d’un état des stocks d’un entrepôt ; le nombre
d’articles en stock aujourd’hui n’est bien évidemment pas la somme de la situation
constatée hier augmentée de celle d’aujourd’hui. Dans SSAS, on dispose nativement
d’agrégations semi-additives qui permettent de résoudre des problématiques d’inven-
taire telles que :
• La moyenne des quantités et des valeurs en stock sur une période donnée.
• La balance d’ouverture et de clôture sur une période.
• La variation d’inventaire entre des périodes consécutives ou parallèles.
• Le niveau d’inventaire minimum et maximum sur une période donnée.
• La contribution relative d’un article en stock par rapport à la valorisation totale
du stock.
L’assistant de calcul des dimensions temporelles apporte une aide non négligeable
dans le cas de calcul d’agrégation à comparer sur des périodes de temps différentes
(calcul du cumul des ventes depuis le début de l’année comparé sur les trois dernières
années).
Il est possible de générer automatiquement le code MDX permettant d’effectuer
les calculs suivants :
• Cumul annuel/semestriel/trimestriel/mensuel jusqu’à ce jour (year to date).
• Moyennes mobiles sur différentes périodes.
• Croissance et % de croissance entre périodes.
MDX Scripts
Le langage multidimensionnel MDX (Multidimensional Expressions) inventé par Mosha
Pasumanski au sein des équipes de Microsoft en 1997 est un langage d’interrogation
des cubes, aussi complexe que puissant.
Un grand nombre d’éditeurs ont maintenant adopté ce langage. Citons par exemple
ALG Software (acquis par Business Objects), Applix, Descisys, INEA/Cartesis (acquis
par Business Objects), Microstrategy, SAS, SAP.
7.2 Composants d’Analysis Services 2008 175
Procédures stockées
Analysis Services 2008 dispose de procédures stockées afin d’étendre les capacités
de traitement (UDF). Une procédure stockée peut être écrite dans n’importe quel
langage tel que C++, VB ou C#. Les procédures stockées simplifient le développement
et l’implémentation par la création unique de scripts codés réutilisables par d’autres
procédures stockées ou requêtes des utilisateurs. Les procédures stockées fournissent
des mécanismes afin d’étendre les fonctions de base du langage MDX. Ces procédures
permettent également de réaliser des tâches spécifiques comme le rafraîchissement
d’un cube ou la mise à jour partielle d’une portion du cube.
Voici une illustration de trois KPI affichés dans une page web (figure 7.7) :
• KPI du chiffre d’affaires trimestriel (feu vert car le revenu dépasse le but de
12,87 %) ;
• KPI de la satisfaction client (feu vert) ;
• KPI du taux d’adoption du marché (feu rouge car inférieur aux prévisions).
Système
Opérationnel Cube
UDM Analysis
OLTP
(Oracle, Services
Db2, SQL Server) OLAP
Il existe cependant des situations qui ne permettent pas de créer ou mettre à jour
un cube via UDM.
1. UDM nécessite une connexion OLE DB. Si la source de données se trouve
dans un format différent (texte, XML) ou dans un format propriétaire, il sera
nécessaire de passer par le datamart ou au moins une phase de staging (étape
intermédiaire entre l’OLTP et le datamart).
2. UDM nécessite une connexion permanente avec la source des données. En
particulier, si des fichiers doivent être reçus de différentes plates-formes via FTP
ou cédérom avant d’être traités, il sera nécessaire de passer par un datamart.
3. UDM alimente le cube à partir de données propres, ne nécessitant pas de
transformations préalables. Si le système opérationnel contient des erreurs ou
des informations nécessitant d’être nettoyées, il sera indispensable de passer
par la phase d’alimentation du datamart via Integration Services.
178 Chapitre 7. Analysis Services
Figure 7.9 — Dans la plupart des cas, la création du datamart est la solution la plus judicieuse
La méthode la plus simple consiste à concevoir une base de données Analysis Services
en partant d’une base de données relationnelle quelle qu’en soit la source (ERP, PGI,
ODS, Oracle, DB2, SQL Server, Access, etc.).
D’une manière générale, il est fortement conseillé de créer une base de données
relationnelle servant d’entrepôt de données. En effet, le datawarehouse qui sert
de source à la création des hypercubes joue le rôle d’interface entre les bases
opérationnelles multiples et les cubes. On comprend aisément que cette interface
est nécessaire pour des contraintes de performances, de nettoyage des données source,
et d’historisation de celles-ci. Les bases de données opérationnelles sont volatiles
et pour des raisons de performance sont vidées régulièrement des données les plus
anciennes (données indispensables aux cubes).
Cependant, il peut être astucieux et peu onéreux de commencer à développer une
application décisionnelle en partant directement de la base de données transaction-
nelle (OLTP) sans mettre en œuvre dès le départ un entrepôt de données. C’est le cas
lorsque les données nécessitent peu de transformations, de nettoyage et d’agrégation.
Dans ce cas, SSAS sera vu comme un environnement complémentaire au système de
reporting existant. On gagnera dans ce cas l’avantage de l’interactivité et on fera une
économie non négligeable sur l’ETL.
L’avantage de ces vues pour le développeur réside dans le fait qu’elles sont partagées
entre les projets SSAS et SSIS au sein d’un même projet, ce qui est particulièrement
appréciable dans les cas suivants :
• La base de données d’origine comporte des centaines de tables dont seulement
quelques-unes sont utiles au projet BI.
• Les sources de données sont multiples (serveurs distincts, SGBD distincts,
plateformes différentes, fichiers plats, etc.).
• Le développeur BI n’a pas besoin de disposer des privilèges d’administration sur
les sources de données opérationnelles des ERP ou DW.
• Le développeur BI peut procéder au développement d’application en mode
déconnecté (les sources de données ne sont pas nécessaires pour le développe-
ment).
Bien vérifier la sélection des options ci-dessus lors de l’installation de SQL Server
2008.
Le scénario suivant s’inspire d’une société fictive Cycles et Aventure qui fabrique et
distribue des bicyclettes en matériaux métalliques et composites. La société emploie
plusieurs équipes commerciales dans le but de couvrir un marché qui s’étend sur trois
continents : Amérique du Nord, Europe et Asie.
Pour répondre aux besoins en analyse des données des équipes commerciales et
marketing, ainsi que de la direction, l’entreprise récupère actuellement les données
transactionnelles dans la base de données Base_Opérationnelle et les données non
transactionnelles comme les quotas des ventes dans des feuilles de calcul, et consolide
ces données dans l’entrepôt de données relationnelles Base_Entrepot. Cependant,
l’entrepôt de données relationnelles présente les problèmes suivants.
7.4.1 Constat
Actuellement, les rapports prédéfinis fournis par le système opérationnel sont statiques.
Lorsque les utilisateurs désirent établir des tableaux de synthèse, ils doivent ressaisir les
7.4 Création de notre premier cube 181
données dans le tableur Excel. Ils peuvent ensuite élaborer des graphes. Les données
de synthèse saisies manuellement dans Excel ne permettent pas d’explorer des niveaux
de détail plus fins. Dans ce contexte, il n’existe pas de lien permettant de retrouver les
données détaillées qui constituent les données de synthèse.
Les utilisateurs n’ayant pas connaissance des technologies OLAP se contentent
bien souvent des rapports qu’ils impriment selon leurs besoins. Parmi ces utilisateurs,
certains souhaiteraient accéder directement aux données de la base opérationnelle.
Ils disposent parfois d’outils de requêtage. Cependant, du fait de la complexité du
schéma de la base, ils renoncent à élaborer eux-mêmes les rapports dont ils ont besoin
et finissent par solliciter les services informatiques.
Dans les environnements où l’entrepôt de données n’a pas été mis en place, les
utilisateurs constatent avec stupeur que les données des années antérieures ne sont
plus accessibles. Les processus de « nettoyage » visant à améliorer les performances du
système transactionnel ont eu raison de l’historique des données.
Les temps de réponse sont aléatoires (plusieurs minutes voire plusieurs heures
lorsque les volumétries sont importantes).
La solution passe naturellement par l’entrepôt de données visant à organiser les
données en tables dimensionnelles et la technologie OLAP dont un des objectifs est
de permettre des analyses croisées dynamiques.
Dans l’exemple qui suit, nous allons montrer comment la technologie UDM va
nous permettre d’élaborer rapidement un cube OLAP.
Un peu de méthode avant de commencer. La création d’un cube passe par quatre
étapes indispensables.
Ralph Kimball et Margy Gross recommandent que la table de faits stocke la donnée à
un niveau « atomique » c’est-à-dire au niveau le plus fin. Cependant, si vous décidez
d’agréger les données dans la table de faits de l’entrepôt de données et que vous désirez
accéder au niveau de détail le plus fin, vous devrez envisager que UDM puisse accéder
à la source représentée par la base transactionnelle OLTP.
7.4.2 Mesures
Dans l’exemple présenté ci-après, les mesures sont définies par la table VentesInternet
et sont les suivantes :
• quantité commandée ;
• prix unitaire ;
• quantité étendue ;
• remise unitaire ;
• montant de la remise ;
• coût standard du produit ;
• coût total du produit ;
• montant des ventes ;
• montant de la taxe.
7.4 Création de notre premier cube 183
7.4.3 Dimensions
Notre manager veut effectuer des analyses selon divers axes d’observation.
• Axe Géographie
– région ;
– province ;
– ville ;
– nom.
• Axe Produits
– catégorie de produit ;
– sous-catégorie ;
– ligne produit ;
– produit.
• Axe Temps
– année ;
– trimestre ;
– mois.
– jour.
Figure 7.10 — Schéma en flocon composé d’une table de faits et de trois axes dimensionnels
Figure 7.12 — Composants créés en standard lors de la création d’un projet SSAS
La Vue des sources de données comporte une clé primaire par table ou vue. Cette
clé est très importante et doit être définie avec soin car elle détermine l’unicité des
membres de dimensions ainsi que les jointures entre dimension et table de faits.
Clic droit sur Vues de sources de données.
Figure 7.19 — Formulaire de sélection des tables qui entrent dans le référentiel
du modèle en étoile ou en flocon
Sélectionnez la source de données qui vient d’être créée Adventure Works DW.
Bouton Suivant. Dans le formulaire suivant vous allez sélectionner les tables de
AdventureWorksDW qui sont à inclure dans la vue de source de données.
Grâce au bouton > sélectionnez la table de faits FactInternetSales. Cliquez sur le
bouton Suivant. Puis validez la fin de la création de source de données en cliquant sur
le bouton Terminer.
Dans l’explorateur de solution vous observez la création de la vue Adventure
Works DW.dsv. Vous obtenez le schéma suivant (figure 7.20).
190 Chapitre 7. Analysis Services
Figure 7.20 — Source de données selon un schéma en flocon (représentation en mode diagonale)
À ce stade il est possible d’ajouter une ou plusieurs tables à la vue des sources de
données. Il est cependant utile de noter que si vous effectuez vous-mêmes des jointures
entre des tables celles-ci ne sont pas vérifiées dans le concepteur. Si des jointures
s’avèrent erronées, vous n’en aurez connaissance qu’au moment du traitement du
cube.
Vous pouvez également créer des requêtes nommées visant par exemple à filtrer
des données. Ces requêtes nommées sont en quelque sorte des vues et peuvent être
traitées comme de nouvelles tables physiques. Pour ces vues nommées vous devrez
créer une clé primaire logique. Aussi soyez attentif à la compréhension du modèle
relationnel sous-jacent avant de créer des jointures et/ou des clés primaires sur des
vues ou requêtes nommées.
Au fur et à mesure que les besoins évoluent, vous pouvez remplacer la table
nommée par une table physique ou une autre table nommée.
L’assistant de création de cube est sollicité. Puis cliquez sur le bouton Suivant.
Sélectionnez la méthode de création
Figure 7.22
Cette méthode est retenue lorsque vous désirez créer une table dimensionnelle
temporelle dans un entrepôt de données. Il suffit de préciser les attributs et dates
extrêmes du calendrier pour créer et alimenter une telle table.
L’assistant vous invite à définir la ou les tables de faits. Cliquez sur le bouton
Suggérer afin d’obtenir une détection automatique.
Cliquez sur le bouton Suivant puis sélectionnez les mesures à inclure dans le groupe
de mesures. Les clés (données numériques) servant aux jointures doivent être exclues
des mesures. Observez la création d’une mesure créée par l’assistant. Il s’agit de Fact
Internet Sales Nombre. Cet indicateur (représente une fonction Count) permettra
par la suite de dénombrer les lignes qui répondent à tel ou tel critère ex : Compter
combien de clients ont commandé dans l’année 2009.
Figure 7.25 — Sélectionner les dimensions (décochez la table de faits Fact Internet Sales.
Une table de faits peut également être considérée comme une dimension dégénérée)
Figure 7.26
L’assistant de BIDS 2008 est différent de 2005 puisqu’à ce stade, BIDS 2005 avait
créé des attributs de dimensions et hiérarchies utilisateurs. L’assistant de BIDS 2008
doit être complété par des manipulations de la part du concepteur.
Il est donc nécessaire d’ajouter manuellement des attributs aux dimensions Dim
Product, Dim Time et Dim Customer.
Pour ajouter des attributs à la dimension Customer :
• Ouvrez le Concepteur de dimensions pour la dimension Customer. Pour cela,
double-cliquez sur la dimension Customer du nœud Dimensions de l’Explorateur
de solutions.
• Dans le volet Attributs, remarquez les attributs Customer Key et Geography
Key créés par l’Assistant Cube.
7.4 Création de notre premier cube 195
– EnglishCountryRegionName
– FrenchCountryRegionName
– PostalCode
Figure 7.29 — L’onglet Structure de dimension permet de vérifier la sélection des attributs
Une nouvelle fonctionnalité apparue avec SSAS 2008 consiste à afficher des règles
de suggestion. Si le concepteur détecte des conflits dans les dimensions il souligne
l’objet avec une ligne ondulée bleue. Lorsque vous pointez la souris sur la ligne bleue,
une description de la règle apparaît dans une info-bulle. Il est possible de désactiver la
liste des règles en cliquant droit sur le projet Analysis services puis Modifier la base de
données.
Vous pouvez déplier une ou plusieurs descriptions de règles puis désactiver une ou
plusieurs options.
7.4 Création de notre premier cube 197
Figure 7.32 — Onglet Structure de dimension faisant apparaître les attributs de la dimension
et la hiérarchie utilisateur sur l’axe Région
La figure ci-dessus montre les trois volets. Le volet attributs en bas à gauche, le
volet des relations d’attribut avec la clé Customer Key, puis le volet concernant la
hiérarchie et les relations de la clé principale avec chaque niveau.
7.4 Création de notre premier cube 199
Figure 7.34
Figure 7.35 — Nouvelle relation d’attributs entre les différents niveaux de la hiérarchie
200 Chapitre 7. Analysis Services
Si BIDS Helper est installé (voir ressources en fin d’ouvrage) vous pourrez
connaître les raisons de cet échec en effectuant le contrôle de la dimension Dim
Customer.
7.4 Création de notre premier cube 201
On observe que la même ville peut être trouvée dans plusieurs régions occasionnant
des doublons (ex. Berlin dans Hamburg, Hessen Brandburg...) Nous devons donc lever
202 Chapitre 7. Analysis Services
Figure 7.40 — Formulaire permettant d’associer plusieurs clés pour l’attribut City
Paramétrage du déploiement
Vous pouvez modifier les paramètres de déploiement en cliquant droit sur le nœud du
projet dans BIDS.
Tableau 7.2
Choix de l’option Paramètres Commentaire
Serveur Précise le nom du serveur susceptible de revoir le
déploiement. Nom du serveur suivi de l’instance
SSAS.
Base de données Précise le nom de la base de données OLAP cible.
Option de traitement Par défaut Permet de déployer tout en maintenant le cube
en état de fonctionnement.
Complet Traitement complet de la base OLAP
Ne pas traiter Déploie les changements uniquement
Déploiement False Exécute chaque commande de déploiement
transactionnel de manière indépendante
True Remet la base OLAP à l’état initial s’il y a échec
(Rollback)
Mode de déploiement Déployer tout Écrase la cible
Déployer Compare avec la cible et déploie uniquement
uniquement ce qui a changé
ce qui a changé
Serveur Précise le nom du serveur susceptible de revoir
le déploiement
Base de données Précise le nom de la base de données OLAP cible.
Lorsque vous déployez un projet SSAS, BIDS met à jour un fichier au format xml
qui porte le nom <nomdu projet>.asdatabase dans le répertoire \bin du projet
ATTENTION : Bien que le mode de déploiement permette de déployer unique-
ment ce qui a changé, la fonction de déploiement de BIDS écrase les paramètres de
gestion de la base OLAP tels que le partitionnement et les rôles. Pour un meilleur
contrôle du déploiement, utilisez plutôt l’assistant de déploiement.
Assistant de déploiement
L’assistant de déploiement est conçu pour vous donner un contrôle plus fin et
incrémental. Lorsque vous créez un projet SSAS à l’aide de BIDS celui-ci génère
un script de déploiement (asdatbase) et plusieurs fichiers xml.
Microsoft.AnalysisServices.Deployment [ASdatabasefile]
{[/s[:logfile]] | [/a] | [[/o[:output_script_file]] [/d]]}
Arguments :
• ASdatabasefile – Chemin complet du dossier dans lequel le fichier de script de
déploiement Analysis Services (.asdatabase) se trouve. Le fichier de script de
déploiement contient les définitions d’objets à déployer. En l’absence de toute
spécification, le dossier en cours est utilisé.
• /s – Exécute l’utilitaire en mode silencieux et n’affiche pas de boîte de dialogue.
• logfile – Chemin d’accès complet et nom de fichier du fichier journal. Les
événements de trace sont consignés dans le fichier journal spécifié. Si le fichier
journal existe déjà, le contenu du fichier est remplacé.
• /a – Exécute l’utilitaire en mode réponse. Toutes les réponses effectuées pendant
la partie Assistant de l’utilitaire sont réécrites dans les fichiers d’entrée, mais
aucune modification n’est apportée aux cibles de déploiement.
• /o – Exécute l’utilitaire en mode de sortie. Aucun déploiement n’est effectué,
mais le script XML for Analysis (XMLA) qui serait normalement envoyé
aux cibles de déploiement est plutôt enregistré dans le fichier de script de
sortie spécifié. Si output_script_file n’est pas spécifié, l’utilitaire tente d’utiliser
le fichier de script de sortie spécifié dans le fichier d’entrée des options de
déploiement (.deploymentoptions). Si un fichier de script de sortie n’est pas
spécifié dans le fichier d’entrée des options de déploiement, une erreur se
produit.
• output_script_file – Chemin d’accès complet et nom de fichier du fichier de script
de sortie.
• /d – Si l’argument /o est utilisé, il spécifie que l’utilitaire ne doit pas se connecter
à l’instance cible. Aucune connexion n’étant établie aux cibles de déploiement,
le script de sortie est généré uniquement sur la base des informations récupérées
à partir des fichiers d’entrée.
Figure 7.45
Si vous exécutez le fichier script XMLA par un double clic, Management studio
s’ouvre automatiquement en présentant le code XMLA. Voici en mode réduit le script
généré.
208 Chapitre 7. Analysis Services
Figure 7.46
Le code XMLA est modifiable puis exécutable (clic droit dans le code puis
exécuter).
Assistant de Synchronisation
Si vous disposez d’une ferme de serveurs de production et vous désirez déployer les
dernières modifications sur chaque serveur. Vous allez éviter de processer chaque
serveur pour des raisons de durée de traitement. Vous déciderez donc de processer
les cubes sur des serveurs de type staging (intermédiaires) et ensuite de synchroniser
chaque cube de production avec chaque cube de staging.
L’assistant de synchronisation est obtenu dans Management Studio par un clic
droit sur le nœud Base de données puis synchroniser...
Les serveurs source de synchronisation et destination ne peuvent être identiques.
Configurez le serveur destination de telle sorte qu’il s’exécute avec un compte de
domaine ayant les droits administrateur.
L’extension d’un fichier de sauvegarde OLAP est .abf (Analysis Backup File).
Vous pouvez récupérer le script XMLA d’une procédure de sauvegarde de cube en
activant l’icône Script.
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>MonPremierCube</DatabaseID>
</Object>
<File>MonPremierCube.abf</File>
<AllowOverwrite>true</AllowOverwrite>
</Backup>
Ci-dessus l’agent SQL exécute une commande XMLA. Vérifiez le type d’exécution
« commande SQL Server Analysis Services ».
Structure de cube
Cet onglet permet de modifier l’architecture d’un cube et d’en modifier les composants.
Utilisation de la dimension
Cet onglet permet de définir les relations entre des dimensions et des groupes de
mesures, ainsi que la granularité de chaque dimension au sein de chaque groupe
de mesures. Si vous utilisez plusieurs tables de faits, il se peut que vous deviez
identifier si les mesures s’appliquant ou non à une ou plusieurs dimensions. Chaque
cellule représente une relation potentielle entre le groupe de mesures et la dimension
intersectée.
Calculs
Cet onglet permet d’étudier les calculs définis pour le cube, de définir de nouveaux
calculs pour le cube dans sa totalité ou pour un sous-cube, de réorganiser les calculs
existants et de déboguer les calculs, pas à pas, en s’aidant des points d’arrêt. Les calculs
permettent de définir de nouveaux membres et mesures basés sur des valeurs existantes,
tels que des calculs de profit, et de définir des jeux nommés.
7.4 Création de notre premier cube 211
KPI
Cet onglet permet de créer, éditer et modifier les indicateurs de performance clés
(KPI) dans un cube. Ceux-ci permettent au concepteur de déterminer rapidement les
informations utiles relatives à une valeur et par exemple, de déterminer si la valeur
définie est supérieure ou inférieure à un objectif ou si la tendance que suit la valeur
définie augmente ou diminue.
Actions
Cet onglet permet de créer ou de modifier des extractions, des rapports et d’autres
actions pour le cube sélectionné. Il contient des informations contextuelles sur les
applications clientes, les commandes et les rapports auxquels les utilisateurs finaux
peuvent accéder.
Partitions
Les partitions permettent de stocker les sections d’un cube dans différents emplace-
ments avec des propriétés différentes, telles que des définitions d’agrégations.
Perspectives
Une perspective est un sous-ensemble défini d’un cube et sert à réduire la complexité
d’un cube du point de vue de l’utilisateur.
Traductions
Cet onglet permet de créer et gérer les noms traduits des objets de cube, tels que les
noms de mois ou de produits.
Navigateur
Cet onglet permet d’afficher les données du cube selon une présentation proche du
tableau croisé dynamique.
L’explorateur de solutions présente les nouvelles dimensions (figure 7.50).
212 Chapitre 7. Analysis Services
Figure 7.50 — L’explorateur de solution présente trois dimensions partagées alors que le cube
lui-même en contient cinq (la dimension temps est triplée dans le cube car il existe trois dates
différentes liées à la table temps)
Dans le menu de Visual studio sélectionnez Fichiers puis cliquez sur Enregistrer
tout.
Dans l’ordre, glissez tout d’abord Nom Région Français puis immédiatement en
dessous Nom Province puis Ville et enfin Nom.
Figure 7.55 — Pour créer une hiérarchie, faites glisser une colonne
ou un attribut sur la partie centrale
Vous allez créer de toutes pièces une nouvelle hiérarchie Produit en incluant la
hiérarchie LigneProduit et Produit.
Avant de créer cette nouvelle hiérarchie et afin de mieux sélectionner les champs,
vous allez observer le contenu de la table DimProduit à partir de laquelle vous allez
reconstituer la hiérarchie.
Dans l’onglet Vue Source de données, faites un clic droit sur la table DimProduit
puis Explorer les données.
En cliquant sur l’en-tête de colonne, vous pouvez trier en ordre croissant ou
décroissant les données (ici NomProduitFrançais).
7.4 Création de notre premier cube 217
Figure 7.56 — Un clic droit sur une table dans la source de données permet d’explorer
le contenu de la table
Dans la hiérarchie Produit, vous allez sélectionner Ligne de produit puis immédia-
tement en dessous, NomProduitFrançais.
Hiérarchie temporelle
Dans l’explorateur de solutions, cliquez sur la dimension Dim Temps. Dans l’onglet
Hiérarchie et niveaux, renommez la hiérarchie en Dates.
Dans le menu Fichiers, choisissez alors Enregistrer tout.
Pour afficher les données du cube dans le projet, il est nécessaire de déployer le projet
sur une instance spécifiée de Analysis Services, puis traiter le cube et ses dimensions.
Le déploiement d’un projet Analysis Services entraîne la création des objets définis
dans une instance d’Analysis Services. Le traitement des objets dans une instance
d’Analysis Services, entraîne la copie des données à partir des sources de données
sous-jacentes dans les objets du cube.
Déployez le cube
Faites un clic droit sur MonPremierCube puis sélectionnez Déployer.
7.4 Création de notre premier cube 219
Figure 7.63 — La mesure Quantité commandée a été glissée sur la partie détail du navigateur
Les champs de dimension vont être dirigés vers les en-têtes de lignes et de colonnes.
Glissez-déplacez la dimension Dim Clients vers les en-têtes de lignes puis Dim
Produit dans en-têtes de colonnes.
7.4 Création de notre premier cube 221
Figure 7.64 — Le champ Ligne Produit définit les colonnes et Région définit les lignes
En cliquant sur le signe + associé aux champs, vous allez pouvoir « forer » dans la
hiérarchie des dimensions. Cette technique est également appelée drill down. Le signe
– permet d’effectuer un drill up.
222 Chapitre 7. Analysis Services
Faites un clic droit sur l’espace du tableau puis sélectionnez Commandes et Option
puis comportement puis cochez les cases Barre de titre et Barre d’outils. Vous pouvez
obtenir un contexte proche de celui des tableaux croisés dynamiques d’Excel.
Figure 7.67 — Formulaire permettant d’afficher des éléments afin de rendre le navigateur
proche du tableau croisé dynamique
Figure 7.68 — L’interface est maintenant celle du tableau croisé dynamique d’Excel
Vous pouvez continuer de déposer des champs mesures et/ou dimensions à partir
de la liste des champs disponibles.
Vous pouvez également retirer des champs (mesures ou dimensions) en sélection-
nant l’en-tête du champ et en glissant celle-ci hors du tableau.
Dans l’explorateur de solutions, cliquez avec le bouton droit sur la vue Base
entrepot.dsv.
Puis sélectionnez concepteur de cube.
Dans l’onglet de définition de vue, vous allez ajouter deux tables supplémentaires.
Dans le menu BI studio, choisissez Vue des sources de données puis Ajouter/Supprimer
des tables...
7.4 Création de notre premier cube 225
Figure 7.70 — Ajouter des tables à une vue des sources de données grâce aux tables associées
Dans la partie droite de l’écran (figure 7.70), cliquez sur la table dbo.DimProduit
puis actionnez le bouton Ajouter des tables associées.
Retirez la table FaitVentesRevendeur qui n’est pas utile pour le moment, puis
cliquez sur DimSousCatégorieProduit et actionnez de nouveau le bouton Ajouter des
tables associées.
L’assistant détecte automatiquement les jointures entre les tables puis les intègre
automatiquement à la vue.
226 Chapitre 7. Analysis Services
Puis déployez le cube : clic droit dans l’explorateur de dimension puis Déployer.
Dans l’explorateur de solution, effectuez un clic droit sur la dimension Dim
Produit.dim, puis dans l’onglet central Navigateur, choisissez la hiérarchie globale
Produit et catégories puis déroulez l’arborescence des catégories de produit.
228 Chapitre 7. Analysis Services
Figure 7.77 — Il est possible de naviguer dans tous les attributs de la dimension
Figure 7.78 — Les attributs catégories et sous catégories sont maintenant intégrés au cube
7.5 CONCLUSION
Ce chapitre nous a permis de comprendre les différentes étapes qui participent à la
création d’un cube. Nous avons successivement défini les sources de données. Nous
avons défini un schéma en flocon faisant apparaître clairement la table de faits centrale
et les tables descriptives appelées dimensions. Lors de la création du cube l’assistant
a détecté le rôle des tables en présence. Il a déterminé la table de faits comportant
les mesures (métriques), puis les tables dimensionnelles. Il a déterminé le niveau de
granularité et les liaisons entre tables de faits et tables de dimension.
Le déploiement du cube sur le serveur Analysis Services a ensuite permis de
naviguer dans le cube grâce à l’outil intégré à BI studio.
Dans le chapitre suivant nous apporterons un éclairage complémentaire en
présentant de façon plus détaillée les composants essentiels du cube afin de répondre
plus précisément à des problématiques métier.
8
Méthode
de conception
des cubes avec SSAS
Nous l’avons vu, créer un cube OLAP avec l’assistant ne présente pas de difficulté
majeure, en particulier si l’on respecte les paramètres standard fournis par l’outil. La
base de données relationnelle sous-jacente est indispensable à la fabrication du cube,
mais de par sa structure tabulaire et linéaire, elle reste difficilement exploitable pour
l’analyse. Le langage SQL, seul outil de requêtage, permet de réaliser des rapports
simples basés sur des notions de listes dont la valeur ajoutée consiste à effectuer
des regroupements matérialisés par des sous-totaux intermédiaires de colonnes et
totaux généraux. Un véritable serveur analytique dispose de la couche OLAP offrant
des performances constantes quelle que soit la volumétrie. À la vision purement
séquentielle de l’information, OLAP en apporte une transverse permettant ainsi de
mettre en relation des données non contiguës dans l’entrepôt. Cette capacité à définir
des rapprochements structurés dans l’espace est rendue possible grâce au langage MDX.
De telles performances sont rendues possibles grâce à une gestion simplifiée des
agrégations. Celles-ci résultent de calculs visant à regrouper des données numériques
puisées dans les tables de faits. Ces calculs sont préstockés dans le cube OLAP à des
niveaux variables de regroupement, rendant possible un affichage instantané. Cette
technique de regroupement de données sous forme pré agrégée est de loin plus efficace
que la méthode ancienne qui consistait à indexer des vues SQL. Cette technique
d’indexation était également accompagnée d’une mise à niveau coûteuse des matériels
afin de répondre à toujours plus d’exigence.
L’objectif principal est de déterminer les agrégations qui répondent le mieux aux
besoins métier et d’identifier la fréquence de mise à jour des agrégats. Un autre enjeu
232 Chapitre 8. Méthode de conception des cubes avec SSAS
pourra modifier manuellement afin de créer différentes situations. Les résultats seront
d’autant plus faciles à contrôler que les données sont peu nombreuses (contrôle des
moyennes, et des mesures semi-additives). Le temps de rafraîchissement des cubes sera
réduit d’autant.
L’assistant des sources de données peut en créer une nouvelle basée sur une
existante dans la même solution ou créer une source de données basée sur un projet
Analysis Services existant.
Les attributs de description des tables et des champs seront remplis avec soin car
Analysis Services utilise ces données lors de la création du cube. On évitera de stocker
les commentaires dans le cube lui-même car ils seraient alors remplacés à chaque
retraitement du cube.
Il est possible d’ajouter dans la vue des tables en provenance de serveur tiers
(Oracle, DB2, etc.). D’une manière générale, on préférera effectuer des jointures sur
des tables de bases de données tierce dans l’environnement propre du datawarehouse.
Figure 8.4 — Dans le projet Analysis Services Tutorial, huit dimensions ont été préparées
Les dimensions sont par nature partageables entre plusieurs cubes. Lors de la
construction du cube les dimensions sont sélectionnées. La figure 8.4 montre des
dimensions qui peuvent être partagées entre plusieurs cubes.
8.1 Organisation logique des cubes 235
Une dimension standard contient une clé (Product Name dans la figure 8.6) un
ou plusieurs attributs, et une ou plusieurs hiérarchies. Analysis Services crée des
dimensions à partir de tables dénormalisées. Le passage de la troisième forme normale
à une forme de table « plate » permet de répondre à des critères de performance.
Figure 8.5 — Le cube est composé de dix dimensions (trois dimensions temporelles, Due date,
Order date, Ship date, dérivées des trois champs de type Date dans la table de faits). La figure 8.5
montre les dimensions utilisées par le cube Analysis Services Tutorial
Figure 8.6 — Dans l’onglet structure de dimension, les dimensions sont caractérisées
par des attributs et des hiérarchies
Une dimension peut inclure des hiérarchies de type parent/enfant. Une dimension
peut être à variation lente de type 1 (ne tient pas compte de l’historique) ou de
type 2 (garde la trace des changements). Une dimension peut présenter les deux types
simultanément. En effet les types de réaffectation sont définis au niveau de chaque
attribut de dimension et non pas au niveau global.
236 Chapitre 8. Méthode de conception des cubes avec SSAS
Une dimension de type 2 est toujours préférée au type 1, car il n’y a pas de
réaffectation globale sur l’historique à chaque rechargement de la table dimensionnelle.
Les traitements de reconstruction des cubes sont allégés d’autant.
La figure 8.7 montre les différentes options offertes par la gestion des erreurs lors de
l’alimentation d’une dimension. Les options par défaut sont affichées et sont explicites.
Il est possible de tracer dans un fichier journal la liste des erreurs rencontrées lors du
traitement. Le choix pour cette option est personnalisé ou par défaut. Il est souhaitable
de laisser l’option par défaut.
Figure 8.9 — Les attributs sont organisés en trois ensembles homogènes (Contacts,
Demographic, Location)
Structure de dimension
Certaines hiérarchies sont naturelles telles que année/mois/jour ou catégorie de
produit/sous-catégorie de produit/produit. D’autres sont moins naturelles telles que
fréquence de commande/nom du revendeur.
Les niveaux des hiérarchies sont construits à partir des attributs des hiérarchies. Les
propriétés de chaque niveau sont également empruntées aux attributs correspondants
et ne peuvent être modifiées au sein de chaque hiérarchie.
Pour une hiérarchie régulière, utilisez la propriété HideMemberIf d’un niveau d’une
hiérarchie pour masquer les membres manquants aux utilisateurs finaux.
240 Chapitre 8. Méthode de conception des cubes avec SSAS
Figure 8.11 — Créer des hiérarchies et des niveaux par un glisser-déplacer des attributs
des dimensions vers la fenêtre hiérarchies et niveaux
Traductions
Les traductions permettent au serveur de prendre en charge les applications clientes
en adaptant le langage de présentation selon la langue du client. Il est utile de pouvoir
traduire divers éléments d’un cube et de ses dimensions dans une langue différente,
de sorte que des personnes de divers pays puissent afficher et comprendre le cube. Au
moment de l’affichage de la requête, un dialogue s’établit entre la station du client
et le serveur. Le client renvoie la langue utilisée au serveur qui renvoie à son tour le
résultat de la requête dans la langue de l’utilisateur.
Navigateur
L’onglet Navigateur permet d’explorer les attributs ou les hiérarchies de dimension. La
figure 8.12 montre une navigation dans la hiérarchie Product Categories. Après toute
modification d’un attribut ou hiérarchie il est nécessaire de se reconnecter au cube
avant d’explorer à nouveau les données.
Avant de parcourir les données il est nécessaire de traiter la dimension. Il n’est
cependant pas nécessaire de déployer le cube ou de traiter la base de données du cube.
Dans la figure 8.12, si une traduction avait été développée, la liste déroulante ferait
apparaître les membres dans la langue adéquate.
8.1 Organisation logique des cubes 241
Figure 8.12 — Choisir une hiérarchie ou un attribut et parcourez la liste des données
Après que le cube a été créé grâce à l’assistant, il est possible de revenir sur tous
les composants du cube grâce au concepteur de cube. Il est possible de tester le cube,
d’ajouter de nouvelles dimensions à des groupes de mesures et d’ajouter des groupes de
mesure.
Les objets qui composent le cube sont présentés ci-après.
Les mesures sont des données en provenance des tables de faits. On distingue :
• les mesures physiques définies à partir des colonnes de la vue source ;
• les mesures calculées dérivées d’autres colonnes de la table de faits. Les calculs
sont élaborés grâce au langage MDX (Multidimensional Expressions) ;
• les fonctions d’agrégation permettent des fonctions de type sum, count, min, max,
distinct cStyle caratère : CodeDansTexte non pris en charge
ount.
Les groupes de mesures rassemblent des mesures extraites d’une même table de
fait et dont la granularité est définie par les dimensions.
Le cube rassemble dimensions, mesures et groupes de mesure. Ceux-ci se com-
portent comme les cubes virtuels de la version MSAS 2000, les cubes virtuels étant le
résultat de jointure de cubes physiques distincts.
La base de données Analysis Services peut héberger plusieurs cubes. Pour une
bonne organisation, il est préférable de ne traiter qu’un seul cube par base de données.
242 Chapitre 8. Méthode de conception des cubes avec SSAS
Dans la figure 8.13, une seule cellule est ombrée. Cette cellule est l’intersection
des membres suivants :
• le membre avion de la dimension Itinéraire ;
• le membre Afrique de la dimension Source ;
• le membre quatrième trimestre de la dimension Temps ;
• la mesure Packages.
La valeur de la mesure Packages (240 dans notre exemple) peut être extraite
directement de la colonne correspondante d’une ligne de la table de faits, car tous les
membres sont terminaux (feuilles).
8.1 Organisation logique des cubes 243
Dans l’exemple fourni par la figure 8.14, les deux cellules en grisé représentent
un agrégat du 3e et 4e trimestre soit le 2e semestre. Le membre du 2e semestre est
non-feuille car tous les membres qui lui sont associés doivent être agrégés.
Figure 8.15 — La structure du cube présente les groupes de mesures et les dimensions du cube
De nombreux calculs sont aisés à créer tels que des sommes de mesures ou des ratios.
Les mesures calculées s’ajoutent à la liste des mesures existantes. Pour l’utilisateur
final, il n’existe pas de différences entre une mesure physique et une mesure calculée.
246 Chapitre 8. Méthode de conception des cubes avec SSAS
Dans l’exemple ci-dessous, nous créons une mesure calculée nommée MoyenneDes-
Ventes dont l’expression de calcul est obtenue par glisser-déplacer des mesures du volet
de gauche vers le champ Expression. La fonction division a été fournie manuellement.
L’assistant génère la commande MDX suivante :
CALCULATE;
CREATE MEMBER CURRENTCUBE.[MEASURES].MoyenneDesVentes
AS [Measures].[Internet Sales-Sales Amount]/[Measures].[Internet Sales Count],
FORMAT_STRING = "Percent",
VISIBLE = 1;
Une liste de fonctions est fournie grâce à l’onglet Fonction. On y retrouve des
fonctions statistiques (arithmétiques), temporelles, de manipulation de chaîne de
caractères, conditionnelles, etc.
Il faudra rester vigilant sur la complexité des calculs car les mesures calculées font
l’objet de traitement d’agrégation à la volée, au moment de l’affichage. Les mesures
calculées ne sont pas stockées dans le cube.
Les membres calculés sont définis à l’intérieur des dimensions plutôt que dans les
mesures.
Les jeux nommés représentent un ensemble de membres de dimensions. Par
exemple, un jeu nommé peut représenter un groupe de produits, ou un sous-ensemble
de clients que l’on veut identifier rapidement.
• Opérateur unaire pour remplacer l’agrégation par défaut qui est associée aux
membres dans une hiérarchie parent-enfant.
• Formule de membre personnalisée : pour remplacer l’agrégation par défaut
d’une hiérarchie par les résultats d’une expression MDX.
• Ordre de classement des attributs pour spécifier comment les membres d’un
attribut sont classés. Ils peuvent être classés d’après le nom ou la clé de l’attribut,
ou d’après le nom ou la clé d’un autre attribut. Par défaut, les membres sont
classés par le nom.
• Écriture différée de la dimension permet aux utilisateurs de modifier manuelle-
ment la structure de la dimension. Les mises à jour effectuées sur une dimension
activée en écriture sont enregistrées directement dans la table de la dimension.
• Comportement semi-additif définit la méthode d’agrégation pour les mesures
ou les membres individuels d’un attribut de type compte.
• Conversion monétaire définit les règles de conversion et d’analyse des données
multinationales du cube. Les règles de conversion s’appliquent au niveau du
cube dans le script de calcul.
Il est recommandé que cette expression renvoie une valeur décimale comprise
entre – 1 et 1. Une valeur inférieure à zéro représente une situation négative alors
qu’une valeur supérieure à zéro représente une situation positive.
Exemple de code calculant l’état de l’indicateur :
Case
When KpiValue("Reseller Revenue")/KpiGoal ("Reseller Revenue")
>=.95
Then 1
When KpiValue("Reseller Revenue")/KpiGoal ("Reseller Revenue")
<.95
And
KpiValue("Reseller Revenue")/KpiGoal ("Reseller Revenue")
>=.85
Then 0
Else -- 1
End
• La tendance.
La tendance est représentée par des valeurs numériques qui se traduisent graphi-
quement par des flèches.
Case
When IsEmpty
(
ParallelPeriod
(
[Date].[Calendar Time].[Calendar Year],
1,
[Date].[Calendar Time].CurrentMember
)
)
Then 0
When (
KpiValue("Reseller Revenue") --
(
KpiValue ("Reseller Revenue"),
ParallelPeriod([Date].[Calendar Time].[Calendar Year],
1, [Date].[Calendar Time].CurrentMember)
)
/
(
KpiValue ("Reseller Revenue"),
8.1 Organisation logique des cubes 249
Figure 8.19 — Le navigateur dans SSAS permet d’afficher la valeur, l’objectif, l’état et la tendance
Lors de la modification d’une action dans le cube il n’est pas nécessaire de retraiter
les données. Seules les métadonnées doivent être déployées.
Figure 8.20 — L’onglet Partitions montre les partitions liées aux groupes de mesures
Dans le mode HOLAP, les données de détail sont stockées dans des tables
relationnelles tandis que les agrégats le sont dans un format multidimensionnel. Le
mode de stockage HOLAP convient pour les partitions de cubes qui nécessitent des
réponses rapides aux requêtes sur des données de synthèse calculées à partir d’un
volume important de données source. Style caratère : Texte-Courant-Car non pris en
charge
Les performances sont intermédiaires entre MOLAP et ROLAP.
Figure 8.24 — Préciser la table de suivi qui informe SSAS en cas de modification
Figure 8.25 — Management studio présente les partitions associées aux groupes de mesures
Figure 8.26 — Les propriétés de la partition sont modifiables dans Management Studio
telles que le mode de stockage et la mise en cache proactif
Figure 8.27 — Dans les propriétés du projet, précisez l’édition du serveur de déploiement
Figure 8.28 — Le formulaire « Définir les options d’agrégations » permet de définir les limites de
stockage ou de performance des agrégations générées
Retraitement complet
Cette méthode consiste à retraiter la totalité du cube à chaque ajout de données dans
un groupe de mesures. Il s’agit naturellement de la méthode la plus simple à mettre en
œuvre et probablement la plus sûre. Elle est choisie par la plupart des administrateurs.
Elle est naturelle et même conseillée si les cubes ont une faible volumétrie et, par
conséquent, un temps de retraitement court. Cette méthode est à proscrire si les mises
à jour des tables de faits sont quotidiennes avec des volumétries très élevées (centaines
de milliers d’enregistrements). Dans ce cas, nous aurons recours à la méthode de
traitement incrémentiel.
Traitement incrémentiel
Le traitement incrémentiel consiste à filtrer les données les plus récentes des tables de
faits afin de ne traiter qu’un nombre réduit de lignes. Cette technique est séduisante
mais elle nécessite une très grande rigueur lors de la phase d’alimentation. Le risque
naturel est de traiter deux fois les mêmes données ou tout simplement d’omettre de
les traiter. Malheureusement, SQL Server 2008 ne dispose pas de solution intégrée.
Le développeur doit mettre en place un mécanisme d’audit qui consiste à « marquer »
les lignes ayant fait l’objet d’un traitement afin de s’assurer de ne pas les traiter une
seconde fois. L’absence de traitement ou un traitement partiel sont plus délicats à
gérer puisqu’ils ne laissent aucune trace. Dans ce cas, on pourra développer un script
MDX qui établira un contrôle quotidien avec la base de production pour détecter des
écarts éventuels et retraiter la partition incriminée.
Figure 8.29 — Fenêtre présentant les propriétés définies pour l’Instance Analysis Services
Sur la figure 8.29 on observe les répertoires par défaut réservés aux backup, aux
données et journaux etc.
Si vous désirez optimiser les performances des cubes, il est d’usage de suivre
l’activité du serveur afin de détecter les requêtes les plus fréquemment utilisées et
celles dont la durée d’exécution est la plus longue.
Vous devrez par conséquent passer à True la valeur de CreateQueryLogTable,
puis créer une connexion à un serveur de base de données grâce à la propriété
QueryLogConnectionString. La propriété QueryLogSampling permet d’attribuer
une fréquence de stockage des traces. La propriété QueryLogTableName fournit le
nom de la table SQL qui capture les statistiques d’interrogation. Par défaut cette table
se nomme OlapQueryLog.
8.2 L’organisation physique du cube 259
Figure 8.30
Figure 8.31 — Paramètres permettant de tracer les requêtes effectuées sur le serveur OLAP
Figure 8.32
Figure 8.33
Figure 8.34
8.2 L’organisation physique du cube 261
Figure 8.35
Figure 8.37
Dans l’exemple ci-dessus, BIDS Helper va créer des agrégats pour les requêtes dont
la durée est supérieure ou égale à 10 millisecondes. La liste des requêtes fournie par
le Query Log peut faire l’objet d’une injection directe dans le cube (fonction BIDS
Helper)
8.3 RECOMMANDATIONS
Bien que les assistants soient nombreux dans Analysis Services, ce logiciel est
complexe et nécessite beaucoup de soin dans sa conception. Nous ne saurions trop
vous conseiller d’installer l’utilitaire gratuit BIDS Helper 2008. Cet utilitaire vous
permettra de mieux contrôler l’optimisation de vos cubes et les raisons éventuelles de
dysfonctionnement.
Lors de la mise au point initiale, testez, contrôlez autant que vous le pourrez. Après
la mise en production du cube, donnez-vous les moyens de croiser des données du
cube avec d’autres sources telles que le datawarehouse sous-jacent. Il n’y a rien de
plus efficace pour jeter le discrédit sur votre œuvre qu’un utilisateur qui lance en
pleine réunion que le cube donne des résultats incohérents. Ne soyez jamais seul à
concevoir vos cubes. Testez avec les utilisateurs avancés (Key Users), observez leur
façon d’interpréter et de contrôler les données. Mettez en production les automates
de contrôle et faites-vous alerter par SSIS au moindre écart. Soyez le premier à alerter
les utilisateurs qu’un dysfonctionnement a eu lieu plutôt que d’apprendre par eux que
votre cube est faux !
9
Le data mining
Les réponses aux questions 1 et 2 peuvent être fournies par de simples outils de
requêtage de type SQL.
La question 1 trouvera une réponse en exécutant une requête SQL sur la base de
données opérationnelle ou mieux sur l’entrepôt de données. Les critères d’extraction
sont dans ce cas l’année de l’achat et le type d’ouvrage (sport).
La question 2 implique de conserver en ligne deux années de ventes, puis de
comparer l’agrégat des ventes réalisées en Year to date (cumul depuis le début de
l’année) et d’en déduire l’écart en valeur. La réponse sera fournie très facilement par
une requête MDX exécutée sur le cube OLAP. Excel fournira une réponse, grâce au
tableau croisé dynamique.
La question 3 permet de déterminer la probabilité que la règle d’association entre
plusieurs éléments est vérifiée. Il s’agit d’un type de recherche dirigée car l’objectif est
264 Chapitre 9. Le data mining
Lorsque les modèles sont déployés, il est possible de les utiliser lors du processus
ETL ou lors d’une validation de transaction dans la base opérationnelle. Cette dernière
fonctionnalité permet par exemple de savoir avec précision si le prospect récemment
introduit dans la base de données sera ou non un acheteur potentiel.
La mise à jour du modèle doit être réalisée lorsque de nouvelles données viennent
alimenter les bases.
Régression
À la différence de la tâche de classification, la régression sert à déterminer une relation
entre deux colonnes continues. La relation se présente sous la forme d’une équation
correspondant à la droite représentant le mieux une série de données. Par exemple, la
droite dans le diagramme suivant est la meilleure représentation linéaire possible des
données. Cette notion est souvent utilisée dans la partie graphique d’Excel.
Segmentation
La segmentation consiste à former des groupes (clusters) homogènes à l’intérieur d’une
population afin de répondre à la question « Quels attributs trouve-t-on en commun
dans chaque groupe ? » La tâche de segmentation précède souvent les autres tâches
afin de construire des groupes sur lesquels on applique des tâches de classification.
Association
L’association examine les comportements de groupes d’individus afin de déterminer
quels liens existent entre eux. Les règles d’association sont souvent liées au secteur de
la distribution à travers ce qu’on appelle l’analyse du panier de la ménagère. Des sites
d’achats en ligne de produits culturels utilisent cette méthode afin de rechercher
les produits qui tendent à être achetés ensemble et proposer en ligne des offres
complémentaires (vente additionnelle).
Un des principaux attraits de la méthode est la clarté des résultats produits. En effet,
le résultat de la méthode est un ensemble de règles d’association dont voici quelques
exemples :
• si un client achète des plantes, alors il achète du terreau ;
• si un client achète du poisson et du citron, alors il achète du vin blanc ;
• si un client achète une télévision, il achètera un magnétoscope dans un an.
Bien souvent, les commerciaux ont déjà intuitivement déterminé des groupes qui
seront probablement confirmés par l’algorithme. Bien que cela puisse rassurer, il est
évident que les décideurs attendent des réponses non triviales et utiles, allant bien
au-delà d’une simple analyse.
Cette méthode est par définition non supervisée car il n’existe pas d’indice a priori
permettant d’effectuer une recherche prédéfinie.
Analyse de séquence
L’algorithme de séquence permet d’analyser un chemin réalisé par le passé afin d’en
déduire la route probable dans le futur.
On applique souvent ce type d’algorithmes à l’analyse des séquences de clics que
les internautes effectuent sur un site web.
L’analyse de séquence sert également à découvrir l’ordre dans lequel un client
ajoute des éléments dans son panier d’achat sur un site de vente en ligne.
Toute société qui offre un service d’achat en ligne est intéressée par cette démarche.
En effet, pour acheter, les clients doivent se connecter au site. La société collecte
des informations sur les pages que les internautes visitent et l’ordre dans lequel ils
consultent les pages. Il analyse également quelles sont les pages les plus consultées
avant l’acte d’achat d’un produit.
268 Chapitre 9. Le data mining
Afin d’offrir au lecteur une vue globale des outils de data mining, nous pensons utile
de lui présenter les étapes de la méthode et, pour chacune d’elles, les outils fournis par
Business Intelligence Studio.
Nous allons tour à tour construire trois types d’application. Nous commencerons
par un premier scénario de publipostage ciblé qui permettra de présenter les algorithmes
de classification. Nous présenterons également des scénarios de prévision, d’analyse
de panier et enfin de séquence clustering.
Ces exemples peuvent être réalisés par le lecteur s’il dispose de SQL Server
2008 version standard ou Enterprise avec Analysis Services, et les exemples modèles
AdventureWorks.
Le lecteur trouvera tous les outils nécessaires sur le site de l’auteur à l’adresse
www.buroformatic.com.
La création d’un modèle d’exploration de données commence par la création d’un
projet Analysis Services dans lequel nous créerons les sources de données en lien avec
les bases relationnelles ou OLAP.
Nous allons créer un nouveau projet Analysis Services que nous nommons
AdventureWorks DataMining.
Tableau 9.1 — Extrait de la vue permettant de nourrir le modèle d’exploration des données
English- Model Customer- Region Age Income- Calendar- Fiscal Month Order- Line- Quan- Amount
Product Key Group Year Year Number Number tity
Bikes Mountain- 11003 Pacific 38 High 2001 2002 7 SO43701 1 1 3 399,9900
100
Bikes Road-650 14501 North 68 High 2001 2002 7 SO43700 1 1 699,0982
America
Bikes Road-150 21768 North 59 High 2001 2002 7 SO43697 1 1 3 578,2700
America
Bikes Mountain- 25863 North 59 Moderate 2001 2002 7 SO43699 1 1 3 399,9900
100 America
Bikes Mountain- 28389 Europe 41 Low 2001 2002 7 SO43698 1 1 3 399,9900
100
Bikes Mountain- 11005 Pacific 40 High 2001 2002 7 SO43704 1 1 3 374,9900
100
Bikes Mountain- 11011 Pacific 42 Moderate 2001 2002 7 SO43705 1 1 3 399,9900
100
Chapitre 9. Le data mining
9.3 Créer le modèle d’une campagne ciblée 271
Les données sources sont maintenant définies. Nous allons construire le modèle de
publipostage ciblé.
Nous devons commencer par créer une nouvelle structure d’exploration de données
à partir de la base de données relationnelle. Un clic droit sur Structures d’exploration
de données permet de lancer l’assistant de création du modèle. Il serait également
possible d’établir un modèle basé sur un cube OLAP.
Nous choisissons tout d’abord l’algorithme MDT (Microsoft Decision Trees).
Figure 9.6 — Spécifier les types de tables. Ici vTargetMail représente le fichier des cas à analyser
Le formulaire des données d’apprentissage définit les clés et les colonnes à prévoir.
La clé est déterminée grâce au champ CustomerKey, lui-même défini en tant que
clé dans la source. Le champ à prévoir est BikeBuyer. En ce qui concerne les colonnes
en entrée, nous allons demander à l’assistant de nous suggérer les champs les plus
susceptibles d’entrer dans le processus prédictif.
Le bouton Suggérer permet de lister ces champs.
9.3 Créer le modèle d’une campagne ciblée 273
L’assistant effectue un choix parmi les types de données et les types de contenus. Il
est conseillé de vérifier les choix effectués par l’assistant. Complétez la sélection des
colonnes pertinentes en cochant les entrées désirées.
Donnons le nom Publipostage Ciblé à la structure d’exploration puis Decision_Tree
au modèle d’exploration.
Avant de traiter le modèle d’exploration, nous ajouterons deux modèles complé-
mentaires respectivement basés sur les algorithmes Microsoft Clustering et Microsoft
Naïve Bayes.
L’ajout s’effectue sans difficulté puisque le modèle de base (Decision Tree) fournit
les éléments aux deux autres modèles.
274 Chapitre 9. Le data mining
Figure 9.9 — Formulaire présentant les types de contenu (Continu, Discret ou Clé) et les types
de données des colonnes sélectionnées
Figure 9.11 — Ajout d’un nouveau modèle basé sur l’algorithme Naïve Bayes
Figure 9.12 — L’onglet Modèles d’exploration affiche les trois modèles qui participent à l’analyse
du cas « mailing ciblé »
Le modèle Naïve Bayes ne traite que des données discrètes. Il ignore ainsi les
données comme le revenu annuel ou l’âge du client qui sont considérés comme des
variables continues.
Nous procédons ensuite au déploiement des modèles et à leur traitement.
276 Chapitre 9. Le data mining
En suivant l’arborescence selon les nœuds les plus sombres, on observe que la
population des 39-53 ans est celle qui achète le plus de vélos (3 934 acheteurs). Parmi
cette population, on observe que les acheteurs sont ceux qui n’ont pas d’enfant au
foyer, qui ont un revenu supérieur à 26 000 € et qui n’habitent pas en Amérique du
Nord. Il est possible d’extraire cette population puis de copier la liste dans Excel ou
Word afin d’effectuer un publipostage.
278 Chapitre 9. Le data mining
Figure 9.15 — Fenêtre d’extraction d’un nœud. On observe que la colonne Bike Buyer
comprend acheteurs et non-acheteurs
Effectuez un filtrage sur Bike Buyer = 1 pour obtenir uniquement les acheteurs de
vélos.
Figure 9.16 — Le réseau de dépendance montre les liens qui ont un fort degré de dépendance
avec le critère Bike Buyer
Dans notre cas, il est aisé de constater que les liens les plus forts sont l’âge, le
nombre d’enfants au foyer, le revenu, le nombre de voitures possédées et la région. Ces
liens sont apparus dans l’ordre précité.
9.3 Créer le modèle d’une campagne ciblée 279
Figure 9.17 — Le modèle Naives Bayes présente uniquement les variables discrètes
Figure 9.18 — Légende d’exploration des données. La figure 9.18 montre la distribution des
acheteurs en fonction du nombre d’enfants au foyer (62,7 % des acquéreurs de vélo n’ont pas
d’enfants)
280 Chapitre 9. Le data mining
Figure 9.20 — L’onglet Discrimination d’attribut permet une comparaison deux à deux
On peut déduire du tableau qui précède que les acheteurs de vélos ne possèdent pas
d’auto alors que ceux qui n’achètent pas de vélos possèdent deux autos. Les acheteurs
de vélos ont un enfant et habitent la région Pacifique, etc. Plusieurs attributs peuvent
se retrouver avec des poids relatifs différents.
Dans le diagramme ci-après, le cluster 6 (en bas) contient la plus grande quantité
d’acheteurs de vélos. Un lien avec le cluster 1 apparaît comme très étroit.
Évaluer le modèle
Maintenant que nous avons mis en place nos trois modèles, nous devons les évaluer
afin de déterminer lequel est le meilleur pour prédire le profil d’acheteur. Pour cela,
nous allons appliquer successivement nos modèles sur une table de cas dont les résultats
sont déjà connus. Le but étant de comparer la capacité de prédiction de chaque
algorithme avec la réalité.
• Sélectionner une table de cas (différente de la table qui a servi à modéliser).
9.3 Créer le modèle d’une campagne ciblée 283
Figure 9.27 — Mappage des données du modèle de prévisions avec les champs de la table
d’entrée
SELECT
[TM Decision Tree].[Bike Buyer],
t.[ProspectAlternateKey],
PredictProbability([bike buyer])
From
[TM Decision Tree]
PREDICTION JOIN
OPENQUERY([Adventure Works DW],
’SELECT
[ProspectAlternateKey],
[MaritalStatus],
[Gender],
[YearlyIncome],
[TotalChildren],
[NumberChildrenAtHome],
[Education],
[Occupation],
[HouseOwnerFlag],
[NumberCarsOwned]
FROM
[dbo].[ProspectiveBuyer]
’) AS t
ON
[TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
[TM Decision Tree].[Gender] = t.[Gender] AND
[TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
[TM Decision Tree].[Total Children] = t.[TotalChildren] AND
[TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
[TM Decision Tree].[Education] = t.[Education] AND
[TM Decision Tree].[Occupation] = t.[Occupation] AND
[TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
[TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned]
Le résultat de la requête peut être envoyé dans Excel puis traité en ne sélectionnant
que les acheteurs potentiels c’est-à-dire Bike Buyer = 1.
Le code ProspectAlternate identifie précisément le client. L’expression permet de
donner la précision de la prédiction.
Dans Excel, nous trions la colonne Expression (Probabilité) en mode décroissant.
Trions également la colonne Bike Buyer. Nous en déduisons les 1 041 acheteurs
potentiels sur une population de 2 059.
288 Chapitre 9. Le data mining
Notre publipostage portera sur tout ou partie de cette population d’acheteurs (Bike
Buyers = 1).
9.4 CONCLUSION
Ce chapitre nous a montré les nombreux assistants fournis par Analysis Services. Nous
espérons avoir convaincu le lecteur que le data mining n’est pas réservé aux grandes
entreprises qui disposent d’un large volume de données.
Il n’est pas non plus indispensable d’être statisticien pour exploiter ces nouvelles
possibilités. Les entreprises qui se donneront la peine d’exploiter les nombreuses
facettes de cet outil découvriront de nouvelles pistes jusque-là encore inexplorées.
10
Reporting Services
Lors de nos formations, nous aimons présenter la phase de reporting comme la dernière
et la plus importante des étapes de ce long et difficile processus de collecte, stockage,
transformation et manipulation des données. Cette dernière étape représente celle
qui aux yeux des utilisateurs a le plus de valeur car elle permet de donner du sens
aux montagnes de données qui s’accumulent chaque jour. Les rapports jouent un rôle
essentiel dans la compréhension des clients, du marché et plus globalement de la
performance de l’entreprise.
Dans sa troisième version, Reporting Services 2008 fournit une plate-forme de
reporting sophistiquée offrant aux managers des outils d’analyse de volumes importants
de données avec une grande efficacité. La plate-forme native de Reporting Services
permet de partager des rapports avec le personnel, les clients et les partenaires de
l’entreprise.
Ce chapitre a pour ambition de présenter au lecteur un panorama assez large des
fonctionnalités de Reporting services 2008 en pointant les améliorations de la dernière
version par rapport à la version 2005. De tous les modules de la Business Intelligence,
SSRS 2008 est de loin celui qui a subi la plus forte évolution. L’intégration native de
la technologie Dundas (graphes, jauges et cartes) et une interface de développement
nouvelle avec l’introduction d’un nouveau concept (tableau matriciel) permet à
Reporting Services de rattraper son retard par rapport aux outils concurrents.
290 Chapitre 10. Reporting Services
Rapports internes
• Rapports « Maison » (vente, finance, DRH).
• Administrables, accessibles via un portail ou intégrés aux solutions d’entreprise.
Rapports embarqués
• Afficher des rapports dans n’importe quelle application d’entreprise (ERP, CRM)
ou analytique.
• Architecture extensible et flexible.
Rapports collaboratifs
• B2B, B2C, échanges inter ou intra-entreprises, etc.
Rapports externes
• Publier des rapports via extranet, Internet.
• Isolation de données, sécurité extensible.
Sécurité Exportation
BIDS Report Designer (concepteur de rapport) est hébergé dans l’interface com-
mune de Visual Studio BI. Cet outil est destiné aux développeurs et utilisateurs
avancés. Il s’agit de la version la plus complète de Reporting services.
Report Builder 1.0 (Générateur de rapports ad hoc) est un outil client qui permet
aux utilisateurs non-programmeurs de définir et déployer des rapports « ad hoc » sans
aucune connaissance de SQL Server. L’utilisation de Report Builder est conditionnée
par la mise à disposition d’un modèle sémantique (proche de l’Univers de Business
Objects). Ce modèle sémantique est créé à l’aide de Visual Studio (BIDS).
Report Builder 1.0 stocke les définitions de rapports dans la base de données Report
Server. Ces rapports peuvent ensuite être modifiés, complétés et publiés dans le portail
Web par l’utilisateur lui-même. Cette version n’a pas été modifiée depuis SQL Server
2005.
Report Builder 2.0 (Générateur de rapports ad hoc). Cette version a pour
vocation de remplacer à terme Report Builder 1.0. Cet outil s’adresse à des utilisateurs
avancés. Visuellement cet outil se rapproche de l’interface Office 2007 avec la mise
à disposition du ruban. L’avantage de cette version réside dans le fait qu’elle est
totalement interchangeable avec Report Designer 2008. Un rapport développé avec
BIDS Report Designer 2008 peut être repris par Report Builder 2.0 et réciproquement.
Seules les interfaces diffèrent.
10.1 Qu’est-ce que Reporting Services ? 295
Le ruban de Report Builder 2.0 apporte des fonctionnalités nouvelles telles que les
Jauges et le tableau matriciel imbriqué (Tablix).
Visual Studio Report Designer. Cet outil est réservé aux développeurs .NET. Il
inclut les fonctionnalités de base de Report Designer. Cet outil est distribué au travers
du contrôle Report Viewer inclus dans Visual Studio 2005/2008.
296 Chapitre 10. Reporting Services
Afin d’illustrer les différents concepts abordés dans le paragraphe précédent, nous
allons utiliser le rapport de ventes créé pour la société AdventureWorks, puis nous le
publierons sur le serveur de rapports. Enfin, nous le consulterons via le Web.
Le rapport final est le suivant :
Chaque zone du tableau et des graphiques étant cliquable il est possible d’affiner
l’observation en effectuant un focus sur tel ou tel résultat.
Dans notre exemple, un simple clic sur le nom d’un employé permet d’effectuer un
appel à un rapport lié avec passage automatique de paramètres.
10.2 Anatomie d’un rapport 297
Figure 10.7 — Rapport lié auquel le contexte du rapport appelant a été fourni
(ici le nom du commercial)
Dans SSRS 2008 les types table, liste et matrice sont considérés comme un unique objet
de type tablix.
Figure 10.8 — La boîte à outil de SSRS 2008 fait apparaître les différents types de région.
Observez également le nouvel outil Jauge
Figure 10.11 — Le concepteur de requête offre une assistance à la construction des requêtes
Les valeurs disponibles et les valeurs par défaut des paramètres peuvent être :
1. spécifiées manuellement ou ;
2. obtenues à partir de requêtes.
10.2 Anatomie d’un rapport 301
Dans la figure 10.15 on observe deux axes différents en colonnes. (Par année et
par Territoire).
Il est possible d’ajouter autant de groupes adjacents que souhaité aussi bien en
lignes qu’en colonnes.
Le champ Growth en % permet de calculer un taux de croissance d’un trimestre
sur l’autre.
Voici la formule à saisir :
=Code.GetGrowth(Sum(Fields!InternetSalesAmount.Value),
Previous(Sum(Fields!InternetSalesAmount.Value), "CalendarQuarter"))
On utilise la fonction Previous basée sur l’étendue (scope) CalendarQuarter. Cela
permet de calculer une progression d’un trimestre à l’autre.
Le code appelé est stocké dans le rapport de la figure 10.18.
10.2 Anatomie d’un rapport 305
Figure 10.18
Voici le code :
• Les jauges qui ajoutent un tableau de bord et des fonctionnalités associées aux
rapports.
Lorsque les rapports sont publiés sur le serveur de rapports, il est indispensable de
procéder à un certain nombre de réglages supplémentaires. Généralement, les rapports
font l’objet d’une mise en sécurité visant à permettre la consultation uniquement
par les personnes autorisées. Les utilisateurs, de plus en plus exigeants, souhaitent
obtenir sans délai les informations sur leur activité dans l’entreprise. Ils désirent
également recevoir périodiquement leurs informations métier sous forme électronique
ou exécuter eux-mêmes les traitements selon leurs besoins.
Les utilisateurs et administrateurs accèdent au gestionnaire de rapports à l’adresse
suivante : http://localhost/reports.
Le gestionnaire de rapports met à disposition de l’administrateur un certain nombre
d’outils permettant de répondre à ces contraintes. Passons-les en revue.
10.3.1 La sécurité
Reporting Services met en place plusieurs niveaux de sécurité.
• Le gestionnaire de rapports web requiert une authentification Windows.
• Les utilisateurs autorisés à accéder au gestionnaire de rapports doivent faire
partie du groupe des administrateurs (BUILTIN\Administrateurs).
SQL Server Reporting Services utilise l’autorisation basée sur les rôles et l’au-
thentification Windows pour déterminer qui est habilité à effectuer des opérations
et à accéder aux éléments d’un serveur de rapports. L’autorisation basée sur les rôles
catégorise en rôles l’ensemble des actions qu’un utilisateur ou groupe peut effectuer.
Reporting Services est installé avec une attribution de rôle unique qui accorde
l’accès au serveur de rapports aux membres du groupe des administrateurs locaux. Un
administrateur local doit créer des attributions de rôles supplémentaires pour rendre
le serveur de rapports accessible aux autres comptes d’utilisateur et de groupe. Dans
SSRS 2008 les rôles sont créés grâce à Management studio. L’attribution de rôles
s’effectue via le Gestionnaire de rapports.
Figure 10.22
Figure 10.23
Le tableau 10.3 fournit des informations détaillées sur chaque type de connexion.
Étapes de paramétrages
Tableau 10.3
Connexion Description
1 L’utilisateur se connecte Les utilisateurs et les applications se connectent à un
au serveur de rapports serveur de rapports par l’intermédiaire de requêtes
http.
Par défaut, les utilisateurs sont authentifiés au moyen
de leurs informations d’identification de domaine et de
la sécurité intégrée Windows.
D’autres modes d’authentification peuvent être
déployés.
Authentification par formulaire (Common logon)
Mode intégré SharePoint
Une fois l’utilisateur authentifié, le serveur de rapports
vérifie s’il existe des autorisations qui octroient l’accès
au contenu et aux opérations du serveur de rapports.
Les autorisations sont définies dans des attributions de
rôles qui décrivent les tâches qu’un utilisateur peut
accomplir. Chaque utilisateur qui se connecte à un
serveur de rapports doit posséder les attributions de
rôles définies sur le compte qu’il utilise pour se
connecter au serveur de rapports.
2 Le serveur de rapports Le serveur de rapports se connecte à la base de
se connecte à la base données système (en général la base SQL
de données du serveur ReportServer) en vue de stocker et d’extraire du
de rapports contenu, l’état du serveur et des métadonnées.
Le serveur de rapports peut se connecter à sa base de
données à l’aide de l’un des types de comptes
suivants :
– Utiliser le compte de service. Il s’agit de la valeur par
défaut.
– Utiliser un compte de domaine.
– Utiliser une connexion SQL Server.
3 Le serveur de rapports Pour récupérer des données utilisées dans un rapport,
se connecte à des sources un serveur de rapports doit se connecter à d’autres
de données externes serveurs qui abritent des sources de données externes
(Oracle, SQL, DB2...). Lorsque le rapport ou le modèle
s’exécute, le serveur de rapports ouvre une connexion
au serveur ou à l’ordinateur, fournit la requête, attend
que le dataset soit retourné, puis ferme la connexion
avant de passer à l’étape de traitement suivante.
tâches de chacune d’elles ou vous pouvez créer une définition de rôle qui prend en
charge une autre combinaison de tâches.
Figure 10.25 — Les rôles de sécurité sont définis dans Management Studio
Rôles système
Une définition de rôle système contient une collection nommée de tâches effectuées
sur tout le site (c’est-à-dire, la racine virtuelle qui héberge l’environnement du serveur
de rapports) plutôt que sur un élément individuel. Les définitions de rôles sont
attribuées à un utilisateur ou à des groupes pour créer une attribution de rôle. Les
tâches contenues dans la définition de rôle spécifient les opérations que peuvent
effectuer l’utilisateur ou le groupe.
312 Chapitre 10. Reporting Services
Reporting Services fournit cinq rôles utilisateur standards pour lesquels il est
nécessaire d’attribuer un compte utilisateur ou groupe Windows (tableau 10.4).
Par exemple, un utilisateur auquel il a été attribué un rôle de serveur de publication
sera autorisé à publier, créer, voir et supprimer des rapports. En revanche, il ne sera
pas autorisé à créer de nouveaux rôles.
10.3 La gestion des rapports 313
Dans la plupart des cas, les droits d’accès aux différents dossiers et objets devront
faire l’objet d’une attribution spécifique de la part de l’administrateur. Il existe une
exception à cette règle : l’administrateur local dispose de toutes les autorisations. Un
utilisateur qui appartient au groupe local Administrateurs sur le serveur qui héberge
Reporting Services disposera de tous les droits.
Si vous supprimez l’attribution de rôle pour BUILTIN\Administrateurs et les
membres du groupe administrateur local, vous continuerez à disposer des droits de
gestion de tous les dossiers et objets.
Les tâches et les rôles ont été définis. Il convient maintenant d’attribuer des
utilisateurs ou groupes d’utilisateurs Windows dans chaque rôle.
Dans le champ Nom d’utilisateur ou de groupe, vous devez entrer un nom d’utilisa-
teur ou groupe Windows. Il est possible également de préfixer le nom d’utilisateur par
le nom de domaine tel que DOMAIN\Utilisateur.
Figure 10.29 — Le dossier Racine est autorisé aux utilisateurs Stagiaire avec le rôle Lecteur et
Administrateur avec le rôle Gestionnaire de contenu
318 Chapitre 10. Reporting Services
Figure 10.31 — L’onglet Propriété du rapport permet de modifier la sécurité d’accès au rapport
Figure 10.34 — Le lien Sécurité de l’onglet Propriétés du dossier racine fait apparaître
les utilisateurs Windows et les rôles associés
Figure 10.35 — Le menu General de l’onglet Propriétés du rapport permet de créer un rapport
lié avec une sécurité différente
• Créer une capture instantanée du rapport lorsque vous cliquez sur le bouton
Appliquer de cette page : cliquez sur ce bouton pour rendre le cliché disponible
avant l’heure de début planifiée.
• Délai d’expiration de l’exécution des rapports : spécifie si le traitement d’un rapport
doit être interrompu après un certain nombre de secondes. Si vous choisissez le
paramètre par défaut, le paramètre du délai d’expiration spécifié dans la page
Paramètres du site est utilisé pour le rapport.
Figure 10.39 — L’onglet Historique du rapport Company Sales fournit la liste des instantanés
directement sur les clients, les commandes, les ventes, etc. Certains raisonnent au
niveau concept métier, ou « domaine », et souhaitent exprimer leurs requêtes à ce
niveau plutôt qu’au niveau du schéma logique.
Report Builder permet de décrire et de mettre en correspondance les entités
« métier » avec la couche de schéma logique. Cette méthode porte le nom de SMDL
(Semantic Model Definition Language).
Report Builder permet de créer des rapports de type tabulaire, matriciel ou
graphique. La création d’un rapport nécessite au préalable la mise à disposition d’un
modèle de rapport. Ce modèle est conçu grâce à l’assistant de création d’un modèle de
rapport. Les modèles de rapport portent l’extension.smdl.
Lors de la publication du modèle sur le serveur, de nombreuses entités et champs
dérivés sont créés. Le tableau 10.11 donne la liste des options disponibles lors de la
génération du modèle de rapport.
Figure 10.42 — Le formulaire liste les champs source repris dans le modèle
Lorsque le rapport est défini, il peut être enregistré sur le serveur de rapports. Il
devient donc disponible aux utilisateurs autorisés.
10.4 Reporting à la demande avec Report Builder 329
Lorsque le rapport est prêt, il est nécessaire de l’enregistrer sur le serveur de rapports
afin qu’il soit disponible dans Reporting Services.
10.5 Conclusion 331
10.5 CONCLUSION
Les managers opérationnels disposent de peu de temps pour se former aux techniques
de la création de rapports. Les informaticiens joueront pleinement leur rôle en prépa-
rant des rapports utiles aux personnels de l’entreprise. La facilité de compréhension
des rapports et leur mise à disposition rapide permettront aux opérationnels de suivre
les indicateurs essentiels et ainsi de partager avec la direction, la vision de l’entreprise.
11
L’ analyse de données avec
Excel
Dans le chapitre précédent, nous avons montré comment Reporting Services permet
d’accéder à toutes les sources d’informations (relationnelles et OLAP) et d’en
découvrir le sens. SSRS offre de nombreuses formes de restitution de l’information :
listes, graphes, tendances, alertes.
Report Builder offre une certaine autonomie au manager pour accéder aux
informations dont il a besoin. Malgré de nombreux efforts déployés par l’éditeur,
Report Builder nécessite un minimum de formation. Or, les managers ont peu de
temps à consacrer à leur formation aux techniques de l’information.
Microsoft avait depuis longtemps introduit la notion de rapport de masse grâce à
une fonctionnalité que l’on trouve dans Excel : le tableau croisé dynamique. Excel
est depuis longtemps l’outil d’analyse le plus répandu et n’a pas besoin d’être présenté
aux managers.
Depuis le début des années 2000, Microsoft a introduit de nouvelles fonctionnalités
à Excel permettant ainsi d’accéder à des cubes OLAP. Cette technologie a offert de
nouvelles opportunités d’analyse. Excel peut également effectuer des requêtes sur
l’entrepôt de données.
Excel offre ainsi de nombreuses possibilités d’analyse : accès au datawarehouse via
MS Query, accès aux cubes OLAP via les tableaux croisés dynamiques.
Une conséquence bénéfique de l’existence du datawarehouse réside dans la
centralisation naturelle des données de l’entreprise. Excel ne doit donc plus être
un lieu de ressaisie manuel mais un outil d’analyse accédant aux données stratégiques.
Dans ce chapitre nous présenterons les tableaux croisés dynamiques d’Excel
accédant aux cubes OLAP 2000 ou 2008. Depuis la version d’Excel 2000 le mode
opératoire d’accès à un cube OLAP est le même. La version Excel 2007 (Office 12)
334 Chapitre 11. L’ analyse de données avec Excel
ne déroge pas à la règle. Elle apporte cependant une fonctionnalité liée à SSAS 2008 :
les indicateurs clés de performance (KPI).
Microsoft a également mis à disposition des utilisateurs d’Excel un complément
nommé Office Excel pour SQL server Analysis services. Cet outil apporte des
fonctionnalités qui n’existent pas dans les tableaux croisés dynamiques, en particulier
l’accès simultané à plusieurs cubes, et les fonctionnalités d’écriture dans un cube
OLAP. Nous présentons cet outil dans ce chapitre.
Grâce aux Office Web Components (OWC), Microsoft offre la possibilité d’encap-
suler des tableaux et graphes dynamiques dans des pages web. Cette fonctionnalité
est très prisée des utilisateurs nomades qui peuvent ainsi accéder à leurs analyses sur
Excel via un navigateur web.
Avec PerformancePoint 2007, Microsoft offre une ouverture nouvelle aux mana-
gers soucieux de gouvernance d’entreprise. Les indicateurs clés de l’entreprise sont
présentés sous forme de tableaux de bord synthétiques. BSM s’intègre naturellement
dans un portail maison, Sharepoint Portal.
Depuis avril 2006, la société Proclarity, spécialisée dans les outils de restitution sur
plateformes MS OLAP, a été rachetée par Microsoft. Nous montrons l’apport de cette
société dans la chaîne décisionnelle de Microsoft.
La nouvelle source OLAP est maintenant créée. Il convient de choisir cette source
en entrée du tableau croisé.
336 Chapitre 11. L’ analyse de données avec Excel
Le tableau croisé peut être créé dans la feuille Excel existante ou dans une nouvelle
feuille. Le positionnement du tableau dans la feuille doit également être précisé. Dans
la figure 11.4 le tableau croisé sera créé dans la feuille existante en cellule A3.
L’assistant fournit un modèle de rapport Vierge que l’utilisateur devra compléter.
L’espace de travail est composé de régions qui ont chacune un rôle spécifique.
Les champs de ligne et de colonnes reçoivent les attributs ou hiérarchies de
dimensions. Voir figure 11.5.
Figure 11.5 — L’assistant propose trois axes dimensionnels et une zone réservée aux mesures
Dans la figure 11.6 la sélection d’un seul pays France, aura pour conséquence de
filtrer la source de données sur ce critère. On observe sur la figure 11.7 le pays France
sur la zone champs de page.
Figure 11.7 — Le tableau croisé présente les ventes effectuées sur le territoire français,
par catégorie de produit (lignes) et par années calendaires (colonnes)
La figure ci-dessus montre une sélection des 10 meilleures ventes (Total sales
amount) triées en ordre décroissant.
338 Chapitre 11. L’ analyse de données avec Excel
Figure 11.9 — Liste des dix meilleures ventes de vélos (Road Bikes) de 2001 à 2004
Figure 11.11 — La nouvelle interface des tableaux croisés dynamiques d’Excel 2007
Figure 11.12 — OLAP hors connexion permet de copier le cube sur le poste client
11.1 L’ analyse ad hoc grâce aux tableaux croisés dynamiques 341
Les paramètres constitutifs du tableau croisé sont transférés dans le cube local.
Il est à noter que Microsoft Query, inclus dans Excel, dispose d’un assistant
permettant de créer des cubes à partir d’une source relationnelle.
Depuis la version 2000, Excel permettait déjà de réaliser des cubes. Cette fonc-
tionnalité reste rudimentaire et ne s’applique qu’à des sources de données peu
volumineuses. Cette fonctionnalité ne doit pas occulter la recommandation majeure
de la Business Intelligence : partager un même et unique référentiel dans l’entreprise.
Ces recommandations étant faites, nous présentons succinctement les étapes qui
permettent de créer un cube avec Excel.
Dans MS Query aller dans Fichier puis Création de cube OLAP.
La requête porte une extension.oqy et est stockée par défaut dans le répertoire
requêtes d’Excel : C :\Documents and Settings\Administrateur\Application Data\
Microsoft\Requêtes\AdventureWorks.cub.
Le tableau croisé dynamique d’Excel est l’outil permettant de relire un cube stocké
selon ce format.
Figure 11.17 — Le menu Analyse des cubes du complément Excel pour OLAP
Plusieurs filtrages peuvent être associés. Les navigations drill down et drill up sont
disponibles. À la différence du tableau croisé dynamique, le tableau peut être scindé.
Des lignes et colonnes peuvent y être ajoutées.
Figure 11.20 — La sélection du choix Ligne, colonne et filtre de page crée un rapport composé
de quatre sections
346 Chapitre 11. L’ analyse de données avec Excel
Les managers nomades qui désirent accéder régulièrement à leurs tableaux trouveront
appréciable d’utiliser des tableaux croisés dynamiques sur le Web. Si le composant
OWC n’est pas installé sur le poste client, le téléchargement du contrôle ActiveX
s’effectue lors du premier accès au cube.
L’utilisateur accède au cube OLAP via une interface web. L’outil d’interrogation
des cubes via le Web est similaire au tableau croisé dynamique intégré à Excel.
En pratique, le concepteur intègre le composant OWC (tableau croisé dynamique)
dans une page web puis établit les connexions vers les sources de données.
Dans FrontPage il est possible de créer un tableau croisé dynamique (figure 11.22).
Par la suite, l’utilisateur définit lui-même les axes d’analyse, filtre et trie les données
selon ses propres analyses.
11.4 CONCLUSION
De nombreux outils étaient déjà intégrés dans Office 2000 permettant d’effectuer
toutes sortes de requêtes et d’analyses. MS Access et MS Excel sont largement
répandus dans les entreprises. De nombreuses PME/PMI ont mis en place des systèmes
décisionnels efficaces grâce à de tels outils.
11.4 Conclusion 349
Les limitations de tels outils ont été évoquées plus haut. Grâce à SQL server 2008
et Analysis services, Microsoft a su concilier la puissance et la robustesse d’un système
centralisé connectés à des outils fortement répandus auprès des managers d’entreprises.
Pour les utilisateurs nomades désireux d’effectuer tous types d’analyse tout en
restant connecté à leur entreprise, Microsoft ne disposait pas de solution satisfaisante.
Depuis l’acquisition de la société Proclarity ce vide est comblé. Nous verrons dans le
chapitre suivant les différentes solutions d’analyse offertes via le web.
12
L’analyse de données
sur le Web
Reporting Services, totalement orienté Web, offre une lecture statique des données
de l’entrepôt et des cubes OLAP. Excel, grâce aux OWC permet une lecture plus
dynamique des mesures et axes dimensionnels. Bien qu’Excel soit l’outil d’analyse le
plus répandu et le mieux maîtrisé par les managers, il n’en reste pas moins que certains
prérequis sont nécessaires : une licence Excel est nécessaire sur chaque poste utilisateur
et le composant OWC doit également être installé pour une lecture sur le Web.
Si l’on désire accéder à des informations d’analyse dans un contexte extranet, il
est indispensable de disposer d’outils qui ne nécessitent aucune installation côté poste
client.
Afin de répondre à cette attente, Microsoft a acquis cette technologie en avril 2006,
auprès de la société Proclarity. La vocation de Proclarity fut pendant des années de
développer des outils de restitution autour des outils SQL Server 2000/2008 et du
portail Sharepoint.
Microsoft annonce que les outils développés par Proclarity feront partie intégrante
de la suite décisionnelle aux côtés de Business Scorecard Manager. On y trouve les
fonctionnalités exposées dans les sections suivantes.
352 Chapitre 12. L’analyse de données sur le Web
Figure 12.1 — Le logiciel Proclarity for Business Scorecard. Rassemble les indicateurs clés
de l’entreprise
La vue en perspective (figure 12.4) est utilisée pour mettre en évidence les
relations entre de nombreuses représentations de données. Elle permet d’effectuer
une analyse sectorielle, d’expliciter d’importants volumes de données et d’établir des
correspondances entre plusieurs mesures simultanément au sein d’une hiérarchie.
Lorsque vous déplacez les règles mobiles statistiques, vous pouvez vous concentrer
sur un pourcentage donné de la valeur totale. Vous pouvez, par exemple, déplacer la
règle pour afficher les quatre-vingts premiers pour cent du chiffre d’affaires et 80 %
des quantités.
Figure 12.4 — Vue en perspective permettant de comparer les quantités vendues sur Internet
avec le montant des ventes (chiffre d’affaires)
Figure 12.6 — Rapport stocké sur la plate-forme analytique permettant une navigation
dans un cube OLAP sur le Web
L’onglet Data Layout permet de disposer les mesures et les dimensions sur la surface
du dessin.
12.2 Proclarity Analytics Server (PAS) 357
L’onglet View permet de choisir le type de graphe. L’onglet Sort effectue des tris
sur les données. L’onglet Filter autorise des filtres sur les sources de données ;
Ces onglets sont détaillés dans les figures 12.11 et suivantes.
L’interface d’administration est composée de deux parties : la gauche présente les
composants tels que les librairies et les rôles, la droite fournit les détails des répertoires.
Le lecteur pourra découvrir par lui-même le mode de fonctionnement de cet outil
en se connectant sur le site de l’auteur www.buroformatic.com.
Le serveur Proclarity agit comme une sorte de portail intégrant des rapports
d’origines différentes telles que Reporting Services. La figure 12.9 montre l’intégration
d’un Rapport des ventes élaboré avec Reporting Services dans une interface Proclarity.
Les outils disponibles dans l’interface web sont nombreux. La figure 12.10 montre
une sélection de sets (ensemble de données). Les boutons ADD ou Remove permettent
d’ajouter ou de retirer les sélections.
L’onglet Navigation
Sur le web il existe deux modes de navigation : standard et Professional. Le mode
standard ne nécessite aucun ajout ou téléchargement de contrôle activeX. Le mode
Professional n’est disponible que si l’application Proclarity Professional est installée sur
le poste client.
Dans la même interface web, il est possible de recourir à tous types de navigation
(figure 12.11) tels que Drill down, Drill Up, Expand (développer), Show only (sélection-
ner un membre seulement) ou Hide (cacher tel ou tel membre de dimension).
L’onglet View
L’onglet View permet de choisir les types de graphiques, d’ajouter des options de
totalisation par ligne et colonnes ou de supprimer les hiérarchies dimensionnelles
(figure 12.12).
L’onglet Sort permet de trier toute colonne en ordre ascendant ou descendant tout
en préservant les groupes hiérarchiques.
L’onglet Filter permet de sélectionner ou cacher des lignes selon les critères habituels :
les n meilleurs, les x valeurs les plus basses. Les valeurs au-dessus, au-dessous ou entre
des bornes. Il est possible de fournir les valeurs en pourcentages ou en sommes de
mesures.
12.3 Dashboard Server 361
L’envoi par mail d’un rapport au format PDF est également possible grâce à
la fonction imprimer. La figure 12.13 montre les différentes options d’envoi de
documents (Imprimante, Excel, Messagerie électronique, serveur PAS etc.)
Les utilisateurs qui disposent d’une version Proclarity Professional installée sur le
poste peuvent aussi créer et publier de nouveaux rapports sécurisés.
PAS gère toutes les connexions et les droits d’accès aux cubes. Dans un environne-
ment de clusters, PAS permet un accès simultané de plusieurs milliers d’utilisateurs.
Les techniques de caching optimisent les performances.
Figure 12.14 — L’interface de Proclarity Dashboard offre les fonctionnalités d’un portail
Figure 12.15 — Intégré dans Sharepoint Portal, tableau de bord faisant apparaître les indicateurs
clés de performance
Concepts applicatifs
Les tableaux de bord sont généralement constitués de scorecards et de rapports
assemblés dans un site SharePoint. Ces tableaux fournissent aux organisations une
vue unifiée de la performance au travers d’espaces métier complémentaires. Nous
renvoyons le lecteur au chapitre 2.2 de cet ouvrage afin de revoir les perspectives
stratégiques de l’entreprise définies par MM Norton & Kaplan dans le modèle unifié :
le balanced scorecard ou tableau de bord équilibré.
366 Chapitre 12. L’analyse de données sur le Web
Figure 12.18 — Le balanced scorecard est généralement composé des axes (Financier, Clients,
Processus, Ressources humaines) et complété de la carte stratégique
368 Chapitre 12. L’analyse de données sur le Web
12.5 CONCLUSION
• Des prises de décision collaboratives – On l’a vu, l’analyse collaborative
commence par l’organisation de l’information en un point d’accès unique
accessible à tous les utilisateurs.
Le portail collaboratif permet également d’imposer une vision unique des indi-
cateurs clés et des métriques, et de lier la stratégie à l’exécution opérationnelle.
Les échanges sont ainsi facilités autour de la compréhension de ces métriques et
de leur impact sur les performances de l’entreprise.
• Une information fidèle à la réalité – Au-delà de la vision chiffrée issue du
système d’information, il est important d’associer des informations de différentes
natures, qui peuvent être apportées par l’ensemble des employés concernés.
Il s’agit de présenter des éléments d’informations qualitatives qui donnent à
l’utilisateur une vision transversale de la situation. L’utilisateur peut apporter
son analyse personnelle. Les commentaires et documents renforcent l’efficacité
des jugements et des actions à engager.
• De l’analyse à l’action – Piloter et analyser en profondeur les leviers de la
performance est un des fondements des solutions décisionnelles. Toutefois, leur
efficacité devient relative lorsqu’il s’agit de prendre des actions pour corriger une
situation. C’est précisément l’objectif de la Business Intelligence collaborative
qui permet d’améliorer la qualité des actions engagées et d’accélérer leur mise
en œuvre. Initier des plans d’actions, créer des espaces collaboratifs autour
d’un objectif critique et gérer les processus autour de workflows donne enfin à
l’utilisateur de vrais leviers pour agir.
13
Passez à l’action !
Tous les projets ne se ressemblent pas et tous les chefs de projets sont différents.
Commençons par le premier constat. La gestion d’un projet décisionnel (BI)
est différente de celle d’un projet traditionnel car elle implique un grand nombre
de technologies différentes, tant sur le plan logiciel que matériel. En outre, les
projets traditionnels de développement de logiciels impliquent une méthodologie
de développement linéaire, alors que les projets de BI exigent une approche itérative.
L’approche itérative débute par l’étude des besoins, l’ébauche du modèle analytique, sa
mise à disposition auprès des utilisateurs et les corrections qui s’imposent en fonction
de l’adéquation des résultats obtenus par rapport à ceux attendus et des contraintes
d’évolution du métier.
Les projets BI exigent également de l’équipe projet d’avoir une plus grande
interaction avec un large périmètre fonctionnel, rassemblant des interlocuteurs
compétents en systèmes d’information ainsi que des analystes et managers.
Pour réussir dans le domaine de la BI, une équipe de projet doit être composée
de membres ayant une forte composante métier conjuguée à une bonne compétence
technique.
Ces contraintes exigent souvent une connaissance approfondie sur le sujet traité
(finance, marketing, achats, etc.).
Naturellement, la maîtrise des technologies essentielles telles que l’intégration de
données, la modélisation ou l’analyse d’entreprise est indispensable.
372 Chapitre 13. Passez à l’action !
En plus de l’expérience pratique des projets BI, un chef de projet efficace doit
contrôler l’étendue du projet et de son budget. Ceci exige de sa part qu’il surveille
activement l’avancement des tâches, les livrables, le temps passé et les dépenses
occasionnées par chaque membre de l’équipe projet. En contrôlant activement tous
ces points, le chef de projet peut déterminer l’impact d’une demande de changement
et les risques de dépassement de budget.
13.1.3 Leadership
Tout le monde ne dispose pas des qualifications ou des qualités personnelles nécessaires
au contrôle d’un projet informatique. Un chef de projet doit pouvoir être source
d’inspiration et forcer le respect, vis-à-vis des membres de l’équipe projet mais
également vis-à-vis des commanditaires et des représentants de la communauté
d’utilisateur. Cela exige du chef de projet de pouvoir gérer les attentes de ceux à
qui il rapporte directement aussi bien que de ceux qui lui rapportent directement.
Le chef de projet doit construire une équipe formée d’individus qui possèdent
différentes qualifications et si possible complémentaires. Développer une équipe aux
compétences croisées représente un réel défi parce que les membres sont souvent issus
de disciplines et de milieux différents. Cela exige du leader une volonté d’unir des
membres pour le bien commun de l’équipe et le succès du projet.
Le chef de projet doit également maîtriser la gestion des conflits et l’art de la
négociation. On constate cependant que beaucoup de dirigeants manquent tout
simplement de compétences dans l’art de manager les hommes.
Dans le monde de la BI, il convient d’observer que des investissements sont néces-
saires à la construction d’un environnement dans lequel les données se transforment
en connaissance. Mais le réel bénéfice provient de l’action générée par la connaissance.
Cela signifie simplement que chaque organisation ne fait pas simplement que produire
de l’information. Elle dispose de méthode pour extraire de la valeur de la connaissance,
agir en conséquence et mesurer l’efficacité de son action. Il s’agit là non pas d’un
problème technique mais bien d’organisation. Identifier une connaissance « active »
est une chose, mais réaliser l’action requise nécessite une organisation agile et
fortement réactive.
Les gestionnaires évaluent sans cesse les coûts comparés aux avantages de telle ou
telle option. La compréhension et la quantification des coûts comparés aux bénéfices
sont nécessaires afin de répondre à une telle question.
De plus en plus souvent, les chefs de projet sont invités à évaluer le coût relative-
ment à l’avantage d’entreprendre un projet de Business Intelligence. Plusieurs mesures
financières peuvent être retenues telles que le taux interne de rendement (IRR), la
valeur nette (NPV), la période de remboursement et le retour sur l’investissement
(ROI). Chacune de ces mesures présente des avantages. Cependant, une mesure
généralement admise est le ROI.
Les composants de cette stratégie comportent une analyse des coûts, un accrois-
sement des revenus liés à cette activité, et d’autres bénéfices. On peut distinguer les
points suivants :
• les coûts fixes liés à l’acquisition de l’infrastructure (achats du datawarehouse et
des licences de base) ;
• les coûts variables associés à l’activité. (achat des licences des outils de restitu-
tion) ;
• les coûts induits par la maintenance de l’activité ;
• la valeur des bénéfices dérivés des actions induites par la connaissance ;
• le modèle de valeur attendu de cette activité ;
• la détermination à rentrer dans ses frais tout en proposant un modèle de
profitabilité.
Les coûts directs sont des dépenses réelles qu’une organisation peut clairement
identifier. Ils incluent le prix d’achat du logiciel, des honoraires de maintenance, des
dépenses de développement générant des coûts de main-d’œuvre internes et externes.
S’ajoute à cela des coûts de logiciels et de formation des utilisateurs.
Les coûts indirects sont plus difficiles à identifier ou mesurer. Puisqu’ils se pro-
duisent habituellement après le démarrage de l’application, ils ne sont pas souvent
inclus dans le coût de mise en œuvre d’un projet décisionnel. Cependant, ces coûts
indirects sont une composante importante du coût global. Ils intègrent la mise à niveau
des postes client, des infrastructures de réseau, la mise à niveau des logiciels, le soutien
des utilisateurs et leur formation aux nouvelles applications. La compréhension du
coût total est impérative pour que le projet ne sorte pas du cadre du budget.
376 Chapitre 13. Passez à l’action !
Le chiffrage des différents composants du projet tels que les coûts de logiciel et des
honoraires de maintenance et le coût moyen de configuration peuvent être obtenus
auprès de ressources externes. Les coûts estimatifs de déploiement de l’application
feront partie intégrante du calcul du ROI.
Si le modèle ne permet pas clairement de rentrer dans ses frais il convient d’être
circonspect sur la nécessité d’entreprendre ce chantier.
La formule communément admise pour le calcul du ROI est la suivante :
ROI = [(Économies réalisées – Investissement)/Investissement)] × 100
Exemple
La société Adventure Works Cycles souhaite mettre en place un projet décisionnel
afin d’offrir à son personnel des outils d’interrogation et de reporting. Cependant,
compte tenu de l’engagement financier important, le sponsor du projet et la direction
générale veulent connaître le ROI généré par le projet BI. Afin d’établir des éléments
de comparaison, on estime la charge de travail actuelle du reporting à 120 heures/mois.
On calcule les coûts de la mise en place d’un nouveau développement BI. Ils sont
synthétisés dans le tableau 13.1.
Tableau 13.1 — Coûts de la mise en place d’un nouveau développement BI
Dépenses Coût
Matériel 5 000 €
Total 65 000 €
% du temps Coût en €
Fonction
de travail (2 000 h/an)
Total 22 500
Main-d’œuvre (120 h/mois) 108 000 108 000 108 000 108 000
Matériel 5 000
Résultats
Le serveur SQL Server comporte de manière intégrée tous les éléments nécessaires
à une solution décisionnelle :
• un ETL d’entreprise, Integration Services, pour l’extraction, la transformation
et le chargement des données à partir de n’importe quelle source ;
• une base de données relationnelle intégrée à un moteur multidimensionnel
OLAP ;
• un serveur de rapport, Reporting Services, qui permet des restitutions d’infor-
mations sous toutes formes. (reporting de masse, reporting ad hoc).
Il est conseillé d’avoir connaissance des évolutions de ces deux produits dans la
stratégie Microsoft. En effet, Microsoft annonce Office PerformancePoint pour le
premier semestre 2007. Il s’agit d’une application de planification, de budgétisation et
de prévisions. D’après les informations en notre possession lors de la rédaction de cet
ouvrage, il semblerait que cette appellation englobe Proclarity et Business Scorecard
Management au sein de SharePoint.
13.3 Faire une offre de solution décisionnelle 379
Analyses
ERP détaillées
Outils familiers
(Excel,
Navigateur,…)
CRM
Applications tierces Rapports
interactifs
LOB SQL
Server Terminaux
Tableaux
de bord
13.3.7 Sécurité
SQL Server 2008 introduit de nouvelles fonctionnalités qui renforcent la sécurité des
données et des échanges avec SQL Server :
• chiffrement des données ;
• chiffrement des échanges sur le réseau ;
• gestion des certificats ;
• filtrage des adresses IP pouvant invoquer un service web.
13.3.9 Reporting
SQL Server 2008 comporte une plate-forme complète de reporting. De la création
de rapports au travers de Visual Studio, à la mise à disposition de ces rapports à
l’utilisateur via une intégration possible au portail ou à des applications métier.
Report Builder permet aux analystes métier de créer des rapports et tableaux
avec des fonctions de navigation interactive au sein des rapports. Report Builder est
complètement intégré à Reporting Services 2008. Les outils de reporting, une fois
déployés par les informaticiens, donnent aux managers une réelle indépendance pour
l’accès à leurs données.
13.4.3 Livrables
Les livrables sont :
• document de synthèse ;
• prototype ;
• licence à durée limitée du produit utilisé ;
• prévoir une durée d’étude de 10 jours.
13.4.5 Prototype/pilote
Ce pilote sera conçu en fonction du cahier des charges défini précédemment.
Il faudra procéder à :
• l’installation sur un des serveurs de l’organisation cliente ;
• l’intégration des sources de contenus ;
• la mise en place et la personnalisation de la solution décisionnelle ;
• l’installation sur les postes client.
13.5 Conclusion 385
13.4.6 Opérations
Il faut définir les procédures opérationnelles principales et toutes les procédures de
contrôle :
• définition des procédures opérationnelles ;
• contrôle des performances ;
• optimisation des performances.
13.5 CONCLUSION
Le lecteur aura pu s’en rendre compte, MS SQL 2008 offre une réponse plus que
satisfaisante à la mise en œuvre de tout projet décisionnel. L’apprentissage d’un tel
outil permet de découvrir non seulement de nouveaux concepts liés au processus
décisionnels mais de les mettre rapidement en œuvre grâce à une boîte à outils
immédiatement opérationnelle.
L’apparente facilité de déploiement d’un projet décisionnel ne doit cependant pas
occulter l’impérative nécessité de procéder avec méthode. Tout commence par la
vision claire des objectifs à atteindre. Les outils ne sont que le moyen de mettre la
stratégie au service de l’entreprise.
N’oublions jamais que la phase la plus importante du cycle décisionnel est l’action !
Conclusion
(ils seront bientôt banalisés comme ce fut le cas de la bureautique dans les années
quatre-vingt-dix) mais bien d’avantage dans la capacité d’utiliser ces outils au service
de la stratégie de l’entreprise.
Appliquons l’adage de Socrate, « connais-toi toi-même », à notre sujet d’étude.
C’est parce que l’entreprise réalise un travail d’introspection sur elle-même qu’elle va
pouvoir se situer dans le monde qui l’entoure. Mais pour bien connaître le monde,
l’entreprise doit exercer une veille permanente.
Le Corporate Performance Management (CPM), qui se définit comme un ensemble
de méthodes et d’outils destinés au contrôle des performances de l’entreprise, s’appuie
d’ores et déjà sur les fondements de la Business Intelligence. La chaîne de com-
mandement dans les organisations passe du mode simulation au mode opératoire et
réciproquement selon un cycle vertueux mû par la stratégie globale de l’entreprise.
La Business Intelligence n’est ni un mirage, ni un miracle de la technologie. Si
elle n’a pas toujours été comprise, c’est qu’elle n’a pas été suffisamment expliquée
par ses promoteurs. Nous pensons qu’elle s’intègre elle-même dans une approche
multidimensionnelle où les trois axes sont pragmatisme, rigueur et pédagogie.
Pragmatisme parce que la Business Intelligence s’impose au-delà des modes en
mettant en concordance technologie et stratégie d’entreprise.
Rigueur dans le respect de règles de l’art et des méthodologies de gestion de projets.
Pédagogie afin de rapprocher ceux qui conçoivent les systèmes et les mettent en
œuvre de ceux qui les utilisent au quotidien.
L’auteur espère apporter sa modeste contribution au mouvement de démocrati-
sation de la Business Intelligence. Il forme et encadre en entreprise des étudiants
en informatique à l’Institut du management de l’université de Savoie. Ces jeunes,
compétents, ouverts à toutes les technologies, apportent des réponses concrètes aux
problématiques rencontrées dans les entreprises industrielles ou de services.
Mais ne l’oublions jamais, le but principal de l’éducation n’est pas le savoir, mais
l’action. La connaissance seule ne suffit pas. La connaissance n’a de valeur que si on
l’exploite. Sans action, l’intelligence est vaine. Ce n’est pas ce qu’on sait qui est le
plus important, mais plutôt ce qu’on fait avec ce qu’on sait.
Et un dernier conseil à ceux qui douteraient encore : il y a pire dans la vie que de
ne pas avoir réussi, c’est de ne pas avoir essayé !
ANNEXES
A
Petit historique
de la BI
Voici un bref historique des étapes essentielles qui ont jalonné la longue marche de ce
que l’on appelle aujourd’hui la Business Intelligence.
Tableau A.1
Année Événement Commentaire
1962 Ken Iverson publie Premier langage multidimensionnel.
le langage APL (A Programming
Langage)
1970 Express Premier outil multidimensionnel visant
les applications de type marketing.
La version modernisée de ce moteur
OLAP est intégrée aujourd’hui
dans Oracle 9i Release 2 Option
OLAP.
1982 Comshare System W Premier outil OLAP visant
les applications financières.
Ancêtre de Essbase.
1984 Lancement de Metaphor Premier moteur ROLAP (Relational
OLAP).
1985 Lancement de Pilot Command EIS en mode client/serveur.
Center
1990 Lancement de Cognos Powerplay Premier client OLAP pour station de
travail sous PC Windows. Indissociable
de Transformer (moteur de
fabrication des cubes) et Impromptu
(requêteur du datawarehouse).
1992 Lancement de Essbase
392 Annexe A. Petit historique de la BI
Si SQL Server 2008 intègre aujourd’hui les techniques les plus abouties en matière
de BI, c’est qu’il a hérité des nombreuses recherches qui se sont déroulées depuis une
quarantaine d’années.
B
Nouveautés de SQL Server
2008 par rapport a la version
2005
des données. La tâche de profilage des données fournit des profils qui permettent
d’identifier des problèmes de qualité des données dans des colonnes individuelles et
avec les relations de colonnes :
Profils qui permettent d’identifier les problèmes dans des colonnes individuelles
• la distribution de longueurs dans les valeurs de colonnes ;
• le pourcentage de valeurs Null ;
• la distribution de valeurs dans la colonne ;
• des statistiques de colonnes pour les colonnes numériques ;
• des expressions régulières font correspondre des colonnes de chaîne.
Profils qui permettent d’identifier les problèmes avec les relations de colonnes
• les colonnes des clés candidates ;
• les dépendances fonctionnelles entre les colonnes ;
• l’inclusion de l’ensemble de valeurs dans une colonne de l’ensemble de valeurs
d’une autre colonne.
Pour mettre à niveau vos packages SQL Server 2005, effectuez une ou plusieurs
des procédures suivantes :
• Utilisez l’utilitaire de ligne de commande dtexec (dtexec.exe) livré avec SQL
Server 2008 pour exécuter le package SQL Server 2005. Lorsque vous utilisez
cette méthode pour exécuter un package SQL Server 2005, la mise à niveau est
temporaire, et les modifications qui résultent de la mise à niveau ne peuvent
pas être enregistrées.
• Ajoutez le package SQL Server 2005 à un projet existant ou ouvrez ce package
dans SQL Server 2008 Integration Services. Integration Services mettra auto-
matiquement à niveau le package. Toutefois, la mise à niveau est temporaire.
Pour définitivement mettre à niveau le package, vous devez enregistrer les
modifications apportées à ce dernier. Pour ajouter un package existant, dans le
menu Projet, cliquez sur Ajoutez un package existant.
• Créez ou ouvrez un projet SQL Server 2005 Integration Services, puis utilisez
l’Assistant Mise à niveau de packages SSIS pour mettre à niveau tous les
packages du projet. Cette mise à niveau est permanente.
Les avantages de ces nouveaux types de données Integration Services sont les
suivants :
• Prise en charge d’une plus grande échelle pour les fractions de seconde.
• Prise en charge d’une précision définie par l’utilisateur.
• Prise en charge d’un décalage de fuseau horaire.
Vous pouvez convertir les nouveaux types de données en d’autres types de données
de date Integration Services à l’aide d’expressions, de la transformation de conversion
de données et de la transformation de colonne dérivée. Vous pouvez également utiliser
des expressions pour effectuer des comparaisons entre les nouveaux types de données.
Pour plus d’informations, consultez Types de données d’Integration Services et Cast
(SSIS).
Cette nouvelle version de Microsoft SQL Server Analysis Services intègre de nou-
velles fonctionnalités et des améliorations.
Action Lance une action prédéfinie sur un cube ou une partie d’un cube. Une action
permet par exemple de lancer un rapport ou d’effectuer un drill through en
cliquant sur une cellule du cube. Une action de rapport permet d’exécuter
un rapport Reporting services directement depuis un cube. Cette méthode
facilite la lecture de l’entrepôt de données relationnel depuis un cube.
Analyse de scénarios Technique adoptée pour concevoir des scénarios à caractère
commercial en mettant à jour des données, puis en analysant les effets des
modifications apportées aux données. Les analyses de scénarios font partie
intégrante d’Excel et de SQL Server OLAP grâce à la technique d’écriture
différée.
Analysis Server Composant serveur d’Analysis Services spécialement conçu pour
créer et entretenir des structures de données multidimensionnelles et
produire des données multidimensionnelles en réponse aux requêtes des
clients. Voir aussi données multidimensionnelles, OLAP.
Attribut Un fait décrivant chaque position d’une dimension.
Agrégation Action de calculer les valeurs associées aux positions parentes des
dimensions hiérarchiques. Cette agrégation peut être une somme, une
moyenne ou toute autre opération plus complexe.
Axe Ensemble de tuples où chaque tuple est un ensemble de membres issus de
différentes dimensions. Un ensemble d’axes définit les coordonnées d’un
jeu de données multidimensionnelles. Plus simplement, correspond à une
dimension du cube. Voir aussi tranche, tuple.
Balanced Scorecard Méthode consistant à décliner les objectifs d’une entreprise en
indicateurs de performance clés.
Base de données multidimensionnelle OLAP Modèle de base de données trai-
tant les données non comme des tables et des colonnes relationnelles,
mais en tant que cubes d’information dont les cellules comportent des
données de synthèse et de dimension. Chaque cellule est fonction d’un
ensemble de coordonnées qui précisent sa position dans les dimensions de
la structure. Par exemple, la cellule située aux coordonnées {SALES, 1997,
WASHINGTON, SOFTWARE} dévoile la synthèse des ventes de logiciels
réalisées dans l’État de Washington en 1997.
406 Business Intelligence avec SQL Server 2008
lesquels les utilisateurs souhaitent fonder une analyse. Par exemple, une
dimension géographique peut inclure des niveaux Pays, Région, Départe-
ment et Ville. Voir aussi table de faits, mesure, niveau.
Dimension de temps Dimension divisant le temps en niveaux, tels qu’Année,
Trimestre, Mois et Jour. Dans Analysis Services, type spécial de dimension
créée à partir de la colonne date/heure.
DOLAP (Desktop OLAP) Ce terme désigne un petit produit OLAP faisant de
l’analyse multidimensionnelle en local. Il peut impliquer l’utilisation d’une
minibase multidimensionnelle ou de l’extraction de cube.
Données source Lignes ou enregistrements sous-jacents d’une base de données
fournissant les données d’un rapport.
Drill down (zoom en profondeur) C’est la fonctionnalité d’analyse des données qui
permet, en cliquant sur une donnée ou sur une dimension, d’obtenir un
nouveau rapport avec un niveau d’information supplémentaire se rappor-
tant à la zone cliquée. Cette fonctionnalité permet d’approfondir un axe
d’analyse en descendant aux niveaux de détail de plus en plus fins d’un
système multidimensionnel.
drill through (zoom en travers) Fonctionnalité d’analyse des données qui permet,
comme le drill down, d’obtenir un niveau de détails supplémentaire, mais
ici, l’accès se fera à une base différente. Cette base peut être soit un cube
multidimensionnel, soit une base relationnelle.
drill up (forage arrière) Fonction de zoom arrière d’un outil décisionnel permettant,
en cours d’analyse, de passer d’un niveau de détail fin à un niveau de données
plus synthétique.
DSS (Decision Support System) Système d’interrogation et de présentation des don-
nées adapté à l’aide à la décision. Appelé aussi SIAD (système d’information
d’aide à la décision) ou encore EIS.
Écriture différée Données de scénarios enregistrées et écrites dans le cube. Ces
données sont disponibles pour une analyse ultérieure et peuvent être
consultées et partagées par d’autres personnes ayant accès au cube. Voir
aussi analyse de scénarios.
EIP (Enterprise Information Portal) Portail d’entreprise donnant un point d’accès
unique à l’ensemble des ressources : données, applications, services...
EIS (Executive Information System) Tableaux de bord et graphiques synthétiques
présentant une vision assez large de l’activité.
Enfant Membre du niveau inférieur suivant dans la hiérarchie directement associé au
membre actuel. Par exemple, dans une dimension de temps composée des
niveaux Trimestre, Mois et Jour, Janvier est un enfant du trimestre 1 (Q1).
ERP (Enterprise Resource Planning) ou PGI (progiciel de gestion intégré)
L’ERP regroupe tout ou partie des applications nécessaires à la gestion
de l’entreprise. Que ce soit des applications horizontales (comptabilité,
paie, facturation, gestion des ressources humaines) ou verticales (gestion
Glossaire 409
Niveau hiérarchique Au sein d’une hiérarchie, les positions sont en général orga-
nisées en niveaux. Les positions d’un même niveau correspondent à une
classification précise.
Nom de membre Propriété d’un niveau de dimension qui spécifie les noms des
membres du niveau. La valeur de cette propriété peut désigner une colonne
dans laquelle figurent les noms ou une expression correspondant aux noms.
OLAP (Online Analytical Processing) Technologie utilisant des structures mul-
tidimensionnelles pour offrir un accès rapide aux données en vue d’une
analyse. Les données source OLAP sont souvent stockées dans les magasins
de données d’une base de données relationnelle. Voir aussi magasin de
données, base de données relationnelle.
Parent Membre du niveau supérieur suivant dans la hiérarchie directement associé
au membre actuel. La valeur parente est généralement une consolidation
des valeurs de tous ses enfants. Par exemple, dans une dimension de temps
composée des niveaux Trimestre, Mois et Jour, le trimestre 1 (Q1) est le
parent de Janvier. Voir aussi enfant, descendant, frère.
Pivoter (table pivot) Possibilité de modifier l’aspect d’un rapport en déplaçant un
champ (ou un groupe de champs) de ligne en colonne ou inversement. On
peut également ajouter des champs en les sélectionnant dans une liste de
choix.
Position Une valeur d’une dimension.
Propriété de membre Information supplémentaire stockée dans un cube OLAP
Analysis Services et décrivant un membre de dimension.
Rapport au format libre Rapport offrant une granularité au niveau des cellules et ne
dépendant pas de la structure des données source sous-jacentes. Les rapports
au format libre peuvent combiner des données de plusieurs sources OLAP.
Le rapport au format libre fait l’objet d’un add-in dans Excel. Il est intégré à
Excel 2007. Voir aussi rapport structuré.
Rapport structuré Rapport dépendant de la structure des données source sous-jacentes
et offrant des fonctions d’analyse avancées. Le rapport au format structuré
fait l’objet d’un add-in dans Excel. Il est intégré à Excel 2007.
Reporting Outil de mesure de faits a posteriori.
Repository Référentiel permettant de stocker les métadonnées c’est-à-dire les données
qui décrivent les données.
ROLAP (Relational OLAP) Les données ne sont pas stockées dans le cube mais dans
une base de données relationnelles selon les principes OLAP.
rollback Permet d’annuler un processus de mise à jour dans une base de données
relationnelle. La phase de Commit permet d’appliquer définitivement les
modifications apportées dans la base.
SGBD (système de gestion de bases de données) Les bases de données relationnelles
(SGBDR) ont tendance à se banaliser. Domaines de prédilection d’Oracle,
IBM (DB2), SQL Server, MySql.
412 Business Intelligence avec SQL Server 2008
Data Mining with SQL Server 2005, ZhaoHui Tang – Jamie MacLennan, John Wiley
& Sons, 2005.
Diriger un projet Informatique – Les secrets des consultants, Jacques Claviez, Éditions JCI
inc., 1993.
Scénarios pour la NET Économie, Karim Mokhnachi, Sandra Spinek Éditions d’Orga-
nisation, 2000.
Le tableau de bord prospectif, pilotage stratégique : les quatre axes du succès, Kaplan Robert
S. et Norton David P., Éditions d’Organisation, 1998.
Maîtriser les processus de l’entreprise, Michel Cattan Nathalie Idriss, Patrick Knockaert.,
Éditions d’Organisation, 2005.
Quel système décisionnel pour les entreprises agiles ?, Philippe Nieuwbourg Editions
Microsoft, mai 2004.
Le guide Decideo, Philippe Nieuwbourg, Luc Mornat, Véronique Blanc, Marcom
Generation, 2004.
Applied Microsoft SQL Server 2008 Replorting Services, Teo Lachev, Prologika, 2008.
Microsoft SQL Server 2008 – Business Intelligence Development and Maintenance (MCTS
Self-Paced Training Kit . EXAM 70-448), Microsoft Press, 2009.
filtre 221 J
flux
journal des audits 170
de contrôle 92, 95
juste à temps 22
de données 92, 96, 118
fonction lookup 93
fouille de données 56
FrontPage 347 K
FTP 95
Kaplan, Robert 33, 382
Fuzzy lookup 60
Key Users 58
Kimball, Ralph 44, 86, 162, 414
G KPI (Key Performance Indicator) 24, 43,
gestion 56, 73, 168, 211, 247
des rapports 307
du risque 22
gestionnaire L
d’événements 96
de rapports 293 loi SOX 42
graphique croisé dynamique 338 LOLF 22
GRC 19 lot 92
groupe de mesures 172, 241
H M
HOLAP (Hybride OLAP) 252 mapping 122
Hyperion 387 MapPoint 378
MDX
I script 169, 174
indicateur membre
clé de performance 24, 175 calculé 246
de performance 59 inféré 124
externe 15 non-feuille 242
infocentres 25 mesure 46, 167, 179, 182
informatique décisionnelle 7 calculée 245
Inmon, Bill 414
semi-additive 232
Integration Services (SSIS) 89
metadata 169
Intellicube 179
Microsoft Access 382
intelligence comptable 246
intervalle Microsoft Clustering 273
de latence 177 Microsoft Decision Trees 271
de reconstruction forcée 177 Microsoft Naïve Bayes 273
IRR 375 migration de lots DTS 150
418 Business Intelligence avec SQL Server 2008
modèle P
Clusters 281
package 92
d’autorisations 169 automatisation de l’exécution 154
de données entité-relation 45 déploiement 153
Decision Tree 276 dynamique 157
dimensionnel 42, 45 enfant 110
multidimensionnel 168 parent 110
Naïve Bayes 279 Panorama software 61
relationnel 168 partition 211
modélisation 55 partitionnement multiple 255
MOLAP (Multidimensional OLAP) 252 PAS (Proclarity Analytics Server) 355
MS Access 348 performances 170
MS Excel 348 période
MS Query 342 de latence 177
silencieuse 177
N perspective 172, 211, 250
PGI 11, 42
Naïve Bayes 271, 284 PivotTable 334
navigateur 211, 227, 240 plan 114
de données 250 Planification 322
navigation planning 22
en mode web 359 POC (Proof Of Concept) 383
Professional 359 Powerplay 58, 387
standard 359 procédure stockée 169, 175
niveaux d’abstraction 12 processus 181
Norton, David 33, 382 d’apprentissage 12
NPV 375 de décision 9
Proclarity 61, 77, 351, 352
O for Business Scorecard 352
Professional 361
Office productivité 21
2007 61 projet décisionnel 383
Excel pour SSAS 334, 342 prototype 384
PerformancePoint 378 push 176
Web Components 378
OLAP (On Line Analytical Processing) 9,
50, 52, 166, 232 R
OLTP (On Line Transactional Processing) rapport
42, 45, 49, 167 abonnement 324
opérateur unaire 247 clichés d’historique 322
OWC (Office Web Component) 334, 347, exécution 321
351 historisation 323
Index 419
se former
retours
d’expérience
Bertrand Burquier
Management des systèmes
d’information
applications
Business Intelligence
métiers
études, développement,
intégration
réseaux