Vous êtes sur la page 1sur 6

MIT820: Entrepôts de données et intelligence artificielle

Introduction aux outils BI de SQL Server 2016


Création de cubes dans SQL Server Analysis Services (SSAS)

Description générale
Ce tutoriel a pour objectif de vous familiariser avec la création et la manipulation de cubes de
données dans l'outil SQL Server Analysis Services (SSAS). Plus spécifiquement, vous utiliserez
une fois de plus l’entrepôt de données AdventureWorks pour définir les mesures, dimensions et
les hiérarchies du cube. Vous verrez également comment créer des mesures dérivées et des
indicateurs clés de performance, et apprendrez à faire des analyses simples à l’aide du langage
MDX.

Pour plus d’informations sur ce tutoriel, consultez le lien suivant :


https://msdn.microsoft.com/en-us/library/ms170208.aspx

Créer un projet Analysis Services


1. Démarrer la machine virtuelle tel que décrit dans le tutoriel sur SSIS ;

2. À partir du menu démarrer : ouvrir l’outil Visual Studio 2015;


3. Fichier → Nouveau Projet, et choisir Projet multidimensionnel et d’exploration de
données.

4. Renommer le projet Analysis Services Tutorial

Créer une source de données (Data Source)


1. Dans l’onglet Explorateur de solutions (à droite), cliquer-droit sur Sources de données
→ Nouvelle source de données;
2. Dans l’Assistant Source de données, si la connexion AdventureWorksDW2014
s’affiche dans la liste Connexions de données, sélectionner là et cliquer sur Next et
aller à l’étape 5. Sinon, cliquer Nouveau et entrer les informations suivantes:
• Nom du serveur : MTI820-AAAA1-X, où AAAA correspond à l’année et X le
numéro de l’équipe (ex : MTI820-20171-06).
• Authentification : Windows Authentification ;
• Sélectionner ou entrer un nom de base de données: AdventureWorksDW2014.

3. Cliquer sur Tester la connexion;

4. Revener dans l’Assistant Source de données et cliquer sur Next;


5. Dans Informations d’emprunt d’identité, choisir: Utiliser le compte de service;
6. Cliquer sur Next, et nommer la Source de données: Adventure Works DW2014;
7. Cliquer sur Terminer.
Créer une vue de source de données (Data Source View ou DSV)
Les DSV permettent d'avoir les méta-données (e.g., schéma des tables) localement, sans
avoir à maintenir de connexion avec la source.

1. Dans l’onglet Explorateur de solutions (à droite), cliquer-droit, sur Vue des sources de
données → Nouvelle vue de source de données ;
2. Dans Sélectionner la source de données, choisir Adventure Works DW2014, et cliquer
sur Next ;

3. Avec le bouton ‘>’, ajouter les tables DimCustomer, DimDate, DimGeography,


DimProduct et FactInternetSales au menu Objets inclus. Cliquer sur Next et ensuite
Terminer ;
4. Observer les éléments de l’interface utilisateur: Diagramme, Tables, et Bilbiothèques
de diagrammes ;

5. Changer le « FriendlyName » des tables (retirer les Dim et Fact) en en cliquant-droit


une table dans le menu Tables → [Nom de la table] → Propriétés. Par exemple, le
FriendlyName de DimCustomer sera simplement Customer.

Définir une dimension

1. Dans l’Explorateur de solutions (à droite), cliquer-droit sur Dimensions → Nouvelle


dimension ;

2. Dans Sélectionner la méthode de création, choisir: Utiliser une table existante. Cliquer
sur Next.

3. Dans Table principale, choisir: Date. Cliquer sur Next.


4. Dans Sélectionner les attributs de la dimension, cocher les attributs suivants:
• DateKey,
• FullDateAlternateKey,
• EnglishMonthName,
• CalendarQuarter,
• CalendarYear, et
• CalendarSemester

5. Dans la colonne Type d’attribut, faire les changements suivants:


• FullDateAlternateKey : Date → Calendrier → Date
• EnglishMonthName : Date → Calendrier → Mois
• CalendarQuarter : Date → Calendrier → Trimestre
• CalendarYear : Date → Calendrier → Année
• CalendarSemester : Date → Calendrier → Semestre

6. Cliquer sur Next et visualiser la nouvelle dimension. NOTE: L'icone formé de 4 carrés
représente une attribut-hiérarchie. Cliquer sur Terminer.

Créer un cube

1. Dans Dans l’Explorateur de solutions (à droite), cliquer-droit sur Cubes → Nouveau


