loader image

Insérer un script Python dans Power BI

23 juin 2022

Nous allons étudier dans cet article l’exécution de scripts Python dans Power BI. Nous allons travailler avec le module Pandas de Python. Nous allons notamment nous intéresser à 3 points en particulier qui nous sont régulièrement demandés durant nos formations :

  • Créer un DataFrame dans Power BI.
  • Effectuer une étape de traitement avec Python dans Power Query.
  • Exporter les données automatiquement sous un fichier au format CSV depuis Power Query.

Déjà dans un premier temps vous devez installer Python dans votre environnement de développement. Si vous n’avez pas d’environnement de développement pour Python nous vous conseillons l’IDE Pycharm de Jetbrain.

Ensuite vous devez vous assurer que Power BI est bien paramétré. Ouvrez Power BI.

Allez dans « Fichier » puis « Option et paramètres ». Cliquez sur « Options ».

Veillez à ce que « Création de scripts Python » soit bien renseigné au niveau de « Répertoire de base Python détectés ».

Retournons maintenant du côté Power BI Desktop. Pour commencer, nous allons créer un DataFrame dans Power BI. Un DataFrame peut se définir comme une matrice contenant des données.

Cliquez sur « Obtenir des données » puis « Plus ».

Récupérez « Script Python » à partir de la barre de recherche.

Maintenant vous pouvez saisir le code suivant :

 

import pandas as pd

date = pd.DataFrame({"Mois" : ["01/2020", "02/2020", "03/2020"], CA" : ["150", "120", "180"]})

 

Puis cliquez sur « OK ».

Power BI vous propose dans la fenêtre « Navigateur » cette table en fonction de votre saisie. Vous pouvez cliquer sur « Transformer les données ».

Power Query s’ouvre, les données se présentent comme ci-dessous.

Cette méthode, certes chronophage, peut-être intéressante quand vous avez besoin d’une table avec assez peu de données.

Cette méthode est aussi intéressante si vous avez besoin d’intégrer des DataFrame que vous récupérez autre part.

Maintenant connectons-nous à un fichier Excel pour y faire une transformation en Python.

Vous vous connectez à votre fichier, le navigateur s’ouvre et cliquez sur « OK ».

Voilà à quoi ressemble votre fichier Excel sous Power Query.

Maintenant nous souhaitons filtrer la colonne pays sur « France » et « Allemagne ». Dans le menu « Transformer », cliquez sur « Exécuter le script Python ».

La fenêtre d’exécution du script s’ouvre. Power BI nous informe que les données sont dans une variable nommée « dataset ». Il suffira de récupérer cette variable pour travailler sur les données formalisées comme à l’étape d’avant : « Types modifié » dans le volet « étapes appliquées » dans Power Query.

Vous pouvez insérer le code suivant :

 

# 'dataset' contient les données d'entrée pour ce script

import pandas as pd

df = pd.DataFrame(dataset[(dataset["Pays"].isin(values=["France", "Allemagne"]))])

 

Vous constatez que d’abord on importe pandas. Puis après on créé un DataFrame nommé « df ». Le DataFrame prend en paramètre les données de « dataset » mais est filtré dans sa colonne « Pays » grâce à la méthode « .isin » sur « France » et « Allemagne ».

Vous pouvez cliquer sur « OK ».

Power BI peut vous demander un niveau de confidentialité.

Dans notre cas nous paramètrerons la fenêtre comme ci-dessous.

En cliquant sur « Table » en face de « df » ligne 2 vous allez accéder aux données.

Voilà comment se présentent les données. Cette méthode est intéressante quand vous souhaitez effectuer plusieurs traitements dans une seule étape.

Là où vous aurez le plus d’utilité c’est lorsque vous aurez du mal à effectuer une opération avec Power Query. Aussi les méthodes « .loc » et « .iloc » de la librairie Pandas sont parfois plus efficaces que les systèmes de filtres de Power Query.

Pour finir nous allons exporter nos données dans un fichier « .csv ». Pour se faire vous pouvez à nouveau ouvrir « Exécuter le script Python » et insérer le code suivant :

 

# 'dataset' contient les données d'entrée pour ce script

import pandas as pd

df = pandas.DataFrame(dataset)

df.to_csv('C:\\Users\\VOTRE_CHEMIN_ACCES\\export.csv')

 

Vous pouvez cliquer sur « OK ».

Vos données devraient se présenter comme ci-dessous dans Power Query. Le fichier CSV a été créé.

Vous pouvez ouvrir votre fichier CSV pour contrôler les données qui sont à l’intérieur.

J’espère que cet article vous a plu. N’hésitez pas à vous renseigner sur nos formations Power BI et Python. À bientôt sur Mype.

 

 

Articles en relation

envelopephone-handset linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram