Utiliser Python dans l’Éditeur Power Query

Vous pouvez utiliser Python, langage de programmation largement utilisé par les analystes Données, les scientifiques des données et les statisticiens, dans l’Éditeur Power Query de Power BI Desktop. Cette intégration de Python dans l’Éditeur Power Query vous permet de procéder au nettoyage des données en utilisant Python et d’effectuer une mise en forme et une analytique avancées des données des jeux de données, notamment l’ajout des données manquantes, les prédictions et le clustering, pour ne citer que quelques exemples. Python est un langage puissant qui peut être utilisé dans l’Éditeur Power Query pour préparer votre modèle de données et créer des rapports.

Prérequis

Vous devez installer Python et pandas avant de commencer.

  • Installer Python : pour utiliser Python dans l’Éditeur Power Query de Power BI Desktop, vous devez installer Python sur votre ordinateur local. Vous pouvez télécharger et installer Python gratuitement à partir de nombreux emplacements, notamment de la page de téléchargement officielle de Python et d’Anaconda.

  • Installer pandas : pour utiliser Python avec l’Éditeur Power Query, vous devez également installer pandas. Pandas est utilisé pour déplacer des données entre Power BI et l’environnement Python.

Utiliser Python avec l’Éditeur Power Query

Pour voir comment utiliser Python dans l’Éditeur Power Query, prenez cet exemple extrait d’un jeu de données boursières basé sur un fichier CSV que vous pouvez télécharger ici, et suivez-le. Les étapes de cet exemple sont la procédure suivante :

  1. Tout d’abord, entrez des données dans Power BI Desktop. Dans cet exemple, chargez le fichier EuStockMarkets_NA.csv et sélectionnez Obtenir les données>Texte/CSV dans le ruban Accueil de Power BI Desktop.

    Screenshot of the Get Data ribbon in Power BI Desktop, showing the CSV selection.

  2. Sélectionnez le fichier et choisissez Ouvrir. Le fichier CSV s’affiche dans la boîte de dialogue Fichier CSV.

    Screenshot of the CSV file dialog, showing the selected CSV.

  3. Une fois les données chargées, elles s’affichent dans le volet Champs de Power BI Desktop.

    Screenshot of the Fields pane, showing the loaded data.

  4. Ouvrez l’Éditeur Power Query en sélectionnant Transformer les données sous l’onglet Accueil dans Power BI Desktop.

    Screenshot of the Power Query Editor in Power BI Desktop, showing the Transform data selection.

  5. Sous l’onglet Transformation, sélectionnez Exécuter un script Python. L’éditeur Exécuter un script Python apparaît comme illustré à l’étape suivante. Les lignes 15 et 20 manquent de données, comme d’autres lignes invisibles dans l’image suivante. Les étapes suivantes montrent de quelle façon Python complète ces lignes à votre place.

    Screenshot of the Transform tab, showing rows of data.

  6. Pour cet exemple, entrez le code de script suivant :

    import pandas as pd
    completedData = dataset.fillna(method='backfill', inplace=False)
    dataset["completedValues"] =  completedData["SMI missing values"]
    

    Notes

    La bibliothèque pandas doit être installée dans votre environnement Python pour que le code de script précédent fonctionne correctement. Pour installer pandas, exécutez la commande suivante dans votre installation de Python : pip install pandas

    Lorsqu’il est placé dans la boîte de dialogue Exécuter un script Python, le code ressemble à l’exemple suivant :

    Screenshot of the Run Python Script dialog, showing the script code.

  7. Lorsque vous sélectionnez OK, l’Éditeur Power Query affiche un avertissement concernant la confidentialité des données.

    Screenshot of the Power Query Editor pane, showing the warning about data privacy.

  8. Pour que les scripts Python fonctionnent correctement dans le service Power BI, toutes les sources de données doivent être définies comme étant publiques. Pour plus d’informations sur les paramètres de confidentialité et leurs implications, consultez Niveaux de confidentialité.

    Screenshot of the Privacy levels dialog, showing that Public is set.

    Le volet Champs comporte une nouvelle colonne appelée completedValues. Il existe quelques éléments de données manquants, par exemple sur les lignes 15 et 18. La section suivante explique de quelle façon Python gère ce problème.

Avec seulement trois lignes de script Python, l’Éditeur Power Query a renseigné les valeurs manquantes avec un modèle prédictif.

Créer des visuels à partir des données de script Python

Maintenant, nous pouvons créer un visuel pour voir comment le script Python a complété les valeurs manquantes à l’aide de la bibliothèque pandas, comme illustré dans l’image suivante :

Screenshot of the visual, showing original data and completed missing values of the pandas library.

Une fois ce visuel terminé, ainsi que tout autre visuel que vous souhaitez créer à l’aide de Power BI Desktop, vous pouvez enregistrer le fichier Power BI Desktop. Les fichiers Power BI Desktop s’enregistrent avec l’extension de nom de fichier .pbix. Ensuite, utilisez le modèle de données, y compris les scripts Python qui en font partie, dans le service Power BI.

Notes

Vous voulez voir un fichier .pbix complété une fois les étapes ci-dessus terminées ? C’est votre jour de chance ! Vous pouvez télécharger le fichier Power BI Desktop complet utilisé dans ces exemples ici.

Une fois que vous avez téléchargé le fichier .pbix vers le service Power BI, quelques étapes supplémentaires sont nécessaires pour activer l’actualisation des données dans le service, et permettre la mise à jour des visuels dans le service. Les données doivent accéder à Python pour que les visuels soient mis à jour. Les autres étapes sont les suivantes :

  • Activer l’actualisation planifiée du jeu de données. Pour activer l’actualisation planifiée du classeur contenant votre jeu de données avec des scripts Python, consultez l’article Configuration d’une actualisation planifiée, qui contient également des informations sur la Passerelle personnelle.
  • Installez la Passerelle personnelle. Vous avez besoin d’une Passerelle personnelle installée sur l’ordinateur où se trouve le fichier et où Python est installé. Le service Power BI doit accéder à ce classeur et réafficher tous les visuels mis à jour. Pour plus d’informations, consultez Installer et configurer la passerelle personnelle.

Considérations et limitations

Il existe certaines limitations pour les requêtes qui contiennent des scripts Python créés dans l’Éditeur Power Query :

  • Tous les paramètres de source de données Python doivent être définis comme étant Publics et toutes les autres étapes d’une requête créée dans l’Éditeur Power Query doivent également être publiques. Pour accéder aux paramètres de la source de données, dans Power BI Desktop, sélectionnez Fichier > Options et paramètres > Paramètres de la source de données.

    Screenshot of the File menu in Power BI Desktop, showing the Data source settings selection.

    Dans la boîte de dialogue Paramètres de la source de données, sélectionnez les sources de données, choisissez Modifier les autorisations..., puis vérifiez que le Niveau de confidentialité est défini sur Public.

    Screenshot of the Data source settings dialog, showing the Privacy Level is set to Public.

  • Pour activer l’actualisation planifiée de votre jeu de données ou de vos visuels Python, vous devez activer l’actualisation planifiée et installer Personal Gateway sur l’ordinateur qui héberge le classeur et l’installation de Python. Pour plus d’informations à ce sujet, consultez les liens indiqués dans la section précédente de cet article.

  • Les tables imbriquées, c’est-à-dire des tables de tables, ne sont actuellement pas prises en charge.

Vous pouvez effectuer toutes sortes d’opérations avec Python et les requêtes personnalisées. Par conséquent, explorez et mettez en forme vos données de la façon dont vous souhaitez qu’elles apparaissent.