Power BI-visuals maken met Python

Deze zelfstudie helpt u aan de slag te gaan met het maken van visuals met Python-gegevens in Power BI Desktop. U gebruikt een aantal van de vele beschikbare opties en mogelijkheden voor het maken van visuele rapporten met behulp van Python, pandas en de Matplotlib-bibliotheek.

Vereisten

Python-scripts uitvoeren in Power BI Desktop om het volgende te doen:

  • Installeer Python op uw lokale computer.

  • Python-scripts inschakelen in Power BI Desktop.

  • Installeer de Pandas - en Matplotlib Python-bibliotheken.

  • Importeer het volgende Python-script in 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) 
    

Een Python-visual maken in Power BI Desktop

  1. Nadat u het Python-script hebt geïmporteerd, selecteert u het pictogram van de Python-visual in het deelvenster Visualisaties van Power BI Desktop.

    Screenshot that shows the Python option in Visualizations.

  2. Selecteer In het dialoogvenster Scriptvisuals inschakelen dat wordt weergegeven, de optie Inschakelen.

    Er wordt een tijdelijke aanduiding voor een Python-visual weergegeven op het rapportcanvas en de Python-scripteditor wordt onder aan het middelste deelvenster weergegeven.

    Screenshot that shows the Python script editor.

  3. Sleep de velden Leeftijd, Kinderen, Fname, Geslacht, Huisdieren, Staat en Gewicht naar de sectie Waarden met de tekst Gegevensvelden hier toevoegen.

    Screenshot that shows Drag to Add data fields here.

    Op basis van uw selecties genereert de Python-scripteditor de volgende bindingscode.

    • De editor maakt een gegevenssetgegevensframe met de velden die u toevoegt.
    • De standaardaggregatie is Niet samenvatten.
    • Net als bij tabelvisuals zijn velden gegroepeerd en dubbele rijen worden slechts één keer weergegeven.
  4. Met het gegevensframe dat automatisch wordt gegenereerd door de velden die u hebt geselecteerd, kunt u een Python-script schrijven dat resulteert in plotting naar het standaard python-apparaat. Wanneer het script is voltooid, selecteert u het pictogram Uitvoeren op de titelbalk van de Python-scripteditor om het script uit te voeren en de visual te genereren.

    Screenshot that shows the Python script editor with initial comments.

Tips

  • Uw Python-script kan alleen velden gebruiken die worden toegevoegd aan de sectie Waarden . U kunt velden toevoegen of verwijderen terwijl u aan uw Python-script werkt. In Power BI Desktop worden veldwijzigingen automatisch gedetecteerd. Wanneer u velden selecteert of verwijdert uit de sectie Waarden , wordt ondersteunende code in de Python-scripteditor automatisch gegenereerd of verwijderd.

  • In sommige gevallen wilt u mogelijk niet dat automatische groepering plaatsvindt of wilt u mogelijk dat alle rijen worden weergegeven, inclusief duplicaten. In dergelijke gevallen kunt u een indexveld toevoegen aan uw gegevensset waardoor alle rijen als uniek worden beschouwd en groepering wordt voorkomen.

  • U kunt kolommen in de gegevensset openen met behulp van hun namen. U kunt bijvoorbeeld code in dataset["Age"] uw Python-script gebruiken om toegang te krijgen tot het leeftijdsveld.

  • Power BI Desktop herlott de visual wanneer u Uitvoeren selecteert op de titelbalk van de Python-scripteditor of wanneer er een gegevenswijziging plaatsvindt vanwege het vernieuwen, filteren of markeren van gegevens.

  • Wanneer u een Python-script uitvoert dat resulteert in een fout, wordt de Python-visual niet getekend en wordt er een foutbericht weergegeven op het canvas. Selecteer Details weergeven in het bericht voor foutdetails.

  • Als u een grotere weergave van de visualisaties wilt krijgen, kunt u de Python-scripteditor minimaliseren.

Een spreidingsplot maken

Maak een spreidingsplot om te zien of er een correlatie is tussen leeftijd en gewicht.

  1. Voer in de Python-scripteditor, onder Plakken of typ hier uw scriptcode, deze code in:

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

    Het deelvenster Python-scripteditor moet er nu uitzien als de volgende afbeelding:

    Screenshot that shows the Python script editor with commands.

    Met de code wordt de Matplotlib-bibliotheek geïmporteerd, waarmee de visual wordt uitplot en gemaakt.

  2. Selecteer de knop Script uitvoeren om het volgende spreidingsplot in de Python-visual te genereren.

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

