Créer des visuels Power BI avec Python

Ce tutoriel vous aide à créer des visuels avec des données Python dans Power BI Desktop. Vous utilisez quelques-unes des nombreuses options et fonctionnalités disponibles pour créer des rapports visuels à l’aide de Python, pandas et la bibliothèque Matplotlib.

Prérequis

Parcourez Exécuter des scripts Python dans Power BI Desktop pour :

  • Installez Python sur votre ordinateur local.

  • Activez les scripts Python dans Power BI Desktop.

  • Installez les bibliothèques Python pandas et Matplotlib.

  • Importez le script Python suivant dans Power BI Desktop :

    import pandas as pd 
    df = pd.DataFrame({ 
        'Fname':['Harry','Sally','Paul','Abe','June','Mike','Tom'], 
        'Age':[21,34,42,18,24,80,22], 
        'Weight': [180, 130, 200, 140, 176, 142, 210], 
        'Gender':['M','F','M','M','F','M','M'], 
        'State':['Washington','Oregon','California','Washington','Nevada','Texas','Nevada'],
        'Children':[4,1,2,3,0,2,0],
        'Pets':[3,2,2,5,0,1,5] 
    }) 
    print (df) 
    

Créer un visuel Python dans Power BI Desktop

  1. Après avoir importé le script Python, sélectionnez l’icône de visuel Python dans le volet Visualisations de Power BI Desktop.

    Screenshot that shows the Python option in Visualizations.

  2. Dans la boîte de dialogue Activer les éléments visuels de script qui s’affiche, sélectionnez Activer.

    Une image visuelle Python d’espace réservé s’affiche sur le canevas du rapport et l’éditeur de script Python apparaît en bas du volet central.

    Screenshot that shows the Python script editor.

  3. Faites glisser les champs Age (Âge), Children (Enfants), Fname (Prénom), Gender (Sexe), Pets (Animaux), State (État) et Weight (Poids) dans la section Valeurs où est indiqué Ajouter des champs de données ici.

    Screenshot that shows Drag to Add data fields here.

    L’éditeur de script Python génère le code de liaison suivant à partir de vos sélections.

    • L’éditeur crée une trame de données jeu de données avec les champs que vous avez ajoutés.
    • L’agrégation par défaut est Ne pas synthétiser.
    • Comme pour les objets visuels de tableau, les champs sont regroupés et les lignes en double apparaissent une seule fois.
  4. Une fois la trame de données générée automatiquement par les champs que vous avez sélectionnés, vous pouvez écrire un script Python qui génère le traçage sur l’appareil Python par défaut. Une fois le script terminé, sélectionnez l’icône Exécuter dans la barre de titre de l’éditeur de script Python pour exécuter le script et générer le visuel.

    Screenshot that shows the Python script editor with initial comments.

Conseils

  • Votre script Python peut seulement utiliser des champs ajoutés à la section Valeurs. Vous pouvez ajouter ou supprimer des champs tout en travaillant sur votre script Python. Power BI Desktop détecte automatiquement les modifications apportées aux champs. Quand vous sélectionnez ou supprimez des champs dans la section Valeurs, le code correspondant est automatiquement généré ou supprimé dans l’Éditeur de script Python.

  • Dans certains cas, il peut être dans votre intérêt de ne pas avoir recours au regroupement automatique ou bien d’afficher toutes les lignes, notamment les doublons. Dans ces cas, vous pouvez ajouter un champ d’index à votre jeu de données. De cette façon, toutes les lignes sont considérées comme étant uniques, ce qui empêche le regroupement.

  • Vous pouvez accéder aux colonnes du jeu de données en utilisant leurs noms respectifs. Par exemple, vous pouvez coder dataset["Age"] dans votre script Python pour accéder au champ Age (Âge).

  • Power BI Desktop retrace l’élément visuel lorsque vous sélectionnez Exécuter dans la barre de titre Éditeur de script Python ou chaque fois qu’une modification de données se produit (actualisation, filtrage ou mise en surbrillance des données).

  • Quand vous exécutez un script Python qui génère une erreur, le visuel Python n’est pas tracé et un message d’erreur s’affiche sur le canevas. Pour plus d’informations sur l’erreur, sélectionnez Afficher les détails dans le message.

  • Pour obtenir une plus grande vue des visualisations, vous pouvez réduire l’Éditeur de script Python.

Créer un nuage de points

Créez un nuage de points pour voir s’il existe une corrélation entre l’âge et le poids.

  1. Dans l’éditeur de script Python, sous Collez ou tapez votre code de script ici, entrez ce code :

    import matplotlib.pyplot as plt 
    dataset.plot(kind='scatter', x='Age', y='Weight', color='red')
    plt.show() 
    

    Le volet de l’Éditeur de script Python doit maintenant ressembler à l’image suivante :

    Screenshot that shows the Python script editor with commands.

    Le code importe la bibliothèque Matplotlib, qui trace et crée le visuel.

  2. Sélectionnez le bouton Exécuter le script pour générer le nuage de points suivant dans le visuel Python.

    Screenshot that shows the scatter plot visualization generated from the Python script.