cube;
2. Dans Sélectionner la méthode de création, choisir: Utiliser des tables existantes ;
3. Dans Tables de groupes de mesures, faire Suggérer. La table InternetSales devrait
être suggérée (cochée dans le menu Tables de groupes de mesures). Cliquer sur
Next.
4. Déselectionner les colonnes qui ne sont pas des mesures: Promotion Key, Currency
Key, Sales Territory Key et Revision Number. Cliquer sur Next ;

5. Dans Sélectionner des dimensions existantes, choisir la dimension existante Date


(rien faire si elle est déjà sélectionnée). Cliquer sur Next ;
6. Dans Sélectionner de nouvelles dimensions, déselectionner la table de faits:
InternetSales. Les dimensions sélectionnées devraient donc être Customer et Product.
Cliquer sur Next ;
7. Renommer le cube Analysis Services Tutorial, et cliquer sur Terminer ;
8. Observer les menus Mesures et Dimensions à gauche

Ajouter des attributs aux dimensions

1. Double-cliquer Customer.dim dans l’Explorateur de solutions (dossier Dimensions, à


droite) ;

2. Glisser-coller dans le menu Attributs (à gauche) les colonnes suivantes de la table


Customer de la Vue de source de données (à droite):

• BirthDate, MaritalStatus, Gender, EmailAddress, YearlyIncome,TotalChildren,


NumberChildrenAtHome, EnglishEducation, EnglishOccupation,
HouseOwnerFlag, NumberCarsOwned, Phone, DateFirstPurchase,
CommuteDistance
3. Toujours dans Customer, ajouter les colonnes suivantes de la table Geography:

• City, StateProvinceName, EnglishCountryRegionName, PostalCode


4. Répéter la même opération pour la dimension Product avec les colonnes suivantes de
la table Product:

• StandardCost, Color, SafetyStockLevel, ReorderPoint, ListPrice, Size,SizeRange,


Weight, DaysToManufacture, ProductLine, DealerPrice, Class,Style, ModelName,
StartDate, EndDate, Status

5. Revenir à la fenêtre du Cube desginer en double-cliquant le cube Analysis Services


Tutorial dans le Solution Explorer
6. Observer les nouvelles dimensions et attributs
7. Observer que la dimension Date se retrouve 3 fois (role-playing dimension)
8. Observer les différents onglets du Cube Designer (Structure de cube, Calculs,
Indicateurs de performance clés, Actions, Partitions, Agrégations, Perspectives,
Traductions et Navigateur)
9. Visualiser le code XMLA associé au cube: dans l’Explorateur de solutions, cliquer-droit
sur le cube Analysis Services Tutorial → Afficher le code. Il s’agît d’un exemple de
méta-données technique.

Modifier les mesures

1. Dans l'onglet Structure de cube, cliquer sur Afficher la grille de mesures (5ème icône
dans la barre d'icône)

2. Dans le menu Properties (à droite), changer la propriété FormatString comme suit


• OrderQuantity: #,#
• Unit Price, Extended Amount, Discount Amount, Product Standard Cost, Total
Product Cost, Sales Amount, Tax Amt, Freight: Currency
• Unit Price Discount Pct: Percent

Créer des hiérarchies

1. Double-cliquer sur la dimension Customer dans l’Explorateur de solutions.


2. Dans le menu Attributs (à gauche), renommer les attributs comme suit:
• English Country Region Name → Country-Region
• English Education → Education
• English Ocucpation → Occupation
• State Province Name → State-Province

3. Glisser-coller l'attribut Country-Region dans le menu Hiérarchies (au centre)


4. Glisser-coller l'attribut State-Province dans la case <nouveau niveau>
5. Glisser-coller l'attribut City dans la case < nouveau niveau >

6. Renommer la hiérarchie Customer Geography (cliquer-droit la barre de nom →


Renommer)

Déployer et explorer le cube

1. Dans l’Explorateur de solutions, cliquer-droit le projet (niveau le plus haut) → Déployer


la solution

Note: Si une erreur survient (connexion OLE DB), ouvrir la source de données
Adventure Works DW2014 créée précédemment, à partir du menu Sources de
données de l'Explorateur de solutions. Dans l'onglet Informations d'emprunt d'identité,
sélectionner Utiliser un nom d'utilisateur et mot de passe Windows spécifique. Entrer
les information utilisées pour se connecter à la machine virtuelle:

• Nom d'utilisateur : sqladmin


