Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 1 livre papier acheté 
= la version en ligne automatiquement offerte. Cliquez ici
  1. Livres et vidéos
  2. SQL Server Analysis Services (SSAS)
  3. SSAS projet complément
Extrait - SQL Server Analysis Services (SSAS) Calculs analytiques et restitution de données dans Power BI et Azure
Extraits du livre
SQL Server Analysis Services (SSAS) Calculs analytiques et restitution de données dans Power BI et Azure Revenir à la page d'achat du livre

SSAS projet complément

Améliorations ergonomiques

1. Mise en forme

Pour rendre le cube plus convivial, il est possible de régler l’affichage des valeurs, comme la monnaie ou le séparateur de milliers. On peut aussi modifier les libellés pour que ce soit plus compréhensible par l’utilisateur final.

Par exemple, vous allez changer l’affichage des valeurs des colonnes qui représentent une devise pour afficher le symbole de la devise avec le séparateur de milliers et arrondir à deux chiffres après la virgule. Il existe deux façons de procéder. 

 À partir de la conception du cube, sous l’onglet Structure de cube, cliquez sur Product Standard Cost dans le volet Mesures en haut à gauche de l’écran, puis sur la propriété FormatString en bas à droite de l’écran, sous l’onglet Propriétés. Si vous n’apercevez pas cet onglet, effectuez un clic droit sur la mesure et choisissez Propriétés ou bien appuyez sur la touche [F4] de votre clavier. Cliquez sur la flèche à droite de la zone de saisie pour faire apparaître la liste déroulante. Choisissez Currency.

images/04ETI01.png

 Ou bien, à partir de la barre d’outils de l’onglet Structure de cube, affichez la grille de mesures en cliquant sur l’icône appropriée, pour pouvoir sélectionner une ou plusieurs mesures.

images/04ETI02.png

 Positionnez-vous sur Sales Amount et choisissez la formule # ##0,00 €;-# ##0,00 € dans la liste déroulante de la propriété FormatString. Cette formule affiche le séparateur de milliers, deux chiffres après...

Calculs et mesures

1. Calculs

Les membres calculés sont des mesures personnalisées ou des colonnes de dimension qui sont définis à l’aide d’une combinaison de données de cube, d’opérateurs arithmétiques, de nombres et de fonctions. Le langage utilisé dans les expressions est MDX (cf. section Langage MDX).

Si les définitions des membres calculés sont stockées dans le cube, les valeurs sont calculées lors du traitement des requêtes.

Un ou plusieurs membres calculés peuvent être utilisés dans un autre membre calculé.

La direction souhaite connaître la marge brute, le taux de marge, le taux de marque, le coefficient de marge et le taux de marge nette. Elle souhaite aussi comparer le chiffre d’affaires mensuel avec celui de l’année précédente (YTD ventes HT) et le chiffre d’affaires (cumul des ventes) de l’année en cours par rapport aux années précédentes (YTD Ventes HT Mensuel).

Commencez par ajouter la mesure Marge brute :

 À partir de la conception du cube, allez sur l’onglet Calculs. Attention, il ne faut pas modifier ni supprimer la commande CALCULATE.

 Effectuez un clic droit sur CALCULATE, choisissez Nouveau membre calculé, ou cliquez sur l’icône Nouveau membre calculé (cinquième en partant de la gauche dans la barre d’outils).

images/04ETI19.png

 Nommez la nouvelle mesure Marge brute. Le libellé doit être placé entre crochets. Puis à partir du Groupe de mesures en bas à gauche, développez Measures et Fact Reseller Sales. Cliquez sur Sales Amount et faites glisser la mesure dans la zone Expression sur la droite. Saisissez le signe de la soustraction et ajoutez Total Product Cost :

[Measures].[Sales Amount]-[Measures].[Total Product Cost] 

 Choisissez "Currency" comme Chaîne de format et Fact Reseller Sales en tant que Groupe de mesures associé pour que ce calcul s’affiche dans ce groupe.

images/04ETI49.png

 Cochez les mesures Sales Amount et Total Product Cost pour la propriété Comportement non vide.

images/04ETI48.png

 Enregistrez et traitez le cube. Puis cliquez sur l’icône Reconnexion pour voir apparaître le calcul dans le volet Groupe de mesures en bas à gauche.

 Puis vérifiez...