Créer un tracé de ligne avec plusieurs colonnes

Créez un tracé de ligne pour chaque personne qui indique son nombre d’enfants et d’animaux.

  1. Sous Collez ou tapez votre code de script ici, supprimez ou commentez le code précédent, puis entrez le code Python suivant :

    import matplotlib.pyplot as plt 
    ax = plt.gca() 
    dataset.plot(kind='line',x='Fname',y='Children',ax=ax) 
    dataset.plot(kind='line',x='Fname',y='Pets', color='red', ax=ax) 
    plt.show() 
    
  2. Sélectionnez le bouton Exécuter pour générer le tracé de ligne suivant avec plusieurs colonnes :

    Screenshot that shows a line plot with multiple columns from the Python script.

Créer un tracé à barres

Créez un tracé à barres pour l’âge de chaque personne.

  1. Sous Collez ou tapez votre code de script ici, supprimez ou commentez le code précédent, puis entrez le code Python suivant :

    import matplotlib.pyplot as plt 
    dataset.plot(kind='bar',x='Fname',y='Age') 
    plt.show() 
    
  2. Sélectionnez le bouton Exécuter pour générer le tracé à barres suivant :

    Screenshot that shows a bar plot from the Python script.

Limites

Les visuels Python dans Power BI Desktop ont les limitations suivantes :

  • Les données utilisées par le visuel Python pour le traçage sont limitées à 150 000 lignes. Si plus de 150 000 lignes sont sélectionnées, seules les 150 000 premières lignes sont utilisées et un message s’affiche sur l’image. Les données d’entrée ont également une limite de 250 Mo.

  • Si le jeu de données d’entrée d’un visuel Python a une colonne qui contient une valeur de chaîne de plus de 32 766 caractères, cette valeur est tronquée.

  • Tous les visuels Python s’affichent à une résolution de 72 PPP.

  • Si le calcul d’un visuel Python prend plus de cinq minutes, le délai d’exécution est dépassé, ce qui provoque une erreur.

  • Comme avec d’autres visuels Power BI Desktop, si vous sélectionnez des champs de données provenant de différentes tables sans aucune relation définie entre elles, une erreur se produit.

  • Les visuels Python s’actualisent lors de la mise à jour, du filtrage et de la sélection des données. L’image proprement dite n’est pas interactive.

  • Les visuels Python répondent à la sélection d’éléments dans d’autres visuels, mais vous ne pouvez pas sélectionner d’éléments dans le visuel Python pour appliquer un filtre croisé à d’autres éléments.

  • Seuls les tracés sur l’écran Python par défaut s’affichent correctement sur le canevas. Évitez d’utiliser explicitement un autre écran Python.

  • Les visuels Python ne prennent pas en charge le renommage des colonnes d’entrée. Les colonnes sont référencées par leur nom d’origine durant l’exécution du script.

Sécurité

Les éléments visuels Python utilisent des scripts Python, qui peuvent contenir du code qui présente des risques pour la sécurité ou la confidentialité. Lorsque vous tentez d’afficher ou d’interagir avec un visuel Python pour la première fois, vous recevez un avertissement de sécurité. Activez les visuels Python seulement si vous faites confiance à l’auteur et à la source ou après avoir examiné et compris le script Python.

Licence

Les visuels Python nécessitent une licence Power BI Pro ou Premium par utilisateur pour être rendus dans des rapports, des actualisations, des filtres et des filtres croisés. Les utilisateurs de la version gratuite de Power BI ne peuvent utiliser que des vignettes partagées avec eux dans les espaces de travail Premium.

Le tableau suivant décrit les fonctionnalités des éléments visuels Python en fonction de la licence.

Créer des visuels Python dans Power BI Desktop Créer des rapports de service Power BI avec des visuels Python Affichage des visuels Python dans les rapports
Invité(Power BI Embedded) Prise en charge Non pris en charge Prise en charge dans la capacité Premium/Azure uniquement
Locataire non géré (domaine non vérifié) Prise en charge Non pris en charge Non pris en charge
Locataire géré avec licence gratuite Prise en charge Non pris en charge Prise en charge dans la capacité Premium uniquement
Locataire géré avec une licence Pro ou Premium par utilisateur Prise en charge Prise en charge Pris en charge

Pour plus d’informations sur les licences Power BI Pro et pour savoir en quoi elles diffèrent des licences gratuites, consultez Acheter et attribuer des licences utilisateur Power BI Pro.

Ce tutoriel aborde rapidement les options et fonctionnalités permettant de créer des rapports visuels à l’aide de Python, pandas et la bibliothèque Matplotlib. Pour plus d’informations, consultez les ressources suivantes :

Pour plus d’informations sur Python dans Power BI, consultez :