1. Livres & vidéos
  2. Power BI Desktop
  3. Le modèle
Extrait - Power BI Desktop Renforcer, approfondir, explorer (2e édition)
Extraits du livre
Power BI Desktop Renforcer, approfondir, explorer (2e édition) Revenir à la page d'achat du livre

Le modèle

État de l’art pour mettre en place un modèle sémantique utile

Ce point a déjà été longuement détaillé dans le premier livre de cette série - Power BI Desktop, Reporting et analyse de données au quotidien, 3e éd., paru en septembre 2024 aux Éditions ENI, et nous ne verrons donc ici qu’un bref rappel, en appuyant cependant sur certains aspects essentiels.

Rappelons tout d’abord l’importance critique de cette étape, qui intervient juste après la requête.

C’est en effet dans la Vue de modèle que vous allez préparer les tables pour leur utilisation dans Power BI : la Vue de modèle, c’est ce qui permet de faciliter l’écriture des formules DAX, de s’assurer que le fonctionnement de Power BI est optimal, et de mettre en place un modèle sémantique clair et utile.

Rappelons-donc ici en quelques mots la démarche, qui est essentiellement toujours la même :

  • vérifier les relations entre les tables, et au besoin les créer ;

  • disposer les tables dans la vue ;

  • ajouter la table calendrier (création, marquage, relation avec les autres tables) ;

  • créer des mesures explicites ;

  • organiser les colonnes et les mesures.

Rappel : pour accéder à la Vue de modèle, cliquez sur le troisième bouton dans la barre verticale à gauche.

images/02SOB001.png

L’option Date/Heure automatique doit impérativement être désactivée (voir l’introduction de cet ouvrage).

Vous pouvez, si vous le souhaitez, partir du fichier 02-livres.pbix, qui est le résultat des manipulations faites dans le chapitre précédent. Le fichier 02-livres-final.pbix présente le résultat des manipulations de ce chapitre.

Les relations sont au cœur du fonctionnement de Power bi

Rappel : la relation dans Power BI a pour unique objectif de permettre la circulation de l’information entre les tables (autrement dit, avec les termes de Power BI : pour permettre la propagation du filtre). Par exemple, un tableau avec les trois commerciaux et les quantités vendues (dans la table Détail des commandes), affiche en face de chaque commercial les quantités qui lui sont attribuées. Pour cela, l’information "Qui est le commercial"...

Agréger les tables avec la fonction SUMMARIZECOLUMNS

C’est là aussi un rappel : une table d’agrégat est une technique pour optimiser l’affichage des visuels, en précalculant certaines mesures.

Cette technique est décrite en détail dans la section Créer un agrégat à partir de plusieurs tables dans Power BI, dans le chapitre Les données.

Intérêt et utilisation des fonctions INFO

Les fonctions INFO, introduites récemment dans Power BI, ont pour but de fournir des métadonnées (des informations) sur le modèle sémantique : combien de tables, combien de colonnes, quelle taille, quelles sont les mesures et leurs dépendances avec d’autres mesures, quelles sont les sources de données…

C’est donc un outil puissant pour documenter ou explorer un modèle sémantique, c’est-à-dire livrer un modèle sémantique avec les informations nécessaires pour qu’un utilisateur puisse le comprendre et prendre en main le rapport.

Il existe une soixantaine de fonctions INFO, nous allons détailler ici celles qui sont le plus souvent utilisées dans le cadre de la documentation d’un modèle sémantique.

Les fonctions INFO.VIEW retournent une table, ce qui rend leur utilisation facile dans une page de rapport.

La meilleure façon de découvrir les fonctions INFO consiste à utiliser la vue de requête DAX. La plupart des fonctions ne peuvent être utilisées que dans cette vue, mais d’autres, les fonctions INFO.VIEW, permettent de créer une table, ce qui rend leur utilisation pratique dans une page de rapport.

Commençons par nous tourner vers la vue de requête DAX et découvrons trois exemples.

Des informations sur les tables

 Ouvrez la Vue de requête DAX de votre fichier Livres (c’est le quatrième bouton sur la gauche de la fenêtre Power BI) :

images/02SOB025n.png

 Dans l’onglet, supprimez ce qui est déjà affiché et saisissez la formule suivante :

EVALUATE INFO.VIEW.TABLES() 

 Cliquez sur Exécuter (ou tapez F5) pour lancer la requête.

images/02SOB026n.png

Beaucoup de colonnes sont affichées, c’est la raison pour laquelle nous associerons à terme cette fonction à la fonction SELECTCOLUMNS. Notez que cette fonction permet de créer une table.

Les informations les plus utiles sont sans doute :

  • le nom de la table ;

  • la description (si elle est renseignée) ;

  • le mode de stockage (Storage Mode) ;

  • l’expression (l0e code DAX) dans le cas de tables calculées.

Des informations sur l’actualisation des tables

Une autre fonction permet de lister les tables du rapport, d’identifier...

Ajouter des descriptions avec les fonctions INFO, le code TMDL et une IA générative

Une autre utilisation des fonctions INFO, associée au langage TMDL et à l’IA générative permet de générer en quelques secondes une description de l’ensemble des mesures de votre rapport.

Bien sûr, les descriptions restent génériques et ne sauraient être qu’une première approche - sauf à travailler sur une IA très bien documentée sur vos process et règles métiers - c’est-à-dire à laquelle vous aurez fourni des informations de contexte sur votre activité, des descriptions de vos process, etc.

Elle est toutefois suffisante et suffisamment simple pour apporter de l’aide.

Les étapes sont les suivantes :

  • saisir la description d’une mesure, qui servira d’exemple à l’IA ;

  • extraire le code TMDL de la table des mesures ;

  • fournir ce code, avec un prompt adapté, à une IA générative pour qu’elle génère des descriptions pour chaque mesure ;

  • copier la réponse et la coller dans Power BI pour appliquer les changements (c’est-à-dire pour ajouter la description à chaque mesure).

Commençons par la description de la mesure :

 Affichez la Vue de modèle.

 Sélectionnez la mesure...

Utiliser Copilot pour écrire le DAX

C’est un autre apport intéressant de l’IA générative dans Power BI : Copilot peut vous aider à créer des mesures en DAX, et le fait plutôt bien d’après les tests que j’ai effectués. Le secret, c’est le modèle en étoile : Copilot y est particulièrement attaché, et les résultats dépendent beaucoup de votre modèle.

La capacité des IA génératives à comprendre le code est meilleure chaque jour : tout récemment, j’ai vu un exemple de code DAX complexe généré par ChatGPT sur une grande table à plat (type Excel).

Pour utiliser Copilot pour générer le DAX, vous devez être dans la Vue de requête DAX. Copilot doit avoir été implémenté, et le rapport doit avoir été publié dans un espace de capacité Fabric.

 Dans la Vue de requête DAX, cliquez sur le bouton Copilot pour ouvrir une fenêtre de prompt :

images/02SOB041.png

 Utilisez le fichier Chapitre01.pbix, où vous trouverez la requête Transactions, ou utilisez votre fichier.

 Saisissez le prompt suivant pour créer une mesure explicite pour la quantité (de la table transactions) :

images/02SOB042.png

DEFINE et MEASURE sont des mots-clés liés à la vue de requête...