Gestion des accès au cube

1. Définition des accès

Une fois votre cube prêt à être utilisé, il est nécessaire de définir les droits d’accès. Au départ, seuls les administrateurs de l’instance SSAS peuvent s’y connecter. Il est possible de restreindre l’accès à la ligne du résultat de requête. Par exemple, le service de contrôle de gestion basé en Europe doit avoir les accès aux données européennes uniquement. Le traitement du cube est réservé au service informatique.

Les accès sont gérés via les rôles du projet. Un rôle regroupe les entités de sécurité (utilisateur(s) ou groupe(s) d’utilisateurs), les "sécurisables" (cubes et dimensions) et les autorisations (lecture, écriture, traiter le cube).

 

Cube Factures Revendeurs

Toutes les dimensions

Direction commerciale

Lecture

Lecture

Contrôle de gestion zone Europe

Lecture des données de la France, de l’Allemagne et de la Grande-Bretagne uniquement, de toutes les mesures sauf le coût standard du produit

Lecture des données de la France, de l’Allemagne et de la Grande-Bretagne uniquement

Service logistique

Lecture des quantités commandées, du nombre de ventes, des coûts standard d’un produit et des coûts de transport uniquement

Lecture

2. Création d’un rôle

 Pour créer un nouveau rôle, effectuez un clic droit sur Rôles dans l’Explorateur de solutions à droite de l’écran et sélectionnez Nouveau rôle.

images/04ETI27.png

 Le concepteur de rôle s’ouvre. Par défaut, le rôle créé est nommé Role. Commencez par le renommer pour différencier chaque rôle. Vous avez trois possibilités :

  • Cliquez sur Role.role, .role représentant l’extension du fichier Role, dans l’Explorateur de solutions afin d’afficher les propriétés du rôle, dont le nom de fichier à modifier.

  • Ou exécutez un clic droit sur Role.role dans l’Explorateur de solutions, puis choisissez Renommer.

  • Ou encore cliquez sur Role.role dans l’Explorateur de solutions, puis appuyez sur la touche [F2] du clavier....

Langage MDX

Le langage MDX permet d’interroger les cubes OLAP. Il renvoie un jeu de données multidimensionnel qui peut contenir des lignes et des colonnes.

 Ouvrez SQL Server Management Studio et connectez-vous au moteur Analysis Services…, à l’instance MONSERVEUR\MONINSTANCE, en tant qu’administrateur.

images/04ETI36.png

 Déployez Bases de données, MonProjetMultidimensionnel et Cubes et sélectionnez CubeFacturesRevendeurs, puis cliquez sur Nouvelle requête dans la barre d’outils ou appuyez sur les touches [Ctrl] N simultanément.

La fenêtre de conception de requête MDX s’ouvre, avec un volet présentant les éléments du cube.

 Saisissez le code suivant pour afficher le montant des ventes HT en précisant on columns à la fin de l’instruction SELECT. L’instruction SELECT correspond à ce qui va être affiché dans le résultat de la requête. Exécutez la requête en cliquant sur le bouton approprié dans la barre d’outils ou appuyez sur la touche [F5].

SELECT [Measures].[Sales Amount] on columns 
FROM [CubeFacturesRevendeurs] 
images/04ETI40.png

Dans le volet Résultats, le libellé de la colonne correspond à la traduction en français et la valeur affiche le symbole de l’euro.

 Pour ajouter les libellés de produit en français devant chaque...

Traduction des intitulés

Il est possible de gérer plusieurs langues pour afficher les libellés dans la langue de l’utilisateur.

Vous allez traduire les libellés en français et en anglais.

 À partir du concepteur de cube, ouvrez l’onglet Traductions. Tous les libellés d’objet prenant en charge la traduction s’affichent.

 Cliquez sur l’icône Nouvelle traduction (troisième en partant de la gauche dans la barre d’icônes) et choisissez la langue souhaitée : Français (France).

 Cliquez sur le bouton OK pour ajouter une colonne à remplir avec les traductions. 

images/04ETI11.png

 Recommencez l’opération en choisissant cette fois Anglais (États-Unis) et traduisez chaque libellé dans la colonne appropriée (attention : veillez à choisir une langue prise en charge dans l’outil de restitution) :

