Obtenir des données de sources de données relationnelles

Effectué

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

L’équipe commerciale de Tailwind Traders vous a demandé de vous connecter à la base de données SQL Server locale de l’organisation et d’obtenir les données des ventes dans Power BI Desktop pour pouvoir créer des rapports sur les ventes.

Capture d’écran du flux de données de la base de données SQL dans Power BI.

Se connecter aux données d’une base de données relationnelle

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’optionSQL 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.

Capture d’écran du menu développé Obtenir des données pour montrer 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.

Capture d’écran montrant les détails de la fenêtre Base de données SQL Server.

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 :

  • Windows : utilisez votre compte Windows (informations d’identification Azure Active Directory).

  • Base de données : utilisez vos informations d’identification de base de données.   Par exemple, SQL Server a son propre système de connexion et d’authentification, qui est parfois utilisé.   Si l’administrateur de base de données vous a donné une connexion unique à la base de données, il peut être nécessaire d’entrer ces informations d’identification sous l’onglet Base de données.

  • Compte Microsoft : utilisez les informations d’identification de votre compte Microsoft.  Cette option est souvent utilisée pour les services Azure.

Sélectionnez une option de connexion, entrez votre nom d’utilisateur et votre mot de passe, puis sélectionnez Se connecter.

Capture d’écran des détails de l’autorisation d’accès à la base de données.

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.

    Capture d’écran de la fenêtre Navigateur avec les tables disponibles.

Importer des données en écrivant une requête SQL

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.

Capture d’écran de la boîte de dialogue Base de données SQL Server avec une requête SQL.

Changer les paramètres de la source de données

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.

Capture d’écran du menu développé Transformer les données, avec Paramètres de la source de données mis en évidence.

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.

Capture d’écran des options Paramètres de la source de données.

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.

Capture d’écran du bouton Paramètres de la source de données.

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.

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 :

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.

L’exemple suivant montre la requête qui utilise le caractère générique.

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.

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.