Connecter EBP à Power BI

RappelObjectif

Réussir à réaliser en utilisant les données EBP des tableaux de bord de visualisation tels que celui-ci (réalisé avec Power BI) : EXEMPLE DASHBOARD POWER BI.

MéthodeLe cheminement

Avant de pouvoir générer des visualisations et des rapports pour synthétiser nos données, il va nous falloir passer par plusieurs étapes.

  1. Connecter Power BI à la base de données EBP pour avoir accès aux données qui y sont stockées ;

  2. Choisir le type d'informations qui nous intéresse : ventes ? factures ? clients ? Devis ? Nous appelons ces types d'informations des Tables. Une table est un peu comme une feuille Excel dans laquelle on stocke des infos. Exemple : une table de clients est un fichier dans lequel pour chaque client, on stocke ses nom, prénom, date de naissance, adresse, etc.

  3. Pour chaque Table, il s'agit ensuite de choisir ce que nous voulons garder comme données. Reprenons notre exemple : notre Table Client est composée des champs/colonnes suivants -> nom, prénom, date de naissance, adresse. Pour notre étude, nous n'avons pas forcément besoin de toutes ces colonnes. Par exemple, si nous souhaitons obtenir des statistiques sur la provenance des clients dans le but de cibler nos campagnes promotionnelles, les informations de nom et prénom nous serons inutiles. Nous allons donc sélectionner uniquement les colonnes utiles.

  4. Une fois les colonnes sélectionnées pour toutes les Tables que nous souhaitons manipuler, il s'agira de dire quelles sont les relations entre les Tables. Supposons par exemple que nous disposions de trois tables : les devis, les factures, les produits et les clients. Il s'agit d'expliquer à l'outil informatique qu'un devis concerne un ou plusieurs produits, et qu'il a été réalisé pour un client. De même, une facture est associée à un devis. Ces manipulations sont simples mais très importantes.

Nous pourrons ensuite enfin commencer à faire les visualisation. Ces 4 étapes sont fastidieuses et un peu techniques mais ne comportent rien de très complexe. Attention cependant à bien les suivre !

DéfinitionTable (Base de données)

Pour faire l'analogie avec Excel, une table dans une base de données est un peu comme une feuille Excel. C'est un grand tableau qui permet de stocker des données liées à un domaine spécifique. Ainsi, dans la base de données d'un système comme EBP, on trouve une table par type de données : une table pour les clients, une table pour les produits, une table pour les devis, etc.

Les tables permettent d'organiser les données de façon structurées dans la base de données.

DéfinitionColonne/Champ (Base de données)

L'analogie avec Excel est encore plus immédiate que pour la Table. Si une Table est une feuille Excel, un champ correspond à une colonne Excel. Tout comme dans une feuille Excel, les tables sont donc décrites par des champs/colonnes. Exemple, la Table Client peut être composée des champs/colonnes suivants  : nom, prénom, date de naissance, adresse.

MéthodeÉtape 1. Connecter Power BI à la base de données EBP

Pour se connecter à la base données, ouvrez Power BI et sélectionnez le menu comme sur l'image de gauche.

Renseignez ensuite l'emplacement du serveur de base de données. Il s'agit ici d'expliquer à Power BI comment se connecter à la base de données. Dans l'image précédente, nous avons vu que la base de données d'EBP est de type SQL Server. L'adresse de cette base de données est "localhost/ebp".

Une fois connectée, il vous sera sûrement demandé un login et un password, les voici :

  • login : sa

  • pwd : @ebp78EBP

Si l'on vous propose plusieurs connexions, choisissez la connexion vers ce qui commence par "b7c1...". Il s'agit en effet de se connecter aux informations stockées par la démo EBP de la gestion commerciale.

DéfinitionServeur

Un serveur est soit :

  • Un matériel informatique qui est en permanence allumé, utilisable, une ressource pour des utilisateurs qui peuvent donc s'en servir pour obtenir du stockage ou de la puissance de calculs ;

  • Un logiciel en permanence actif sur un matériel informatique. C'est le cas des bases de données. Toujours lancées en tâche de fond, les bases de données sont utilisées par d'autres logiciels qui y stockent leurs données sans que les utilisateurs s'en aperçoivent.

MéthodeÉtape 2. Choisir les tables à importer

Une fois connectés à la base de données, il s'agit d'importer les tables qui nous intéressent comme dans les images ci-dessous.

Nous allons importer les tables suivantes :

  • Clients (Customer en anglais)

  • Les produits (Item en anglais)

  • Les Fournisseurs (Suppliers en anglais)

  • Les factures (SalesDocument en anglais)

Ces informations nous permettront de produire des visualisations intéressantes sans nous surcharger de données. Comme vous allez le voir, EBP contient une quantité hallucinante de tables ! Et il faut beaucoup de temps et d'expertise pour savoir ce qu'elles stockent et comment utiliser ces données. Contentons nous donc des tables suivantes.

AttentionAvant de poursuivre

Vous devez disposer des tables :

  • SaleDocument

  • SaleDocumentLine

  • Customer

  • CustomerFamily

  • Supplier

  • SuplierFamily

  • Item

  • ItemFamily