images/04ETI12.png

 Enregistrez et traitez le cube. Allez sur l’onglet Navigateur et reconnectez-vous au cube recalculé en cliquant sur l’icône Reconnexion (troisième en partant de la gauche de la barre d’icônes). Puis vérifiez les libellés des mesures sur la gauche. Avec la langue Par défaut, les libellés sont en français parce que les paramètres de la machine sont en français.

images/04ETI13.png

 Choisissez la langue Anglais (États-Unis)...

Perspectives

Les perspectives représentent des sous-ensembles de cube. Par exemple, on souhaite créer un modèle pour le service logistique avec les mesures nécessaires à ce service. Cela permet aussi d’éliminer les agrégations qui n’ont pas de sens pour ce sous-ensemble.

 À partir de la conception du cube, sous l’onglet Perspectives, cliquez sur l’icône Nouvelle perspective (troisième en partant de la gauche dans la barre d’outils).

images/04ETI23.png

 Nommez la perspective Logistique et décochez les mesures, dimensions et calculs suivants :

  • Product Standard Cost

  • Sales Amount

  • Total Product Cost

  • Due date

  • Coeff marge

  • Taux marge

  • YTD ventes HT

images/04ETI24.png

 Enregistrez et traitez le cube.

 Pour vérifier cette perspective, cliquez sur l’onglet Navigateur, puis sur les .. (Parcourir) à droite du libellé du cube dans le volet de gauche. Une boîte de dialogue s’affiche. Sélectionnez la perspective Logistique.

images/04ETI25.png

 Cliquez sur OK.

 Développez Measures et Factures revendeurs dans le volet de gauche. Seules les mesures et dimensions choisies dans la perspective s’affichent.

images/04ETI26.png

Restitution dans Power BI

Une fois le cube réalisé, il peut être présenté via Excel ou d’autres applications, comme l’outil de visualisation de données Power BI.

L’objectif de ce chapitre n’est pas de proposer un cours sur Power BI, mais d’expliquer comment utiliser les données d’un cube via cet outil. Il est possible de choisir d’autres visuels pour "raconter une histoire" avec les données, mais cet ouvrage s’attache à comparer les différentes manières d’effectuer des analyses multidimensionnelles et à inspecter les calculs et leurs résultats.

Une fois le rapport connecté au cube, cinq pages vont être créées pour présenter l’ensemble des données du cube. Cela va permettre de vérifier certains comportements du cube qui ne sont pas pris en compte dans le navigateur du projet SSAS de Visual Studio, comme le format des nombres.

Les cinq pages sont les suivantes :

  • Calendrier, pour vérifier les analyses chronologiques.

  • SansCalculs, pour examiner les formats des nombres.

  • AvecCalculs, pour inspecter les calculs.

  • KPI, pour présenter l’indicateur de performance clé.

  • YTD, pour observer certaines mesures.

Si les résultats ne correspondent pas à ce qui devrait être, il est nécessaire d’effectuer les corrections dans le projet SSAS, de générer le cube, puis de revenir sur le rapport et d’actualiser les données en cliquant sur le bouton Actualiser dans la barre d’outils de l’onglet Accueil, au sein de la section Requêtes.

images/04ETI72.png

Voici la première page du rapport qui va être créée avec trois visuels utilisant les hiérarchies chronologiques.

images/04ETI73.png

 Ouvrez l’application Power BI Desktop et cliquez sur Obtenir les données. Sélectionnez Base de données SQL Server Analysis Services et cliquez sur le bouton Se connecter.

images/04ETI44.png

 Renseignez la zone Serveur en indiquant le nom de l’instance...

Partitions

Lorsqu’un cube est créé, une partition est définie pour ce cube en utilisant le mode de stockage MOLAP (Multidimensional Online Analytical Processing) sans agrégation, c’est-à-dire pas encore pré-calculé.

Ce mode de stockage MOLAP permet de stocker toutes les agrégations et les données de niveau feuille pour obtenir des hautes performances lorsque le cube est interrogé. Ainsi, les réponses sont prêtes avant que les questions soient posées.

Si les performances sont insatisfaisantes, il est possible de créer d’autres partitions et de définir les paramètres de stockage et d’écriture, à l’aide d’un assistant, via l’onglet Partitions.