• Mot de passe : [celui envoyé à l'équipe par courriel].
2. Cliquer sur l'onglet Browser, et cliquer Reconnect (2ème icone dans la barre)
3. Dans Microsoft SQL Server 2014 Management Studio, choisir Analysis Services
Engine (Server type), et localhost (Server name)
4. S’assurer que le nouveau cube est visible
5. Sélectionner le cube localhost → Databases → Cubes → Analysis Services Tutorial

6. Cliquer sur l'icône New query (en haut).


7. Entrer la requête suivante:
SELECT
{[Customer].[Gender].Members}*
{([Measures].[Sales Amount])} ON COLUMNS,
{[Product].[Model Name].Members} ON ROWS
FROM [Analysis Services Tutorial]

8. Exécuter la requête en cliquant sur l'icône "!" rougle (en haut)

Créer une métrique dérivée (Membre calculé)

Un membre calculé est une métrique du cube calculé dynamiquement à partir d'autres attributs
du cube.

1. Dans MS Visual Studio, revenir au Cube designer en double-cliquant le cube Analysis


Services Tutorial dans le Solution Explorer
2. Dans l'onglet Calculs, cliquer sur l'icône Nouveau membre calculé (5ème icône dans la
barre)
3. Changer le nom pour [Profit Margin]

4. Laisser la hiérarchie parent à Mesures


5. Entrer l'expression suivante dans Expression:
([Measures].[Sales Amount] -
([Measures].[Total Product Cost] + [Measures].[Tax Amt] +
[Measures].[Freight])) /
[Measures].[Sales Amount]

NOTE: cette expression mesure le pourcentage du montant de la vente représentant un


profit

6. Choisir "Percent" pour la Chaîne de format

7. Choisir "Internet Sales" pour le Groupe de mesures associé

Créer un KPI

Un KPI est composé de quatre éléments: la valeur de performance du processus, l'objectif de


performance à atteindre, l'état courant en regard de l'objectif (e.g., mauvais, moyen ou bon), et la
tendance par rapport à une date antérieure (e.g., même date l'année précédente).

1. Dans l'onglet Indicateurs de performance, cliquer sur l'icône Nouveau KPI (5eme icône
dans la barre)
2. Changer le nom pour Gross Profit
3. Choisir "Internet Sales" pour le Groupe de mesures associé
4. Dans Expression de valeur, mettre:
[Measures].[Profit Margin]

5. Dans Expression d'objectif:


Case
When [Customer].[Country-Region]
Is [Customer].[Country-Region].[Canada]
Then .34
When [Customer].[Country-Region]
Is [Customer].[Country-Region].[United States]
Then .36
When [Customer].[Country-Region]
Is [Customer].[Country-Region].[France]
Then .32
Else .30
End

6. Dans Expression d'état, mettre:


Case
When KpiValue("Gross Profit") / KpiGoal("Gross Profit") > .90
Then 1
When KpiValue("Gross Profit") / KpiGoal("Gross Profit") <= .90
And KpiValue("Gross Profit") / KpiGoal("Gross Profit") > .80
Then 0
Else -1
End

NOTE: le status correspond à -1=mauvais, 0=moyen et +1=bon

7. Dans Expression de tendance, mettre:


Case
When IsEmpty(ParallelPeriod([Order Date].[Calendar
Year].[Calendar Year], 1, [Order Date].[Calendar Year]))
Then 0
When [Measures].[Profit Margin] >
(ParallelPeriod([Order Date].[Calendar Year].[Calendar Year],
1, [Order Date].[Calendar Year]), [Measures].[Profit Margin])
Then 1
When [Measures].[Profit Margin] =
(ParallelPeriod([Order Date].[Calendar Year].[Calendar Year],
1, [Order Date].[Calendar Year]), [Measures].[Profit Margin])
Then 0
Else -1
End

NOTE: ParallelPeriod permet de retrouver la valeur à l'année précédente. Trend


correspond à: -1=descendant, 0=neutre, +1=ascendant

8. Re-deployer la solution, comme à l'étape précédente.

9. Dans le SQL Server Management Studio, exécuter la requête:


SELECT
{KPIValue("Gross Profit"), KPIGoal("Gross Profit")} ON COLUMNS,
{[Product].[Model Name].Members} ON ROWS
FROM [Analysis Services Tutorial]

Cette requête devrait afficher la valeur et l'objectif de performance pour les modèles de
produits offerts par la Adventure Works.
NOTE: Il sera peut-être nécessaire de refaire la connexion au cube pour avoir les
changements.