MéthodeÉtape 3. Sélectionner les colonnes

Une fois les tables qui nous intéressent importées, nous allons sélectionner les champs/colonnes qui nous intéressent. Encore une fois, comme vous allez le voir, chaque table contient énormément de colonnes, dont certaines qui semblent très obscures (voir image à droite). Bref, nous allons aller droit au but et considérer des colonnes dont le contenu est clair.

Pour sélectionner uniquement les colonnes qui nous intéressent, il s'agit de cliquer sur "Modifier les requêtes" comme sur l'image de dessous.

Puis nous allons pouvoir : "Gérer les colonnes > Modifier les colonnes".

Enfin, nous pouvons ainsi choisir les colonnes à sélectionner comme ci-dessous pour la Table Customer.

On appliquera la même procédure avec la Table CustomerFamily en choisissant les champs suivants :

De manière générale, pour toutes les tables de type "...Family", nous ne conserverons que les champs précédents : Id et Caption. Appliquez donc cela aux tables ItemFamily et SupplierFamily.

Sélectionnons ensuite les colonnes de la table Item comme dans les deux images qui suivent :

Réalisez la sélection des colonnes pour que les tables suivantes contiennent les mêmes colonnes qu'affiché :

MéthodeÉtape 4. Organiser les liens entre les tables

Une fois les colonnes sélectionnées pour toutes les Tables que nous souhaitons manipuler, il s'agira de dire quelles sont les relations entre ces Tables. Supposons par exemple que nous disposions de trois tables : les devis, les factures, les produits et les clients. Il s'agit d'expliquer à l'outil informatique qu'un devis concerne un ou plusieurs produits, et qu'il a été réalisé pour un client. De même, une facture est associée à un devis. Ces manipulations sont simples mais très importantes. Nous allons donc gérer les relations comme dans l'image suivante :

Dans un premier temps, l'outil va nous permettre de détecter certaines relations automatiquement comme ci-dessous :

Voici ce que nous obtenons (ci-dessous) si tout se passe bien. Les rectangles sont nos Tables. A l'intérieur de nos rectangles, nous trouvons les champs/colonnes sélectionnés pour chacune de nos tables.

Nous allons ensuite ajouter des relations comme ci-dessous. Pour cela, il suffit de cliquer sur un champ dans une table, de garder le bouton de la souris enfoncé puis de la déplacer vers une autre table, sur le champ qui convient. Ici, ci-dessous, nous allons connecter le champ FamilyId de la Table Customer avec le champ Id de la table CustomerFamily. Ces deux champs contiennent en fait la même information et doivent donc être connectés.

C'est ci-dessous le même principe avec Supplier et SupplierFamily.

AttentionAvant de poursuivre

À la fin, les tables doivent être liées comme ci-dessous.

MéthodeÉtape 5. Organiser les données pour les visualiser

Nous avons maintenant importé les données qui nous intéressaient en les structurant convenablement, comme elles l'étaient dans la base de données EBP.

Malheureusement, cette organisation est insuffisante pour nous permettre de produire des visualisations efficacement. Cependant, c'était un premier pas nécessaire avant cette étape qui va nous permettre de regrouper toutes les données dans une seule grande table ! Cette grande table est appelée pompeusement cube de données ou cube OLAP.

Pour produire ce cube de données, nous allons fusionner les tables deux à deux en utilisant les liens créés à l'étape 4.

Nous allons choisir comme point de départ la Table SaleDocumentLine. SaleDocumentLine est connectée à Item (voir fin de l'étape 4), et ces deux tables vont donc pouvoir être fusionnées. Une fois fusionnées, la nouvelle table contiendra les données de SaleDocumentLine et celles d'Item. Puisqu'Item est connecté à ItemFamilly, cette nouvelle table pourra également être connectée à ItemFamily... Et ainsi de suite.

Pour fusionner deux tables, utiliser le menu comme ci-dessous :

Sélectionner les tables à fusionner, et les champs/colonnes qui permettent de faire la fusion. Les champs utilisés sont ceux qui connectent les tables les unes aux autres dans l'étape 4. Ici par exemple ci-dessous, il existe un champ ItemId dans la table SaleDocumentLine. Ce champ indique quel objet a été vendu et se réfère au champ id de la table Item.

Une fois la fusion faite, une nouvelle colonne apparait. Celle-ci s'appelle "NewColumn" et contient des entrées notées "Table". Cette colonne contient en fait toutes les colonnes issues de la fusion. Pour récupérer ces colonnes, il faut opérer comme ci-dessous avec un clic en haut de la colonne pour pouvoir la développer et montrer ainsi les nouveaux champs. Ci-dessous, nous n'avons coché que les champs FamilyId et Caption mais vous pouvez en cocher plus :

Et voilà ! Une fois les champs sélectionnées, les nouvelles colonnes apparaissent. Dans notre exemple, nous avions choisi les champs FamilyId et Caption, les voici apparus ci-dessous :

Utilisez ce procédé pour fusionner deux à deux toutes les tables jusqu'à avoir toutes les données dans une grande table qui sera utilisée pour la visualisation.