Les partitions peuvent être situées dans un seul et même endroit ou sur plusieurs serveurs pour répartir la charge, et être mises à jour en parallèle.

Il est possible aussi de traiter les partitions, c’est-à-dire de les mettre à jour, à différentes périodes.

Par exemple, il est possible de créer des partitions pour chaque année où ont été passées des commandes, en se basant sur le champ OrderDate.

Dans un premier temps, il est nécessaire de modifier la partition d’origine pour lui ajouter un filtre....

Exercices

Les exercices suivants sont à réaliser à partir du projet SSAS nommé SSASDistrisysM créé au SSAS Projet (cf. section Corrigés).

Modifier la mise en forme

Choisissez le format monétaire pour toutes les mesures, sauf quantité.

Et affichez le séparateur de milliers pour les mesures Quantite et Fact Facture Nombre.

Renommer des éléments

Renommez le groupe de mesures Fact Facture en Facture.

Renommez la dimension Dim Temps en Temps, Dim Client en Client et Dim Produit en Produit.

Renommez l’attribut Produit Code en Code produit, Mois Nom en Mois, Semaine Delannée en Semaine, Semestre Nom en Semestre et Trimestre Nom en Trimestre.

Renommez la mesure Fact Facture Nombre en Nb lignes facture.

Regrouper des éléments dans un dossier

Déposez les mesures Cout Direct Main Oeuvre, Cout Direct Matiere et Cout Indirect dans un dossier nommé Cout.

Masquer des attributs

Masquez toutes les clés primaires.

Créer des mesures

Créez les mesures calculées suivantes avec les règles de calcul correspondantes et le format d’affichage approprié :

  • % marge = Marge / CA, en pourcentage.

  • % remise = Remise / Prix catalogue, en pourcentage.

  • Cout total = Cout Direct Matière + Cout Direct Main Oeuvre + Cout Indirect, monétaire, à placer dans le dossier Cout.

  • Prix de vente moyen = CA / Quantité...

Corrigés

Modifier la mise en forme

 À partir du concepteur du CubeFactures, déployez le groupe de mesures Fact Facture dans la section Mesures en haut à gauche de l’écran, puis cliquez sur la première mesure nommée Prix Catalogue pour faire apparaître ses propriétés dans la section en bas à droite de l’écran. Faites défiler vers le bas la fenêtre Propriétés avec l’ascenseur de droite pour que s’affiche la propriété FormatString et choisissez Currency.

images/04ETI98.png

 Répétez cette opération pour les mesures suivantes :

  • Remise

  • CA

  • Marge

  • Cout Direct Matiere

  • Cout Direct Main Œuvre

  • Cout Indirect

 Saisissez cette formule # ### ##0;-# ### ##0 pour les mesures Quantite et Fact Facture Nombre.

images/04ETI99.png

Renommer des éléments

Pour renommer le groupe de mesures :

 À partir du concepteur de cube, dans la fenêtre Mesures en haut à gauche de l’écran, cliquez sur le groupe de mesures Fact Facture pour qu’il apparaisse en surbrillance. Faites un clic droit pour afficher le menu contextuel et sélectionnez Renommer. Effacez Fact, espace compris, validez la modification à l’aide de la touche [Entrée] pour voir le libellé Facture.

images/04ETI100.png

Pour renommer les dimensions :

 Toujours dans le concepteur de cube, dans l’Explorateur de solutions, en haut à droite de l’écran, cliquez sur la dimension Dim Client du dossier Dimensions pour qu’elle apparaisse en surbrillance et appuyez sur la touche [F2]. Effacez Dim et l’espace, puis validez le libellé Client en appuyant sur la touche [Entrée]. Le message Voulez-vous également changer le nom de l’objet ? s’affiche.

images/04ETI101.png

 Cliquez sur le bouton Yes.

 Naviguez vers la dimension suivante, puis revenez sur la dimension Client.

Le nom de l’objet et celui du fichier sont modifiés, mais pas l’identifiant.

images/04ETI102.png

 Effectuez un clic droit sur la dimension Dim Produit, puis choisissez Renommer dans le menu contextuel et modifiez le libellé en Produit.

 Répétez l’opération pour la dimension Dim Temps.

images/04ETI103.png

Pour renommer les attributs :

 Ouvrez le concepteur de dimension de la dimension Produit. Effectuez un clic droit...