
Modèle de données Power BI
Si vous ne savez pas (ou n'êtes pas sûr à 100%) ce qu'est un modèle de données Power BI, vous êtes au bon endroit. Je vois beaucoup de gens confus quant à ce terme «modèle de données», et franchement, je ne blâme personne d’être confus - c’est un concept étranger à la plupart des analystes métier non informaticiens. Dans cet article, j'expliquerai ce qu'est un modèle de données afin qu'il ait un sens pour vous.
Qu'est-ce qu'un modèle de données?
En bref, un modèle de données regroupe les éléments suivants :
• tables de données chargées
- avec une ou plusieurs colonnes qui ont été chargées pour une raison (ne chargez aucune colonne de votre source dans votre modèle sauf si vous avez une raison).
- avec une ou plusieurs lignes de données qui ont été chargées pour une raison (ne chargez pas les lignes de votre source dans votre modèle sauf si vous avez une raison).
• relations entre les tables chargées
• les mesures : des formules écrites qui appliquent les règles de gestion métier aux données brutes pour extraire des informations pertinentes (par exemple, le prix de vente moins le prix de revient permet de calculer la marge), y compris
- les formules elles-mêmes
- la mise en forme appliquée aux formules
- les dénominations métiers attribuées aux formules
Tout ce qui précède constitue ce que l'on appelle «le modèle de données» dans Power BI (également pour Analysis Services Tabular, Power Pivot pour Excel et sans aucun doute d'innombrables autres outils de BI).
Pourquoi ai-je besoin d'un modèle?
Power BI est un outil de reporting BI basé sur un modèle de données; tous les outils de BI ne sont pas basés sur des modèles de données. SQL Server Reporting Services (SSRS) est un exemple d'outil de BI non basé sur un modèle de données. Les outils de création de rapports BI non basés sur un modèle de données nécessitent que le développeur de rapports génère d'abord une requête pour extraire les données d'une base de données (généralement SQL Server) et renvoie les résultats de cette requête à SSRS afin que les résultats puissent être rendus dans un rapport. De nombreux outils de création de rapports non basés sur des modèles de données ont une interface utilisateur qui aide à la génération de la requête (si vous souhaitez l'utiliser), ou vous pouvez également utiliser un langage de script comme T-SQL pour récupérer les données dont vous avez besoin pour chaque rapport.
Un deuxième exemple est Excel. Excel traditionnel est également un outil de BI non basé sur un modèle de données. Par Excel traditionnel, j'entends Excel l'outil de feuille de calcul sans les compléments BI modernes de Power Query et Power Pivot. Dans le cas d'Excel traditionnel, l'utilisateur charge les données dans la feuille de calcul, puis relie et agrège logiquement les données à l'aide de formules Excel et crée un rapport (souvent sur une nouvelle feuille) pour résumer et présenter les résultats (le rapport).
Ne confondez pas «un outil» de reporting traditionnel avec «un outil basé sur un modèle de données». Excel un outil très flexible qui vous permet de créer pratiquement n'importe quel rapport sans être un programmeur. En fait, je pense qu'Excel est probablement le meilleur et le plus populaire outil de BI jamais inventé. Mais ce n’est pas un outil basé sur un modèle de données, car il n’a pas de modèle de données.
Il n'y a rien de mal à utiliser un outil de BI non basé sur un modèle de données - c'est simplement qu'il s'agit d'une approche différente de l'utilisation d'un outil basé sur un modèle de données. Le plus gros «problème» avec les outils de reporting non basés sur des modèles de données est que chaque fois que vous avez besoin d'un nouveau rapport, vous devez recommencer, souvent à partir de zéro. Chaque rapport a un seul objectif avec très peu de réutilisabilité ou d'extensibilité.
Les avantages d'un outil basé sur un modèle de données comme Power BI sont les suivants:
• le créateur du «modèle de données» crée une valeur réutilisable (le modèle de données) qui peut être utilisée pour résoudre les besoins actuels en matière de rapports ainsi que les besoins (souvent) futurs sans avoir besoin de revenir en arrière et d'écrire d'autres requêtes pour récupérer un nouveau sous-ensemble de données.
• le créateur peut souvent être un utilisateur métier (normalement avec de bonnes compétences en Excel) - il n’est pas nécessaire d’être un administrateur de base de données ou un expert SQL.
• Le modèle est de nature «conceptuel», soutenu par une interface conviviale qui vous permet de «créer» le modèle de manière logique avec le minimum de codage.
Remarque: vous devrez coder (écrire des formules) pour un bon modèle, mais pas plus difficile que les formules de calculs dans Excel une fois vous avez les compétences nécessaires.
La vue du modèle dans Power BI Desktop
Dans Power BI Desktop, vous trouverez la «vue du modèle». L'image ci-dessous montre la structure tabulaire de la base de données Adventure Works.
Ci-dessus, vous pouvez voir:
•Les tables
• Les colonnes des tables (bien que ce ne soit pas la meilleure vue pour les colonnes - mieux vaut utiliser la vue des données)
• Les relations entre les tables (si elles existent)
• Les types de relations (celles ci-dessus sont toutes «1 à plusieurs»)
• La direction de propagation du filtre entre les tables à l’aide des relations
Ce que vous ne pouvez pas voir dans cette vue de modèle, ce sont les mesures (les formules qui génèrent les KPI à partir des données brutes).
Les mesures font partie de votre modèle Comme je l'ai déjà mentionné. Les mesures sont l'ensemble des instructions standard qui indiquent à Power BI comment extraire les KPI métier et ceux-ci font partie de votre modèle de données. Permettez-moi d'illustrer par un exemple.
Considérez la colonne ExtendedAmount de la table des ventes (illustré ci-dessous).
Il s'agit d'une colonne de nombres qui est stockée dans la table des ventes dans le modèle de données. Ces chiffres représentent la valeur totale des ventes d'un article (une ligne de la table correspond à un article). Par exemple si vous avez acheté 2 produits à 5,00 $ chacun, le montant total serait de 10,00 $. Il s'ensuit donc que
• Si j'additionne la colonne, cela me donne la valeur totale de toutes les transactions de vente
• Si je compte les valeurs de la colonne, cela me dira combien d'article sont concernées par ces ventes
• Si je fais la moyenne des valeurs de la colonne, cela me dira la valeur moyenne des ventes par client
• Si je trouvais la valeur maximale dans la colonne, cela m'indiquerait la plus grande valeur des ventes qui s'est produite.
Power BI est plus que capable de faire tout ce qui précède sans que vous ayez besoin d'écrire des formules. Mais Power BI n'a aucune idée de la signification de chacune des formules ci-dessus dans un contexte métier. Il peut effectuer les calculs, mais il ne peut pas vous donner un bon nom fonctionnel pour le résultat, ni choisir la mise en forme numérique la plus appropriée pour le résultat. Si vous voulez ces choses, vous devez le faire vous-même. Vous devez étendre le modèle de données pour inclure des mesures (formules) pour répondre à vos besoins. Vous pouvez écrire les mesures suivantes:
Total Sales Value = SUM(Sales[ExtendedAmount]) format as Currency, 0 decimals
Total Line Items = COUNT(Sales[ExtendedAmount]) format as whole number, comma separated
Average Line Item Value = AVERAGE(Sales[ExtendedAmount]) format as Currency, 2 decimals
Maximum Line Item Value = MAX(Sales[ExtendedAmount]) format as Currency, 2 decimals
Ce ne sont que des exemples simples qui fonctionnent sur une seule colonne de données. Tous ces éléments peuvent être calculés par Power BI sans avoir besoin d'apprendre le langage de formule DAX. Mais si vous voulez quelque chose de plus complexe (et probablement plus utile), vous devrez certainement apprendre un peu de DAX pour tirer le meilleur de Power BI.
Votre modèle est un atout
Je considère souvent un modèle de données Power BI comme un atout - quelque chose que vous construisez et améliorez au fil du temps. Plus vous mettez d'efforts dans votre modèle, plus il devient précieux. Lorsque vient le temps de créer un nouveau rapport sur vos données, vous ne recommencez pas (comme vous le faites généralement avec des outils non basés sur un modèle). Au lieu de cela, vous prenez votre modèle de données et le réutilisez à nouveau. Si vous avez de la chance, il n'y a rien à changer et vous pouvez simplement créer un nouveau rapport en plus de vos rapports existants. Parfois, vous devrez améliorer un peu votre modèle pour répondre au nouveau besoin. Dans ce cas, vous capitalisez d'abord sur le modèle que vous avez précédemment créé, puis créez vos nouveaux rapports par-dessus.