Mettre en place le modèle de données
Importance de la Vue de modèle et méthode
Je ne saurais trop insister sur l’importance de la Vue de modèle. Cette étape, qui intervient juste après la requête, est le cœur du fonctionnement de Power BI.
Si vous êtes connecté à un modèle sémantique, la Vue de modèle est déjà prête.
Si vous êtes connecté à une source ne contenant qu’une seule table (une grande table dans Excel par exemple), le rôle de la Vue de modèle est moins critique, et le travail de mise en place du modèle peut, dans une certaine mesure, être ignoré. Mais ceci est sujet à caution, et n’est pas considéré comme la meilleure pratique.
La Vue de modèle a plusieurs rôles essentiels :
-
vérifier les relations entre les tables, et au besoin créer, modifier ou supprimer des relations ;
-
ajouter, si elle n’existe pas déjà, une table du temps (un calendrier) ;
-
améliorer la lisibilité du modèle de données, et sa facilité d’utilisation.
La mise en place du modèle est une séquence de tâches clairement définies, et ne prend en définitive que peu de temps. Mais le bon accomplissement de cette séquence est déterminant pour la suite de votre travail dans Power BI.
Voici la checklist...
Mise en place de l’exemple
Nous allons créer un nouveau fichier Power BI pour illustrer tout ce chapitre. Vous trouverez le résultat de ce travail dans le fichier Livres.pbix, mais je vous recommande de refaire ce travail, qui reprend les points vus dans les chapitres précédents.
Les sept tables que nous allons importer, issues de deux sources différentes, représentent les ventes d’une librairie. Vous y trouverez des clients, des commandes, des commerciaux, et des livres. Bien qu’elles se présentent sous forme d’un fichier Excel, il s’agit à l’origine d’une vraie base de données, avec des codes et des identifiants.
Notez que les données relatives aux clients sont stockées dans un fichier à part (Livres_clients.xlsx).
Ouvrez un nouveau fichier Power BI.
Utilisez le connecteur Excel et sélectionnez le fichier Livres.xlsx.
Sélectionnez toutes les tables (sauf la table suggérée au bas de l’écran) et chargez les données :
Ajoutez une nouvelle source Excel (cliquez à nouveau sur le connecteur Excel) pour aller chercher cette fois-ci la table des clients (fichier Livres_clients.xlsx), et chargez les données.
Vous remarquerez que les colonnes des tables Clients, Catégorie et Paiement ne sont pas correctement nommées : en effet, Power BI n’a...
Comprendre les relations
La bonne utilisation de cette fenêtre suppose de comprendre le rôle central des relations dans Power BI.
Pour le dire simplement, la relation a pour objectif de permettre la circulation de l’information entre les tables. Par exemple, un tableau avec les trois commerciaux et les quantités vendues (dans la table Detail des commandes), affiche en face de chaque commercial les quantités qui lui sont attribuées. Pour cela, l’information "Qui est le commercial" doit arriver à la table Detail des commandes : c’est à cela que servent les relations.
En l’absence de relation, les chiffres sont manifestement faux
Une fois la relation créée, les résultats sont corrects
La relation est donc un chemin, permettant la circulation entre un point A et un point B, passant par une ou plusieurs tables. Ce mécanisme, dans le langage de Power BI, se dit « propagation du filtre », et c’est le concept fondamental de Power BI.
Le chemin peut être à sens unique (c’est ce qu’indique la petite flèche sur le trait représentant la relation - par exemple, entre Catégorie et Livres), ou à double sens. Cette caractéristique est déterminée par les données présentes dans les colonnes de part et d’autre de la relation. C’est ce qu’on...
Vérifier et créer les relations
Dans la Vue de modèle, cliquez sur Gérer les relations, dans le groupe Relations de l’onglet Accueil. Nous allons commencer par vérifier les relations créées automatiquement :
Ce tableau se lit de gauche à droite : Mode de paiement de la table Commandes est bien lié à Mode de paiement de la table Paiement
Ici, les cinq relations sont correctes. Fermez cette fenêtre.
Complétons maintenant avec la relation absente entre les tables Commandes et Detail des commandes, en utilisant Num commande et Numéro de commande.
Pour créer la relation, glissez la colonne d’une table sur la colonne correspondante dans l’autre table. Vous pouvez également, dans la fenêtre Gérer les relations, cliquer sur le bouton Nouvelle relation puis renseigner les tables à l’aide des menus déroulants, et cliquez sur chacune des deux colonnes de la relation :
Les deux colonnes grisées indiquent qu’elles définissent la relation
Une fois les deux relations créées, votre modèle doit ressembler à ceci :
Toutes les tables sont liées, mais le modèle est peu lisible
Power BI crée parfois des relations inutiles ou inadéquates.
Pour supprimer une relation, utilisez la fenêtre Gérer les relations, ou faites un clic...
Disposer les tables dans la Vue de modèle
Dans la section précédente, je soulignais le fait que le modèle est, à ce stade, peu lisible : il n’est pas aisé de « lire » la circulation du filtre.
C’est pour cette raison qu’il est recommandé, dans la Vue de modèle, de positionner les tables de telle sorte que celle qui est du côté 1 soit au-dessus de celle qui est du côté N : avec cette disposition, le filtre ne peut que « descendre », et ne peut pas « remonter ». Ceci va s’avérer très pratique lorsque vous écrirez des formules en DAX, qui sont intrinsèquement dépendante de la circulation du filtre :
Cette disposition permet de bien voir la façon dont le filtre va se propager, du haut vers le bas
Créer la table du temps (un calendrier)
Une table de dates complète et indépendante des transactions elles-mêmes (date de commande, date de facture, etc.) est un gage de qualité pour le modèle de données et l’analyse dans le temps (time intelligence, dans le langage de Power BI). L’idée est notamment de pouvoir référencer toutes les dates, y compris celles où il ne s’est rien passé (une absence de commande est en soi une information).
Cette table est le plus souvent disponible dans une base de données, mais d’autres sources peuvent ne pas en être pourvues.
Dans ce cas, il est essentiel de savoir créer une table du temps. C’est assez simple, mais avant d’aller plus loin, nous devons aller vérifier un paramètre des options.
Ouvrez le menu Fichier, puis cliquez sur l’option Options et paramètres, puis sur Options.
Dans la rubrique GLOBAL, cliquez sur Chargement des données et vérifiez que la case devant Date/heure automatique pour les nouveaux fichiers, dans la section Time Intelligence, est décochée.
Rendez-vous maintenant dans la rubrique FICHIER ACTIF, cliquez sur Chargement des données, et vérifier que la case devant Date/heure automatique, dans la section Time Intelligence, est décochée.
Cliquez sur OK.
Ce paramétrage ne sera...
Créer les mesures explicites
Les mesures vont devenir, à partir de ce point dans le cycle de travail aboutissant au tableau de bord, le centre de l’attention. Pour le dire simplement, une mesure est une formule. Toutes les analyses que vous allez créer à l’aide du DAX, les sommes, les moyennes, les comptages, les analyses plus complexes, toutes seront stockées dans des mesures. Nous aurons longuement le temps de revenir sur ces notions dans le chapitre Analyser les données avec ou sans DAX.
Dans l’immédiat, nous allons nous intéresser aux deux indicateurs clés de notre modèle, les quantités vendues et les montants associés.
Lorsque vous glissez un champ numérique dans un graphique, ce champ est agrégé, c’est-à-dire qu’un calcul lui est ajouté, le plus souvent la somme, pour qu’il reflète le niveau de détail défini par le graphique : par exemple, dans un graphique où figurent le champ Année et le champ Quantité, cette dernière est la quantité totale annuelle. Mais ce même champ, placé dans un visuel où figure cette fois le client, indique la quantité totale pour le client. Nous voyons ici que la définition du champ Quantité n’est pas figée, mais qu’elle reflète le niveau de détail...
Organiser les colonnes au sein d’une table
À partir de là, les manipulations que nous allons faire sont moins fondamentales, mais participent à rendre le modèle plus facile et agréable à utiliser.
Grouper les champs dans une table
Un outil favorisant la lisibilité du modèle consiste à créer, à l’intérieur d’une table, des groupes (des dossiers) rassemblant différents champs. À titre d’exemple, créons un groupe avec certaines données relatives aux livres :
Dans la Vue de modèle, ouvrez le volet Propriétés à la droite de l’écran.
Dans le volet Données, ouvrez la table Livres pour en afficher les colonnes.
Maintenez la touche Ctrl enfoncée et cliquez sur les champs Auteur, Nbre de pages et Prix catalogue afin de les sélectionner.
Dans le volet Propriétés, ouvrez la rubrique Général et saisissez Details dans la zone Afficher le dossier.
Validez à l’aide de la touche Entrée.
À l’intérieur de la table Livres, les données sont maintenant regroupées dans un dossier Détails
Il est d’ailleurs possible de créer des sous-dossiers : pour cela, tapez le nom du dossier principal, puis \ (antislash), puis le nom du sous-dossier.
Masquer ou supprimer tables et colonnes
Améliorer la présentation des données consiste aussi à masquer ou supprimer les champs qui ne seront pas utilisés, ou qui sont redondants.
Cela peut être le cas des colonnes « techniques »...
Utiliser la vue Disposition
Pour les modèles dans lesquels se trouvent beaucoup de tables, il peut être pratique de créer des vues montrant une partie seulement des tables, afin de renforcer la lisibilité du modèle.
Dans la Vue de modèle, cliquez sur le bouton Nouvelle disposition en bas à la gauche de la fenêtre pour créer une nouvelle disposition (un nouvel onglet dans la Vue de modèle).
Renommez cet onglet Vue Livres (clic droit sur l’onglet puis Renommer).
À partir du volet Données à droite de la fenêtre, glissez les tables Catégories, Livres et Detail des commandes.
Vous venez de créer une vue dont le rôle est simplement de clarifier la vision de l’ensemble (dans notre exemple, c’est cependant superflu, car il y a peu de tables). Elle n’a aucun impact sur l’ensemble « réel » des tables et des relations de l’onglet Toutes les tables, c’est juste une vue :
Autres aspects de la Vue de modèle
La Vue de modèle remplit de nombreuses autres fonctions, qu’il serait trop long de détailler ici.
Un petit mot tout de même sur l’onglet Modèle dans le volet Données. C’est un ajout très récent et un centre de contrôle de tout ce qui touche au modèle (relations, mesures, tables, rôles de sécurité, hiérarchie, etc.).
Vous y trouverez un outil particulièrement intéressant pour les connaisseurs de DAX : les groupes de calculs. Sur ce sujet, je vous renvoie à mon deuxième livre sur Power BI.
Le fichier Livres04.pbix, que vous trouverez dans le répertoire Sources, présente l’aboutissement de tout le travail réalisé au cours de ce chapitre.