Module 2 Data Analyst
Module 2 Data Analyst
POWER BI
Leçon 1 : Introduction
Comme la plupart d’entre nous, vous travaillez pour une entreprise où il vous est
demandé de créer des rapports Microsoft Power BI. Les données se trouvent dans plusieurs
bases de données et fichiers différents. Ces référentiels de données diffèrent les uns des autres
: certains sont dans Microsoft SQL Server et d’autres dans Microsoft Excel, mais toutes les
données sont liées.
Dans le scénario de ce module, vous travaillez pour Tailwind Traders. Vous êtes
chargé par un responsable sénior de la création d’une suite de rapports dépendants de données
qui se trouvent à différents emplacements. La base de données qui assure le suivi des
transactions commerciales se trouve dans SQL Server, une base de données relationnelle qui
contient les informations indiquant quel client a acheté quels articles et quand. Elle contient
aussi des informations indiquant quel employé a effectué la vente ainsi que le nom et l’ID de
l’employé.
Quand un article est expédié, l’expédition est enregistrée dans l’application de gestion
des entrepôts, qui est une nouveauté pour l’entreprise. Les développeurs ont choisi de stocker
les données dans Cosmos DB, sous la forme d’un ensemble de documents JSON.
Tailwind Traders dispose d’une application qui aide les projections financières, afin
de pouvoir prédire les ventes qui seront réalisées dans les prochains mois et années, en
fonction des tendances du passé. Ces projections sont stockées dans Microsoft Azure
Analysis Services. Voici une vue des nombreuses sources de données dont vous devez
combiner les données.
Avant de pouvoir créer des rapports, vous devez d’abord extraire des données des
différentes sources de données. L’interaction avec SQL Server est différente de celle
d’Excel : vous devez donc apprendre les différences entre les deux systèmes. Une fois que
vous aurez compris les systèmes, vous pourrez utiliser Power Query pour nettoyer vos
données, par exemple en renommant vos colonnes, en remplaçant les valeurs, en corrigeant
les erreurs ou en combinant les résultats des requêtes.
Power Query est également disponible dans Excel. Une fois les données nettoyées et
organisées, vous êtes prêt à créer des rapports dans Power BI. Enfin, vous allez publier votre
modèle sémantique et vos rapports combinés dans le service Power BI. À ce stade, d’autres
personnes peuvent utiliser votre modèle sémantique et créer leurs propres rapports, ou bien
elles peuvent utiliser les rapports que vous avez déjà créés. En outre, si quelqu’un d’autre a
créé un modèle sémantique que vous aimeriez utiliser, vous pouvez également créer des
rapports à partir de celui-ci !
Ce module est centré sur la première étape : obtenir des données à partir de différentes
sources de données et les importer dans Power BI avec Power Query.
Les organisations exportent et stockent souvent les données dans des fichiers. Un des
formats de fichier possibles est le fichier plat. Un fichier plat est un type de fichier qui n’a
qu’une seule table de données et où chaque ligne de données se trouve dans la même
structure. Le fichier ne contient pas de hiérarchies. Vous connaissez probablement les types
de fichiers plats les plus courants, qui sont les fichiers de valeurs séparées par des virgules
(.csv), les fichiers texte délimités (.txt) et les fichiers de largeur fixe. Les fichiers de sortie
provenant de différentes applications, comme les classeurs Microsoft Excel (.xlsx), sont un
autre type de fichier.
Power BI Desktop vous permet d’obtenir des données de nombreux types de fichiers.
Vous pouvez trouver une liste des options disponibles quand vous utilisez la fonctionnalité
Obtenir des données dans Power BI Desktop. Les sections suivantes expliquent comment
vous pouvez importer des données d’un fichier Excel stocké sur un ordinateur local.
Scénario
Local : Vous pouvez importer des données depuis un fichier local dans Power BI. Le
fichier n’est pas déplacé dans Power BI et aucun lien n’est conservé vers ce fichier. Au
lieu de cela, un nouveau modèle sémantique est créé dans Power BI, et les données du
fichier Excel y sont chargées. En conséquence, les modifications apportées au fichier
Excel d’origine ne sont pas reflétées dans votre modèle sémantique Power BI. Vous
pouvez utiliser l’importation de données locales pour les données qui ne changent pas.
OneDrive - Personnel : vous pouvez utiliser des données de fichiers sur un compte
OneDrive personnel et bénéficier de la plupart des mêmes avantages qu’avec OneDrive
Entreprise. Cependant, vous devez vous connecter avec votre compte OneDrive
personnel, puis sélectionner l’option Maintenir la connexion. Contactez votre
administrateur système pour déterminer si ce type de connexion est autorisé dans votre
organisation.
SharePoint - sites Team : l’enregistrement de vos fichiers Power BI Desktop sur des
sites Team SharePoint est similaire à un enregistrement sur OneDrive Entreprise. La
principale différence est dans la façon dont vous vous connectez au fichier depuis
Power BI. Vous pouvez spécifier une URL ou vous connecter au dossier racine.
L’utilisation d’une option cloud, comme OneDrive ou des sites d’équipe SharePoint,
est le moyen le plus efficace de conserver la synchronisation de votre fichier avec votre
modèle sémantique, vos rapports et vos tableaux de bord dans Power BI. Cependant, si vos
données ne changent pas régulièrement, l’enregistrement de fichiers sur un ordinateur local
est une option appropriée.
Se connecter aux données d’un fichier
Dans Power BI, sous l’onglet Accueil, sélectionnez Obtenir les données. Dans la
liste qui s’affiche, sélectionnez l’option dont vous avez besoin, comme Texte/CSV ou XML.
Pour cet exemple, vous allez sélectionner Excel.
Cochez-la ou les cases à cocher de la ou des tables que vous voulez importer dans
Power BI. Cette sélection active les boutons Charger et Transformer les données, comme
illustré dans l’image suivante.
Nous vous recommandons souvent de transformer les données, mais ce processus sera abordé
plus loin dans ce module. Pour cet exemple, vous pouvez sélectionner Charger.
Changer le fichier source
Il peut être nécessaire de changer l’emplacement d’un fichier source pour une source
de données pendant le développement ou si l’emplacement de stockage des fichiers change.
Pour que vos rapports restent à jour, vous devez mettre à jour les chemins de connexion de
vos fichiers dans Power BI.
Power Query offre de nombreuses façons d’effectuer cette tâche, ce qui vous permet
de faire ce type de changement quand c’est nécessaire.
1. Paramètres de source de données
2. Paramètres de requête
3. Éditeur avancé
Avertissement
Si vous changez un chemin de fichier, veillez à vous reconnecter au même fichier avec la
même structure de fichier. Toute modification structurelle apportée à un fichier, comme la
suppression ou le renommage des colonnes dans le fichier source, interrompt le bon
fonctionnement du modèle de génération de rapports.
Par exemple, essayez en changeant le chemin du fichier de source de données dans les
paramètres de la source de données. Sélectionnez Paramètres de la source de données dans
Power Query. Dans la fenêtre Paramètres de la source de données, sélectionnez votre
fichier, puis sélectionnez Changer la source. Mettez à jour le Chemin d’accès au fichier ou
utilisez l’option Parcourir pour rechercher votre fichier, sélectionnez OK, puis sélectionnez
Fermer.
Si votre organisation utilise une base de données relationnelle pour la vente, vous
pouvez utiliser Power BI Desktop pour vous connecter directement à la base de données au
lieu d’utiliser des fichiers plats exportés.
La connexion de Power BI à votre base de données vous aidera à superviser la
progression de votre activité et à identifier les tendances : vous pouvez ainsi prévoir les
chiffres des ventes, planifier des budgets, et définir des indicateurs et des objectifs de
performances. Power BI Desktop peut se connecter à de nombreuses bases de données
relationnelles qui sont locales ou dans le cloud.
Scénario
Vous pouvez utiliser la fonctionnalité Obtenir les données dans Power BI Desktop et
sélectionner l’option applicable pour votre base de données relationnelle. Pour cet exemple,
vous allez sélectionner l’option SQL Server, comme illustré dans la capture d’écran suivante.
Conseil
À côté du bouton Obtenir les données se trouvent des options pour les sources de
données à accès rapide, comme SQL Server.
L’étape suivante consiste à entrer le nom de votre serveur de base de données et un
nom de base de données dans la fenêtre Base de données SQL Server. Les deux options du
mode de connectivité aux données sont les suivantes : Importer (sélectionné par défaut,
recommandé) et DirectQuery. En général, vous allez sélectionner Importer. D’autres
options avancées sont également disponibles dans la fenêtre Base de données SQL Server,
mais vous pouvez les ignorer pour l’instant.
Une fois que vous avez ajouté les noms du serveur et de la base de données, vous êtes
invité à vous connecter avec un nom d’utilisateur et un mot de passe. Trois options de
connexion s’offrent à vous :
Sélectionnez une option de connexion, entrez votre nom d’utilisateur et votre mot de passe,
puis sélectionnez Se connecter.
Sélectionner les données à importer
Une fois que la base de données a été connectée à Power BI Desktop, la fenêtre
Navigateur affiche les données qui sont disponibles dans votre source de données (dans cet
exemple, la base de données SQL). Vous pouvez sélectionner une table ou une entité pour
afficher un aperçu de son contenu, et pour vérifier que les données correctes seront chargées
dans le modèle Power BI.
Cochez-la ou les cases de la ou des tables que vous voulez importer dans Power BI
Desktop, puis sélectionnez l’option Charger ou Transformer les données.
Charger : charger automatiquement vos données dans un modèle Power BI dans son
état actuel.
Transformer les données : ouvrez vos données dans Microsoft Power Query, où vous
pouvez effectuer des actions comme supprimer des lignes ou des colonnes inutiles,
regrouper vos données, supprimer les erreurs et de nombreuses autres tâches liées à la
qualité des données.
Une autre façon d’importer des données est d’écrire une requête SQL pour spécifier
seulement les tables et les colonnes dont vous avez besoin.
Pour écrire votre requête SQL, dans la fenêtre Base de données SQL Server, entrez
les noms de votre serveur et de votre base de données, puis sélectionnez la flèche à côté de
Options avancées pour développer cette section et voir vos options. Dans la boîte
Instruction SQL, écrivez l’instruction de votre requête, puis sélectionnez OK. Dans cet
exemple, vous allez utiliser l’instruction SQL Select pour charger les colonnes ID, NAME et
SALESAMOUNT à partir de la table SALES.
Une fois que vous avez créé une connexion de source de données et que vous avez
chargé les données dans Power BI Desktop, vous pouvez revenir et changer vos paramètres
de connexion à tout moment. Cette action est souvent nécessaire en raison d’une stratégie de
sécurité au sein de l’organisation, par exemple quand le mot de passe doit être mis à jour tous
les 90 jours. Vous pouvez changer la source de données, modifier les autorisations ou
supprimer des autorisations.
Dans l’onglet Accueil, sélectionnez Transformer les données, puis sélectionnez l’option
Paramètres de source de données.
Dans la liste des sources de données qui s’affiche, sélectionnez la source de données
que vous voulez mettre à jour. Ensuite, vous pouvez cliquer avec le bouton droit sur cette
source de données pour voir les options de mise à jour disponibles, ou vous pouvez utiliser
les boutons d’option de mise à jour en bas à gauche de la fenêtre. Sélectionnez l’option de
mise à jour dont vous avez besoin, modifiez les paramètres selon vos besoins, puis appliquez
vos modifications.
Vous pouvez également modifier les paramètres de votre source de données dans
Power Query. Sélectionnez la table, puis sélectionnez l’option Paramètres de source de
données dans le ruban Accueil. Vous pouvez aussi accéder au panneau Paramètres de la
requête sur le côté droit de l’écran et sélectionner l’icône des paramètres en regard de Source
(ou double-cliquez sur Source). Dans la fenêtre qui s’affiche, mettez à jour les informations
détaillées du serveur et de la base de données, puis sélectionnez OK.
Une fois les modifications effectuées, sélectionnez Fermer et appliquer pour appliquer ces
modifications aux paramètres de votre source de données.
Écrire une instruction SQL
Comme mentionné précédemment, vous pouvez importer des données dans votre
modèle Power BI en utilisant une requête SQL. SQL est l’acronyme de Structured Query
Language (Langage de requête structurée) ; c’est un langage de programmation standardisé
utilisé pour gérer les bases de données relationnelles et effectuer différentes opérations de
gestion des données.
Considérez le scénario où votre base de données contient une grande table composée
de données des ventes sur plusieurs années. Les données des ventes de 2009 ne sont pas
pertinentes pour le rapport que vous créez. Dans ce cas, le langage SQL est avantageux, car il
vous permet de charger uniquement l'ensemble de données requis en spécifiant les colonnes
et les lignes exactes dans votre instruction SQL, puis en les important dans votre modèle
sémantique. Vous pouvez également joindre différentes tables, effectuer des calculs
spécifiques, créer des instructions logiques et filtrer les données dans votre requête SQL.
L’exemple suivant montre une requête simple où ID, NAME et SALESAMOUNT sont
sélectionnés dans la table SALES.
La requête SQL commence par une instruction Sélectionner, qui vous permet de choisir les
champs spécifiques que vous voulez extraire de votre base de données. Dans cet exemple,
vous voulez charger les colonnes ID, NAME et SALESAMOUNT.
SQLCopier
SELECT
ID
, NAME
, SALESAMOUNT
FROM
FROM spécifie le nom de la table dont vous voulez extraire les données. Dans le cas présent,
il s’agit de la table SALES. L’exemple suivant est la requête SQL complète :
SQLCopier
SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
Quand vous utilisez une requête SQL pour importer des données, essayez d’éviter d’utiliser le
caractère générique (*) dans votre requête. Si vous utilisez le caractère générique (*) dans
votre instruction SELECT, vous importez toutes les colonnes dont vous n’avez pas besoin
depuis la table spécifiée.
SQLCopier
SELECT *
FROM
SALES
Le caractère générique (*) va importer toutes les colonnes de la table Ventes. Cette méthode
n'est pas recommandée, car elle conduit à des données redondantes dans votre modèle
sémantique, ce qui entraîne des problèmes de performances et nécessite des étapes
supplémentaires pour normaliser vos données avant de créer des rapports.
Toutes les requêtes doivent également avoir une clause WHERE. Cette clause va filtrer les
lignes de façon à sélectionner seulement les enregistrements filtrés que vous voulez. Dans cet
exemple, si vous voulez obtenir les données des ventes récentes après le 1er janvier 2020,
ajoutez une clause WHERE. La requête ainsi modifiée doit se présenter comme l’exemple
suivant.
SQLCopier
SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’
C’est une bonne pratique que d’éviter de faire cela directement dans Power BI. Au lieu de
cela, vous pouvez écrire une requête comme celle-ci dans une vue. Une vue est un objet dans
une base de données relationnelle, qui est similaire à une table. Les vues comportent des
lignes et des colonnes, et elles peuvent contenir presque tous les opérateurs du langage SQL.
Si Power BI utilise une vue, quand elle récupère des données, elle participe au Query
Folding, une fonctionnalité de Power Query. Le Query Folding sera expliqué ultérieurement,
mais en résumé, Power Query va optimiser la récupération des données en fonction de la
façon dont les données sont utilisées ultérieurement.
Leçon : 4 Créer des rapports dynamiques avec des paramètres
Les rapports dynamiques sont des rapports dans lesquels les données peuvent être
modifiées par un développeur conformément aux spécifications de l’utilisateur. Les rapports
dynamiques sont utiles, car un même rapport peut être utilisé à des fins multiples. Si vous
utilisez des rapports dynamiques, vous aurez moins de rapports individuels à créer, ce qui
permettra d’économiser le temps et les ressources de l’organisation.
Vous pouvez utiliser des paramètres en déterminant les valeurs pour lesquelles vous
souhaitez afficher des données dans le rapport, et le rapport se met à jour en conséquence en
filtrant les données pour vous.
Dans l’exemple suivante, vous avez créé un rapport pour l’équipe commerciale de
Tailwind Traders, qui affiche les données des ventes de la base de données SQL Server. Ce
rapport fournit une vue holistique des résultats de l’équipe des ventes. Ce rapport est
extrêmement utile, mais les membres de l’équipe commerciale veulent pouvoir filtrer le
rapport pour voir seulement leurs propres données, et suivre leurs performances par rapport à
leurs objectifs de vente.
Créer des rapports dynamiques pour des valeurs individuelles
Pour créer un rapport dynamique, vous devez d’abord écrire votre requête SQL.
Utilisez ensuite la fonctionnalité Obtenir des données de Power BI Desktop pour vous
connecter à la base de données.
Dans cet exemple, vous vous connectez à votre base de données sur SQL Server en
procédant comme suit :
1. Une fois que vous avez entré les détails de votre serveur, dans la fenêtre Base
de données SQL Server, sélectionnez Options avancées.
2. Collez la requête SQL dans la zone Instruction SQL, puis sélectionnez OK.
Une fois la connexion établie, les données s’affichent dans la fenêtre d’aperçu.
3. Sélectionnez Modifier pour ouvrir les données dans l’éditeur Power Query.
Vous devez à présent ajuster le code dans la requête SQL pour évaluer votre nouveau
paramètre :
1. Cliquez avec le bouton droit sur Query1, puis sélectionnez Éditeur avancé.
2. Remplacez la valeur existante de l’instruction d’exécution par une esperluette (
et ), suivie du nom de votre paramètre (SalesPerson), comme illustré dans l’image
suivante.
3. Vérifiez qu’aucune erreur ne s’affiche en bas de la fenêtre, puis sélectionnez
Terminé.
Vous ne remarquez aucune différence sur l’écran, mais Power BI a exécuté la requête.
4. Pour vérifier que la requête a bien été exécutée, vous pouvez effectuer un test
en sélectionnant la requête de paramètre et en entrant une nouvelle valeur dans la zone
Valeur actuelle.
Quand vous affichez les données, vous voyez désormais les données
correspondant à la nouvelle valeur transmise via le paramètre.
Vous pouvez désormais créer un rapport affichant des données pour une valeur
particulière à la fois. D’autres étapes sont nécessaires pour afficher les données de plusieurs
valeurs simultanément.
Créer des rapports dynamiques pour plusieurs valeurs
Pour tenir compte de plusieurs valeurs à la fois, vous devez d’abord créer une feuille
de calcul Excel avec une table composée d’une colonne contenant la liste des valeurs.
Ensuite, utilisez la fonctionnalité Obtenir les données dans Power BI Desktop pour
vous connecter aux données de cette feuille de calcul Excel, puis suivez ces étapes :
1. Cliquez avec le bouton droit sur Query1 et sélectionnez Créer une fonction.
Le Nouveau nom de colonne est mis à jour automatiquement et la table qui contient
les valeurs à transmettre via le paramètre est sélectionnée par défaut.
Vous voyez normalement les données pour les colonnes que vous avez
sélectionnées, pour chaque valeur (ID de vendeur).
Les développeurs de logiciels chez Tailwind Traders ont créé une application pour
gérer l’expédition et le suivi des produits depuis leurs entrepôts. L’application utilise Cosmos
DB, une base de données NoSQL, comme référentiel de données. Les données sont stockées
en tant que documents JSON, qui sont des formats de fichier standard ouverts utilisés
principalement pour transmettre des données entre un serveur et une application web. Vous
devez importer ces données dans un modèle sémantique Power BI pour créer des rapports.
Se connecter à une base de données NoSQL (Azure Cosmos DB)
Dans ce scénario, vous allez utiliser la fonctionnalité Obtenir les données dans
Power BI Desktop. Cette fois cependant, vous devez sélectionner l’option Plus... pour
rechercher et vous connecter au type de base de données que vous utilisez. Dans cet exemple,
vous sélectionnez la catégorie Azure, sélectionner Azure Cosmos DB, , puis sélectionner Se
connecter.
Dans la fenêtre Connecteur en préversion, sélectionnez Continuer, puis entrez les
informations d’identification de votre base de données. Dans cet exemple, dans la fenêtre
Azure Cosmos DB, vous pouvez entrer les détails de la base de données. Vous pouvez
spécifier l’URL du point de terminaison du compte Azure Cosmos DB à partir duquel vous
voulez obtenir les données (vous pouvez obtenir l’URL dans le volet Clés de votre Portail
Azure). Vous pouvez aussi entrer le nom de la base de données, le nom de la collection, ou
utiliser le navigateur pour sélectionner la base de données et la collection afin d’identifier la
source de données.
Si vous vous connectez pour la première fois à un point de terminaison, comme dans
cet exemple, veillez à entrer la clé de votre compte. Vous pouvez trouver cette clé dans la
boîte Clé principale du volet Clés en lecture seule de votre Portail Azure.
Importer un fichier JSON
Si vous utilisez des données stockées au format JSON, il est souvent nécessaire
d’extraire et de normaliser les données d’abord. En effet, les données JSON sont souvent
stockées dans un format imbriqué ou non structuré, ce qui les rend difficiles à analyser ou à
utiliser directement pour la création de rapports.
Dans cet exemple, les données doivent être extraites et normalisées avant de pouvoir
produire des rapports à partir d’elles : vous devez donc transformer les données avant de les
charger dans Power BI Desktop.
Une fois que vous êtes connecté au compte de base de données, la fenêtre Navigateur
s’ouvre, affichant la liste des bases de données sous ce compte. Sélectionnez la table que
vous voulez importer. Dans cet exemple, vous sélectionnez la table Product (Produit). Le
volet de visualisation montre seulement les éléments Enregistrement, car tous les
enregistrements du document sont représentés en tant que type Enregistrement dans Power
BI.
Sélectionnez le bouton Modifier pour ouvrir les enregistrements dans Power Query.
Dans Power Query, sélectionnez le bouton Développeur sur le côté droit de l’en-tête
Colonne1, ce qui affiche le menu contextuel avec une liste de champs. Sélectionnez les
champs que vous voulez charger dans Power BI Desktop, décochez la case Utiliser le nom
de la colonne d’origine comme préfixe, puis sélectionnez OK.
Passez en revue les données sélectionnées pour vous assurer qu’elles vous conviennent, puis
sélectionnez Fermer et appliquer pour charger les données dans Power BI Desktop.
Les données ressemblent maintenant à une table avec des lignes et des colonnes. Les
données de Cosmos DB peuvent maintenant être liées à des données provenant d’autres
sources de données et être finalement utilisées dans un rapport Power BI.
Une fois que vous avez sélectionné Se connecter, vous êtes invité à entrer votre URL
SharePoint. Cette URL est celle que vous utilisez pour vous connecter à votre site SharePoint
via un navigateur web. Vous pouvez copier l’URL à partir de votre site SharePoint et la coller
dans la fenêtre de connexion de Power BI. Vous n’avez pas besoin d’entrer le chemin
complet de votre fichier d’URL : il vous suffit de charger l’URL de votre site car, quand vous
êtes connecté, vous pouvez sélectionner la liste spécifique que vous voulez charger. En
fonction de l’URL que vous avez copiée, il peut être nécessaire de supprimer la dernière
partie de votre URL, comme illustré dans l’image suivante.
Après avoir entré l’URL, sélectionnez OK. Power BI doit autoriser la connexion à
SharePoint : connectez-vous donc avec votre compte Microsoft, puis sélectionnez Se
connecter.
Choisir les données d’application à importer
Une fois que Power BI a établi la connexion avec SharePoint, la fenêtre Navigateur apparaît,
comme c’est le cas quand vous vous connectez à d’autres sources de données. La fenêtre
affiche les tables et les entités de votre site SharePoint. Sélectionnez la liste que vous voulez
charger dans Power BI Desktop. Comme pour l’importation à partir d’autres sources de
données, vous avez la possibilité de charger automatiquement vos données dans le modèle
Power BI ou de lancer l’éditeur Power Query pour transformer vos données avant de les
charger.
La façon la plus courante d'utiliser des données dans Power BI est de les importer
dans un modèle sémantique Power BI. Importer les données signifie que les données sont
stockées dans le fichier Power BI et qu’elles sont publiées avec les rapports Power BI. Ce
processus facilite l’interaction directe avec vos données. Cette approche peut cependant ne
pas fonctionner pour toutes les organisations.
Pour poursuivre le scénario, vous créez des rapports Power BI pour le département
commercial de Tailwind Traders, où l’importation des données n’est pas une méthode idéale.
La première tâche que vous devez effectuer est de créer vos modèles sémantiques dans Power
BI, afin de pouvoir créer les visuels et d'autres éléments des rapports. Le département
commercial a de nombreux modèles sémantiques de différentes tailles. Pour des raisons de
sécurité, vous n’êtes pas autorisé à importer des copies locales des données dans vos
rapports : l’importation directe des données n’est donc plus une option. Par conséquent, vous
devez créer une connexion directe à la source de données du département commercial. La
section suivante explique comment vous pouvez garantir que ces exigences métier soient
satisfaites quand vous importez des données dans Power BI.
Il peut cependant parfois y avoir des exigences de sécurité autour de vos données qui
rendent impossible l’importation directe d’une copie. Il se peut aussi que vos modèles
sémantiques soient simplement trop volumineux et que leur chargement dans Power BI
prenne trop de temps, et vous voulez éviter de créer un goulot d'étranglement au niveau des
performances. Power BI résout ces problèmes en utilisant le mode de stockage DirectQuery,
qui vous permet d’interroger les données directement dans la source de données et de ne pas
importer une copie dans Power BI. DirectQuery est pratique, car il vous permet de toujours
voir la version la plus récente des données.
Les trois types différents de mode de stockage que vous pouvez choisir sont les
suivants :
Importer
DirectQuery
Double (Composite)
Mode Importation
Le mode Importation vous permet de créer une copie Power BI locale de vos modèles
sémantiques à partir de votre source de données. Vous pouvez utiliser toutes les
fonctionnalités du service Power BI avec ce mode de stockage, y compris Questions et
réponses et Quick Insights. Les actualisations de données peuvent être planifiées ou à la
demande. Le mode Importation est le mode par défaut pour la création de rapports Power BI.
Mode DirectQuery
L’option DirectQuery est utile quand vous ne voulez pas enregistrer des copies locales
de vos données, car vos données ne seront pas mises en cache. Au lieu de cela, vous pouvez
interroger les tables spécifiques dont vous aurez besoin en utilisant des requêtes Power BI
natives, et les données nécessaires seront récupérées auprès de la source de données sous-
jacente. En fait, vous créez une connexion directe à la source de données. L’utilisation de ce
modèle garantit que vous voyez toujours les données les plus récentes et que toutes les
exigences de sécurité sont satisfaites. En outre, ce mode convient quand vous avez des
modèles sémantiques volumineux d'où vous devez extraire des données. Au lieu de ralentir
les performances en chargeant de grandes quantités de données dans Power BI, vous pouvez
utiliser DirectQuery pour créer une connexion à la source et résoudre ainsi les problèmes de
latence des données.
Azure Analysis Services est une plateforme en tant que service (PaaS) complètement
managée qui fournit des modèles sémantiques de qualité professionnelle dans le cloud. Vous
pouvez utiliser des fonctions avancées de regroupement et de modélisation pour combiner des
données provenant de sources multiples, définir des mesures et sécuriser vos données dans un
modèle sémantique tabulaire unique et fiable. Le modèle sémantique permet aux utilisateurs
d’effectuer plus facilement et rapidement une analyse de données ad hoc au moyen d’outils
tels que Power BI.
Pour reprendre le scénario, Tailwind Traders utilise Azure Analysis Services pour
stocker les données des projections financières. Il vous a été demandé de comparer ces
données avec les données des ventes réelles d’une autre base de données. L’obtention de
données à partir du serveur Azure Analysis Services est similaire à l’obtention de données
depuis SQL Server, dans la mesure où vous pouvez :
Les différences notables entre Azure Analysis Services et SQL Server sont les
suivantes :
Si vous n’avez pas besoin de la totalité d’une table, vous pouvez interroger les
données directement. Au lieu d’utiliser Transact-SQL (T-SQL) pour interroger les données,
comme vous le feriez dans SQL Server, vous pouvez utiliser des expressions MDX
(Multidimensional Expressions) ou DAX (Data Analysis Expressions).
Connexion directe est une option pour Azure Analysis Services. Azure Analysis
Services utilise le modèle tabulaire et DAX pour créer des calculs, d’une façon similaire à
Power BI. Ces modèles sont compatibles les uns avec les autres. L’utilisation de l’option
Connexion directe vous permet de conserver les données et les calculs DAX à leur
emplacement d’origine, sans devoir les importer dans Power BI. Azure Analysis Services
peut avoir une planification d’actualisation rapide, ce qui signifie que quand les données sont
actualisées dans le service, les rapports Power BI sont immédiatement mis à jour, sans qu’il
soit nécessaire de lancer une planification d’actualisation Power BI. Ce processus peut
améliorer le caractère à jour des données dans votre rapport.
À l’instar d’une base de données relationnelle, vous pouvez choisir les tables que vous
voulez utiliser. Si vous voulez interroger directement le modèle Azure Analysis Services,
vous pouvez utiliser DAX ou MDX.
Vous allez probablement importer les données directement dans Power BI. Une
alternative acceptable est d’importer toutes les autres données souhaitées (depuis Excel, SQL
Server, etc.) dans le modèle Azure Analysis Services, puis à utiliser une connexion active.
Cette approche simplifie votre solution en conservant la modélisation sémantique et les
mesures DAX au même endroit.
Leçon : 9 Résoudre les problèmes de performances
Imaginons que vous deviez créer des rapports pour l’équipe Ventes de votre
organisation. Vous avez importé vos données, qui se trouvent dans plusieurs tables de la base
de données SQL de l’équipe Ventes, en créant une connexion de données à la base de
données via DirectQuery. Quand vous créez des visuels et des filtres préliminaires, vous
remarquez que l’interrogation de certaines tables est plus rapide que pour d’autres, et que
certains filtres prennent plus de temps à être traités que d’autres filtres.
Power Query tire parti des bonnes performances de la source de données via une
technique appelée « Query Folding ».
Query Folding
Le Query Folding dans l’éditeur Power Query vous aide à accroître les performances
de vos rapports Power BI. Le Query Folding est le processus par lequel les transformations et
les modifications que vous apportez dans l’éditeur Power Query sont suivies simultanément
en tant que requêtes natives, ou en tant que simples instructions SQL Select, pendant que
vous effectuez activement des transformations. La raison de l’implémentation de ce processus
est de garantir que ces transformations peuvent avoir lieu dans le serveur de la source de
données d’origine et ne pas surcharger les ressources informatiques de Power BI.
Vous pouvez utiliser Power Query pour charger des données dans Power BI. Ensuite,
vous pouvez utiliser l’éditeur Power Query pour transformer vos données, par exemple
renommer ou supprimer des colonnes, ou ajouter, décomposer, filtrer et regrouper vos
données.
Imaginez un scénario où vous avez renommé quelques colonnes dans les données des
ventes, et où vous avez fusionné une colonne Ville et Département selon un format « Ville
Département ». Pendant cette opération, la fonctionnalité Query Folding effectue le suivi de
ces modifications dans les requêtes natives. Ensuite, quand vous chargez vos données, les
transformations s’effectuent indépendamment dans la source d’origine, ce qui garantit
l’optimisation des performances dans Power BI.
Les requêtes natives ne sont pas possibles pour les transformations suivantes :
Une bonne règle à mémoriser est que si vous pouvez traduire une transformation en
une instruction SQL Select qui comprend des opérateurs et des clauses comme GROUP BY,
SORT BY, WHERE, UNION ALL et JOIN, vous pouvez utiliser le Query Folding.
Si le Query Folding est une option permettant d’optimiser les performances lors de la
récupération, de l’importation et de la préparation des données, une autre option est
d’effectuer des diagnostics de requête.
Diagnostics de requête
Un autre outil que vous pouvez utiliser pour étudier les performances des requêtes est
Diagnostics de requête. Vous pouvez déterminer les goulots d’étranglement qui se produisent
lors du chargement et de la transformation de vos données, lors de l’actualisation de vos
données dans Power Query, lors de l’exécution des instructions SQL dans l’éditeur de
requête, etc.
Pour accéder aux diagnostics de requête dans l’éditeur Power Query, accédez à Outils
dans le ruban Accueil. Quand vous êtes prêt à commencer la transformation de vos données
ou à effectuer d’autres modifications dans l’éditeur Power Query, sélectionnez Démarrer les
diagnostics dans la section Diagnostics de la session. Quand vous avez terminé, veillez à
sélectionner Arrêter les diagnostics.
Cet outil est pratique quand vous voulez analyser les niveaux de performance du côté
Power Query pour des tâches comme le chargement de modèles sémantiques, l’exécution des
actualisations de données ou l’exécution d’autres tâches de transformation.
Voici d’autres moyens pour optimiser les performances des requêtes dans Power BI :
Traiter autant de données que possible dans la source de données d’origine. Power
Query et l’éditeur Power Query vous permettent de traiter les données ; cependant, la
puissance de traitement nécessaire pour effectuer cette tâche peut réduire les performances
pour d’autres aspects de vos rapports. En général, une bonne pratique est d’effectuer autant
que possible les traitements dans la source de données native.
Utiliser des requêtes SQL natives. Quand vous utilisez DirectQuery pour des bases de
données SQL, comme dans le cas de notre scénario, veillez à ne pas tirer des données de
procédures stockées ou d’expressions de table communes.
Séparer la date et l’heure si elles sont stockées ensemble. Si vos tables ont des
colonnes qui combinent la date et l’heure, veillez à les séparer en colonnes distinctes avant de
les importer dans Power BI. Cette approche augmente les capacités de compression.
Lors de l’importation de données dans Power BI, vous pouvez rencontrer des erreurs résultant
de facteurs tels que :
Chaque source de données peut avoir des dizaines (et parfois des centaines) de messages
d’erreur différents.
D’autres composants peuvent provoquer des erreurs, comme les disques durs, les réseaux, les
services logiciels et les systèmes d’exploitation.
Les sections suivantes couvrent certains des messages d’erreur les plus courants que vous
pouvez rencontrer dans Power BI.
Les systèmes sources relationnels sont souvent utilisés par de nombreuses personnes
simultanément, qui travaillent sur les mêmes données dans la même base de données.
Certains systèmes relationnels et leurs administrateurs cherchent à limiter la monopolisation
par un utilisateur de toutes les ressources matérielles en définissant un délai d’expiration des
requêtes. Ces délais d’expiration peuvent être configurés sur n’importe quel intervalle de
temps, de cinq secondes jusqu’à 30 minutes ou plus.
Par exemple, si vous extrayez des données du serveur SQL Server de votre organisation, vous
pouvez voir l’erreur montrée dans la figure suivante.
Vous pouvez résoudre cette erreur en extrayant moins de colonnes ou de lignes d’une
même table. Dans l’écriture des instructions SQL, inclure des regroupements et des
agrégations peut être une pratique courante. Vous pouvez également joindre plusieurs tables
dans une même instruction SQL. En outre, vous pouvez effectuer des sous-requêtes
complexes et des requêtes imbriquées dans une même instruction. Ces complexités s’ajoutent
aux exigences de traitement des requêtes du système relationnel et peuvent allonger de
beaucoup le temps d’implémentation nécessaire.
Si vous avez besoin des lignes, des colonnes et de la complexité, vous pouvez
envisager de prendre de petits blocs de données, puis les réassembler en utilisant Power
Query. Par exemple, vous pouvez combiner la moitié des colonnes dans une requête et l’autre
moitié dans une autre requête. Power Query peut fusionner ces deux requêtes ensemble une
fois que vous avez terminé.
Ouvrez votre classeur Excel et mettez en surbrillance les données que vous voulez importer.
Appuyez sur le raccourci clavier Ctrl+T. La première ligne sera probablement vos en-têtes de
colonne.
Vérifiez que les en-têtes de colonne reflètent la façon dont vous voulez nommer vos
colonnes. Ensuite, réessayez d’importer les données depuis Excel. Cette fois, cela devrait
fonctionner.
Fichier introuvable
Lors de l’importation de données à partir d’un fichier, vous pouvez recevoir l’erreur « Fichier
introuvable ».
En général, cette erreur est provoquée par un déplacement de l’emplacement du fichier ou par
un changement des autorisations sur le fichier. Dans le cas de la première de ces causes, vous
devez rechercher le fichier et modifier les paramètres de la source.
Ouvrez Power Query en sélectionnant le bouton Transformer les données dans Power BI.
Parfois, quand vous importez des données dans Power BI, les colonnes apparaissent
vides. Cette situation se produit en raison d’une erreur lors de l’interprétation du type de
données dans Power BI. La résolution de cette erreur est propre à la source de données. Par
exemple, si vous importez des données à partir de SQL Server et voyez des colonnes vides,
vous pouvez essayer de convertir les données vers le type approprié dans la requête.
Vous pouvez rencontrer différents types d’erreurs dans Power BI qui sont provoquées par les
différents systèmes de source de données où se trouvent vos données.
Conlusion
Dans ce module, vous avez vu comment tirer (pull) des données de plusieurs sources
de données et les intégrer à Power BI. Vous pouvez tirer des données à partir de fichiers, de
bases de données relationnelles, d’Azure Analysis Services, d’applications cloud, de sites
web, etc. La récupération de données à partir de différentes sources de données nécessite de
traiter différemment chaque source de données. Par exemple, les données Microsoft Excel
doivent être extraites d’un tableau Excel. Les bases de données relationnelles ont souvent des
délais d’expiration des requêtes. Vous pouvez vous connecter à Azure Analysis Services avec
Connexion directe, ce qui vous permet de voir les modifications des données en temps réel.
De plus, vous avez découvert comment résoudre les problèmes de performances et les
erreurs d’importation de données. Vous avez découvert que Power BI vous offre des outils
permettant d’identifier les endroits où des problèmes de performances peuvent exister. Les
erreurs d’importation de données peuvent être alarmantes au premier abord, mais vous
pouvez voir que la résolution est facilement implémentée.
Utilisez les ressources gratuites fournies dans le lab pour effectuer les
exercices de cette unité. Vous ne serez pas facturé pour
l’environnement lab; toutefois, vous devrez peut-être apporter votre
propre abonnement selon le labo concerné.
Une machine virtuelle comportant les outils client nécessaires est fournie,
ainsi que les instructions de l’exercice. Lancez la machine virtuelle à l’aide
du bouton « Lancer le labo ».