IV. Création du socle▲
IV-A. Description▲
Qu'allons-nous créer dans ce tutoriel ?
Pour vous faire découvrir quelques fonctionnalités de Microstrategy, je vous propose de créer un projet
dans lequel nous allons développer quelques rapports et un tableau de bord.
J'ai créé une base de données exemple d'une entreprise multinationale de ventes. Cette entreprise a 50 magasins répartis dans plusieurs pays.
Nous avons également une table de clients et deux tables de faits pour stocker les ventes.
Je vous rappelle le modèle de données :
Dans un premier temps nous allons utiliser le client lourd de Microstrategy, puis nous passerons sur le site Web pour créer le tableau de bord entre autres.
Dans ce chapitre nous allons créer les objets de base (axes d'analyses et mesures) qui nous serviront bien évidemment à faire nos analyses.
IV-B. Création du projet▲
Qu'est-ce qu'un projet ?
La plupart du temps sur Microstrategy, un projet correspond à un ensemble d'objets permettant l'analyse de données d'un domaine
métier en particulier. Vous pouvez très bien avoir un projet pour le marketing, un projet pour les chefs de rayons, un projet pour les achats...
Sur cette version gratuite, vous ne pouvez définir qu'une seule source de données par projet. Ici, une source de données correspond à votre data warehouse.
Pour ce tutoriel, nous allons créer un seul et même projet.
Ouvrez le desktop. Il se trouve dans le menu Démarrer > Programmes > Microstrategy > Desktop
Double-cliquez sur Exemple_DVP qui correspond à votre serveur.
Identifiez-vous : administrator (pas de mot de passe).
Un message vous indiquera qu'il n'y a aucun projet dans cette source de projet. Nous allons donc en créer un !
Faites un clic droit sur le nom de la source de projet et utilisez l'option Créer nouveau projet...
L'assistant de création de projet s'ouvrira. Sélectionnez Créer un projet. Sur la fenêtre suivante, renseignez le nom de votre projet, appelons-le Librairie. Laissez les autres options par défaut et validez.
De retour sur l'assistant de création de projet, faites OK pour sortir.
Double-cliquez sur le projet pour l'ouvrir.
IV-C. Modélisation▲
IV-C-1. Un peu de vocabulaire...▲
Microstrategy est un générateur de rapports. Pour générer un rapport, Microstrategy RS utilise de nombreux objets.
C'est en se basant sur la définition des objets et des liens entre ces objets que Microstrategy génère le SQL des rapports car, rappelons-le, Microstrategy est un outil R-OLAP.
Je vais essayer de vous présenter en quelques mots les objets que nous allons utiliser dans le projet exemple :
- table : il s'agit de la représentation des tables (ou vues) que nous avons ajoutées aux projets ;
- attribut : ce sont en général les axes d'analyses. La définition des attributs se fait en fonction des besoins d'analyses. Par exemple les jours ou les clients ;
- mesure : ce sont en général les valeurs des analyses (parfois appelées indicateurs sur d'autres outils). Par exemple le CA ou les Quantités vendues ;
- fait : ces objets définissent les colonnes des tables utilisées dans la définition des mesures ;
- hierarchie : une hiérarchie est un axe d'analyse regroupant un ou plusieurs attributs ;
- invite : cet objet permet de diriger les sélections des utilisateurs ;
- rapport : comme leur nom l'indique ce sont les rapports d'analyses ;
- dashboard : les Dashboard ou tableau de bord, sont des états synthétiques. Ils peuvent être statiques ou dynamiques ;
- transformation : cet objet n'est pas un objet de base, mais il peut être utile. La plupart du temps les transformations permettent d'analyser les données sous un autre angle. Par exemple l'analyse des données d'aujourd'hui par rapport à l'année dernière.
Cette liste n'est pas exhaustive, mais permet de vous donner un aperçu des objets que vous allez manipuler.
IV-C-2. Configuration de l'architecte▲
Pour créer les différents objets nécessaires pour réaliser des rapports, nous allons utiliser l'Architecte Microstrategy.
Cet assistant permet de gagner un peu de temps.
L'architecte permet d'ajouter des tables, de créer les attributs, les faits et les mesures.
À la première ouverture, vous devez configurer un peu l'outil, mais rassurez-vous vous ne devrez le faire qu'une fois.
Ouvrez l'architecte pour le projet Librairie. Pour cela faites un clic droit sur le projet, puis Architecte...
À la première ouverture sur un projet, vous devrez choisir l'instance de base de données de votre entrepôt.
L'instance de base de données est un objet Microstrategy permettant de définir une connexion à une base. Nous n'avons pas encore défini notre base dans Microstrategy, cliquez donc sur Nouveau. Dans le wizard, passez le premier écran, sur le 2e renseignez le nom de l'instance et le type de la base.
Sur l'écran suivant sélectionnez le DSN que vous avez créé précédemment.
Il ne vous reste plus qu'à sélectionner votre nouvelle instance pour lancer l'architecte.
Vous voilà dans l'architecte.
Toute ressemblance avec une suite bureautique est totalement fortuite :
Il reste une dernière chose à paramétrer pour pouvoir attaquer la modélisation.
Il s'agit de la chaîne de connexion permettant de ramener la liste des tables de votre data warehouse.
Faites un clic droit sur l'instance de base de données DWH_Librairie et sélectionnez Options du catalogue de l'entrepôt.
Dépliez le menu Catalogue et sélectionnez Paramètres de lecture.
Cliquez sur Paramètres...
Dans le SQL de la fenêtre du haut. Remplacer "#?Schema_Name?#" par le nom de votre base, à savoir "dt_mstr".
Cliquez sur OK. Fermez la fenêtre d'options du catalogue de l'entrepôt de données.
De retour sur l'architecte, faites un clic droit sur l'instance de base de données et faites Mettre à jour. Cela aura pour effet de faire apparaître
la liste des tables de votre base.
Cette fois-ci l'architecte est suffisamment paramétré pour que l'on puisse mapper les objets.
IV-C-3. Création des attributs▲
Dans ce projet, nous avons neuf attributs.
Un attribut correspond à un axe d'analyse. Notre modèle étant dédié, les identifiants des tables physiques correspondent aux identifiants
des attributs.
Pour commencer simplement, nous allons mapper les attributs qui définissent l'axe temps : Jour, Mois et Année.
Physiquement nous avons trois tables de références :
Ainsi, nos trois attributs Année, Mois et Jour auront pour identifiant respectivement annee_id, mois_id et jour_id.
Vous pouvez remarquer que le mois possède un libellé (mois_lib), nous allons définir cette valeur comme description de l'attribut et masquer l'identifiant
qui n'est pas très parlant.
Ne vous occupez pas pour l'instant des colonnes suffixées par _a1 et _m12, nous verrons plus tard à quoi elles peuvent servir.
Pour résumer, nous avons :
Nom de l'attribut | Identifiant | Table de référence | Description |
---|---|---|---|
Jour | jour_id | jour | - |
Mois | mois_id | mois | mois_lib |
Année | annee_id | annee | - |
Ouvrez l'architecte. Assurez-vous d'être bien sur l'onglet Vue des tables du projet.
Commençons par l'attribut Année. Glissez-déposez la table annee depuis la fenêtre de gauche, vers la fenêtre de droite.
Une nouvelle fenêtre s'ouvrira.
Sur l'onglet Attribut, vous trouverez les attributs mappés par l'architecte. En fonction de votre modèle
l'architecte vous fera gagner du temps. Ici, l'attribut Année ayant pour
clé la colonne annee_id a été défini.
Cliquez à présent sur l'onglet Fait. Ici l'architecte mappera les faits de façon automatique. La plupart du temps
les faits correspondent aux colonnes définies en nombre (integer ou décimal). Ici, l'architecte a mappé un fait appelé
Année A1 sur la colonne annee_a1. Cela ne correspond pas à ce que l'on souhaite. Décochez donc ce fait.
Cliquez sur OK. De retour sur l'espace de travail vous pouvez voir la table annee. Lorsqu'une colonne n'est pas utilisée, l'icône est transparente. C'est le cas pour la colonne annee_a1. Pour les colonnes déjà mappées, vous verrez le symbole d'un attribut (cube jaune) ainsi que les colonnes utilisées dans la définition de cet attribut, ici l'ID est annee_id.
Avant de passer à l'attribut suivant, ajoutons l'accent sur le nom de cet attribut : Année.
Pour cela, cliquez sur l'attribut Annee dans la table de façon à faire apparaître le panneau de droite permettant de modifier pas mal de paramètres.
Ici nous nous contenterons de modifier le nom de l'attribut.
Une fois que c'est fait, passons à l'attribut suivant : Mois.
Glissez-déposez la table mois sur l'espace de travail. Vérifiez le mapping des attributs :
Vous remarquerez que l'attribut Année (avec l'accent) a bien été reconnu.
Décochez ensuite la partie Fait :
Vous pouvez constater que l'architecte n'a pas détecté le libellé de l'attribut Mois : mois_lib.
Pour le mapper, cliquez droit sur l'attribut Mois et, sélectionnez Nouvelle forme d'attribut.
Sur la nouvelle fenêtre, déplacez la colonne mois_lib dans la partie Expression de forme, puis cliquez sur OK.
De retour sur l'espace de travail, vous verrez que la nouvelle forme a été ajoutée.
Passez au dernier attribut : le Jour.
Glissez-déposez la table jour sur l'espace de travail. Comme précédemment, vérifiez ce qui est mappé. Ici,
vous devrez décocher l'attribut jour A1 qui a été mappé à tort :
Voilà, nos trois attributs de l'axe temps ont été mappés. Il nous reste encore une chose à définir avant de considérer
que l'axe temps est opérationnel : le lien entre les attributs.
En effet, pour relier les attributs il faut définir des liens de parenté. Il va de soi que le Jour à pour parent le Mois et que celui-ci a pour
parent l'Année. Ces liens permettront de faire du drill.
Passez sur l'onglet Vue hiérarchique.
Vous verrez vos trois attributs, sans aucune relation. Cliquez sur l'attribut Année et déplacez le curseur pour faire apparaître un lien. Étendez ce lien
jusqu'à l'attribut Mois. Faites la
même chose entre l'attribut Mois et l'attribut Jour. Vous devriez avoir ceci :
À présent la hiérarchie temps devrait être opérationnelle. Fermez l'architecte, une fenêtre s'affichera pour vous demander de mettre à jour le schéma.
Cette étape est nécessaire lorsque l'on modifie des objets du schéma tels que les tables, faits, attributs...
Laissez les options par défaut et contentez-vous de cliquer sur le bouton Mettre à jour.
De retour sur Microstrategy, nous allons vérifier que cette définition des attributs de l'axe temps est correcte.
Pour cela nous allons faire une chose toute simple : créer un rapport utilisant les trois attributs.
Sélectionnez le menu Fichier > Nouveau > Rapport.
Sélectionnez Rapport vierge. Sur ce nouveau rapport, sélectionnez les attributs (1), puis glissez-déposez les attributs de la liste (2) sur la grille (3).
Lancez le rapport en mode grille.
Vous devriez obtenir la liste des années disponibles dans la base avec les mois et les jours associés.
Votre rapport test fonctionne, c'est que vos trois attributs sont définis correctement. Sinon je vous invite à relire cette partie pour vous assurer que vous
n'avez rien oublié.
Fermez le rapport sans l'enregistrer.
Pour l'heure, je vous donne la liste des autres attributs avec leur définition. Notez que ce mapping n'est qu'une possibilité parmi
tant d'autres.
Je vous laisse le soin de créer les autres attributs en suivant la même démarche que pour les attributs Année, Mois et Jour.
Nom de l'attribut | Identifiant | Table de référence | Description | Fils |
---|---|---|---|---|
Article | articles_id | articles | articles_desc | - |
Catégorie | categories_id | categories | categories_nom | Article |
Client | clients_id | clients | clients_nom clients_prenom clients_adresse clients_cdepost clients_ville clients_pays |
Commandes |
Commandes | commandes_id | commandes | - | Articles |
Magasins | magasins_id | magasins | magasins_adresse magasins_cdepost magasins_ville pays_id |
Commandes |
Type de paiements | paiements_id | paiements | paiements_nom | Commandes |
Pensez également à ajouter à l'attribut Commandes, l'attribut Jour dans ses parents.
Voilà ce que vous devez obtenir :
IV-C-4. Création des Mesures▲
Maintenant que nous avons défini les attributs, nous allons définir les mesures.
Ici nous allons définir cinq mesures.
Le CA, le Nombre de commandes, le Prix unitaire les Quantités vendues et les Remises.
Pour créer ces mesures, nous devons d'abord créer les faits que l'architecte souhaitait créer pour nous.
Pour créer les mesures ci-dessus on va utiliser quatre faits : qte, remise, Articles Prix et Commandes Id. Les deux premiers faits
sont disponibles dans la table
detailscommandes, Articles Prix dans la table articles et Commandes Id est disponible dans la table detailscommandes et
dans la table commandes.
Ouvrez l'architecte. Commençons par le fait qte. Sur l'onglet Vue des tables du projet, cliquez droit sur la table detailscommandes et
faites Créer un fait :
Une nouvelle fenêtre s'ouvrira. Sélectionnez la colonne et cliquez sur OK.
Faites de même pour la colonne remise et commandes_id. Mappez également la colonne commandes_id sur la table commandes.
Puis passez sur la table articles, pour créer le fait Articles Prix
Fermez ensuite l'architecte.
Rendez-vous ensuite dans le répertoire Objets publics - mesures
Quatre nouvelles mesures ont été créées.
L'architecte créé automatiquement les mesures associées aux faits en utilisant par défaut l'agrégation de somme (sum).
Pour les remises et les quantités, ceci n'est pas gênant, par contre pour les prix unitaires et les commandes, cela n'a pas de sens. Double-cliquez sur la mesure
Sum des Articles Prix.
Modifiez l'agrégation (Remplacez Sum par Max)(1).
Ensuite validez votre formule (2), normalement vous devriez voir la coche en bas de la fenêtre de formule.
Enregistrez et fermez (3).
À présent il reste à modifier le nom de la mesure. Cliquez droit renommer. Appelez cette mesure Prix Unitaire.
Modifiez de la même manière la mesure Sum des commandes id et remplacez l'agrégation Sum par Count.
Renommez ensuite cette mesure en Nombre de commandes.
Renommer également les deux autres mesures : Sum sur qte en Quantités vendues et sum sur remise en Remises.
Il nous reste une mesure à créer : le CA, il suffit de multiplier les Quantités vendues par le Prix Unitaire en enlevant les remises.
Pour cette mesure CA, nous allons combiner les faits.
Pour créer une nouvelle mesure, utilisez le menu Fichier > Nouveau > Mesure.
Dans la nouvelle fenêtre, combinez les trois faits comme précédemment pour obtenir ceci :
Et voilà, nous avons créé tous les objets de base permettant de faire des analyses : les attributs et les mesures, avant d'attaquer les rapports, nous allons créer quelques autres objets complémentaires assez utiles.