Een lijndiagram met meerdere kolommen maken

Maak een lijndiagram voor elke persoon met het aantal kinderen en huisdieren.

  1. Verwijder of maak commentaar van de vorige code onder Plak of typ hier de scriptcode en voer de volgende Python-code in:

    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. Selecteer de knop Uitvoeren om het volgende lijndiagram met meerdere kolommen te genereren:

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

Een staafdiagram maken

Maak een staafdiagram voor de leeftijd van elke persoon.

  1. Verwijder of maak commentaar van de vorige code onder Plak of typ hier de scriptcode en voer de volgende Python-code in:

    import matplotlib.pyplot as plt 
    dataset.plot(kind='bar',x='Fname',y='Age') 
    plt.show() 
    
  2. Selecteer de knop Uitvoeren om het volgende staafdiagram te genereren:

    Screenshot that shows a bar plot from the Python script.

Beperkingen

Python-visuals in Power BI Desktop hebben de volgende beperkingen:

  • De gegevens die door de Python-visual worden gebruikt om te tekenen, zijn beperkt tot 150.000 rijen. Als er meer dan 150.000 rijen zijn geselecteerd, worden alleen de bovenste 150.000 rijen gebruikt en wordt er een bericht weergegeven op de afbeelding. De invoergegevens hebben ook een limiet van 250 MB.

  • Als de invoergegevensset van een Python-visual een kolom bevat die een tekenreekswaarde bevat die langer is dan 32.766 tekens, wordt die waarde afgekapt.

  • Alle Python-visuals worden weergegeven met een resolutie van 72 DPI.

  • Als een Berekening van een Python-visual langer is dan vijf minuten, treedt er een time-out op voor de uitvoering, wat resulteert in een fout.

  • Net als bij andere Power BI Desktop-visuals, treedt er een fout op als u gegevensvelden uit verschillende tabellen selecteert zonder gedefinieerde relatie ertussen.

  • Python-visuals worden vernieuwd wanneer gegevens worden bijgewerkt, gefilterd en gemarkeerd. De afbeelding zelf is niet interactief.

  • Python-visuals reageren op het markeren van elementen in andere visuals, maar u kunt geen elementen in de Python-visual selecteren om andere elementen kruislings te filteren.

  • Alleen diagrammen naar het standaardweergaveapparaat van Python worden correct weergegeven op het canvas. Vermijd expliciet het gebruik van een ander Python-weergaveapparaat.

  • Python-visuals bieden geen ondersteuning voor het wijzigen van de naam van invoerkolommen. Kolommen worden tijdens het uitvoeren van scripts naar hun oorspronkelijke namen verwezen.

Beveiliging

Python-visuals maken gebruik van Python-scripts, die code kunnen bevatten die beveiligings- of privacyrisico's heeft. Wanneer u een Python-visual voor de eerste keer probeert weer te geven of te gebruiken, krijgt u een beveiligingswaarschuwing. Schakel Python-visuals alleen in als u de auteur en bron vertrouwt, of nadat u het Python-script hebt bekeken en begrepen.

Licenties

Voor Python-visuals is een PPU-licentie (Power BI Pro of Premium Per User) vereist om weer te geven in rapporten, vernieuwen, filteren en kruislings filteren. Gebruikers van gratis Power BI kunnen alleen tegels gebruiken die met hen worden gedeeld in Premium-werkruimten.

In de volgende tabel worden de mogelijkheden van Python-visuals beschreven op basis van licenties.

Python-visuals maken in Power BI Desktop Power BI-service-rapporten maken met Python-visuals Python-visuals weergeven in rapporten
Gast (ingesloten in Power BI) Ondersteund Niet ondersteund Alleen ondersteund in Premium-/Azure-capaciteit
Niet-beheerde tenant (domein niet geverifieerd) Ondersteund Niet ondersteund Niet ondersteund
Beheerde tenant met gratis licentie Ondersteund Niet ondersteund Alleen ondersteund in Premium-capaciteit
Beheerde tenant met Pro- of PPU-licentie Ondersteund Ondersteund Ondersteund

Zie Power BI Pro-gebruikerslicenties aanschaffen en toewijzen voor meer informatie over Power BI Pro-licenties en hoe deze verschillen van gratis licenties.

In deze zelfstudie wordt het oppervlak van de opties en mogelijkheden voor het maken van visuele rapporten nauwelijks bekrast met behulp van Python, pandas en de Matplotlib-bibliotheek. Voor meer informatie raadpleegt u de volgende bronnen:

Zie voor meer informatie over Python in Power BI: