Brug Python i Power Query-editor
Du kan bruge Python, som er et programmeringssprog, der i vid udstrækning bruges af statistikere, dataspecialister og dataanalytikere, i Power BI Desktop-Power Query-editor. Med denne integration af Python i Power Query-editor kan du udføre datarensning ved hjælp af Python og udføre avanceret dataudformning og -analyse i datasæt, herunder fuldførelse af manglende data, forudsigelser og klyngedannelse, blot for at nævne nogle få. Python er et effektivt sprog og kan bruges i Power Query-editor til at forberede din datamodel og oprette rapporter.
Forudsætninger
Du skal installere Python og pandas, før du begynder.
Installér Python – Hvis du vil bruge Python i Power BI Desktops Power Query-editor, skal du installere Python på din lokale computer. Du kan downloade og installere Python gratis fra mange steder, herunder den officielle Python-downloadside og Anaconda.
Installér pandas – Hvis du vil bruge Python med Power Query-editor, skal du også installere pandas. Pandas bruges til at flytte data mellem Power BI og Python-miljøet.
Brug Python sammen med Power Query-editor
Hvis du vil vise, hvordan du bruger Python i Power Query-editor, skal du tage dette eksempel fra et aktiemarkedsdatasæt, der er baseret på en CSV-fil, som du kan downloade herfra og følge med. Trinnene i dette eksempel er følgende procedure:
Først skal du indlæse dine data i Power BI Desktop. I dette eksempel skal du indlæse filen EuStockMarkets_NA.csv og vælge Hent data>Tekst/CSV på båndet Hjem i Power BI Desktop.
Vælg filen, og vælg Åbn, hvorefter CSV-filen vises i dialogboksen CSV-fil .
Når dataene er indlæst, kan du se dem i ruden Felter i Power BI Desktop.
Åbn Power Query-editor ved at vælge Transformér data på fanen Hjem i Power BI Desktop.
Under fanen Transformér skal du vælge Kør Python-script, hvorefter editoren Kør Python-script vises som vist i næste trin. Række 15 og 20 lider af manglende data, ligesom andre rækker, du ikke kan se på følgende billede. Følgende trin viser, hvordan Python fuldfører disse rækker for dig.
I dette eksempel skal du angive følgende scriptkode:
import pandas as pd completedData = dataset.fillna(method='backfill', inplace=False) dataset["completedValues"] = completedData["SMI missing values"]
Bemærk
Pandas-biblioteket skal være installeret i Python-miljøet, for at den forrige scriptkode fungerer korrekt. Hvis du vil installere pandas, skal du køre følgende kommando i Python-installationen:
pip install pandas
Når koden placeres i dialogboksen Kør Python-script , ser den ud som i følgende eksempel:
Når du har valgt OK, viser Power Query-editor en advarsel om beskyttelse af personlige oplysninger.
Hvis Python-scripts skal fungere korrekt i Power BI-tjeneste, skal alle datakilder være angivet til offentlige. Du kan få flere oplysninger om indstillinger for beskyttelse af personlige oplysninger og deres konsekvenser under Niveauer for beskyttelse af personlige oplysninger.
Bemærk en ny kolonne i ruden Felter , der kaldes completedValues. Bemærk, at der mangler nogle dataelementer, f.eks. i række 15 og 18. Se, hvordan Python håndterer dette i næste afsnit.
Med kun tre linjer Python-script Power Query-editor udfyldt de manglende værdier med en forudsigende model.
Opret visualiseringer ud fra Python-scriptdata
Nu kan vi oprette en visualisering for at se, hvordan Python-scriptkoden ved hjælp af pandas-biblioteket har fuldført de manglende værdier, som vist på følgende billede:
Når visualiseringen er fuldført, og alle andre visualiseringer, du vil oprette ved hjælp af Power BI Desktop, kan du gemme Power BI Desktop-filen . Power BI Desktop-filer gemmes med filtypenavnet .pbix . Brug derefter datamodellen, herunder De Python-scripts, der er en del af den, i Power BI-tjeneste.
Bemærk
Vil du se en fuldført .pbix-fil, hvor disse trin er fuldført? Du er heldig. Du kan downloade den færdige Power BI Desktop-fil , der bruges i disse eksempler , lige her.
Når du uploader .pbix-filen til Power BI-tjeneste, er der et par yderligere trin, der er nødvendige for at aktivere data, der kan opdateres i tjenesten, og for at gøre det muligt for visualiseringer at blive opdateret i tjenesten. Dataene skal have adgang til Python, for at visualiseringerne kan opdateres. De andre trin er følgende trin:
- Aktivér planlagt opdatering af datasættet. Hvis du vil aktivere planlagt opdatering af den projektmappe, der indeholder dit datasæt med Python-scripts, skal du se Konfiguration af planlagt opdatering, som også indeholder oplysninger om personlig gateway.
- Installér den personlige gateway. Du skal have installeret en personlig gateway på den computer, hvor filen er placeret, og hvor Python er installeret. Den Power BI-tjeneste skal have adgang til projektmappen og gengive eventuelle opdaterede visualiseringer igen. Du kan få mere at vide under Installér og konfigurer personlig gateway.
Overvejelser og begrænsninger
Der er nogle begrænsninger for forespørgsler, der omfatter Python-scripts, der er oprettet i Power Query-editor:
Alle indstillinger for Python-datakilden skal være angivet til Offentlig, og alle andre trin i en forespørgsel, der er oprettet i Power Query-editor, skal også være offentlige. Hvis du vil have vist indstillinger for datakilde, skal du i Power BI Desktop vælge Filindstillinger >> Indstillinger Indstillinger for datakilde.
I dialogboksen Datakilde Indstillinger skal du vælge datakilderne og derefter vælge Rediger tilladelser... og sikre, at niveauet for beskyttelse af personlige oplysninger er angivet til Offentligt.
Hvis du vil aktivere planlagt opdatering af dine Python-visualiseringer eller -datasæt, skal du aktivere Planlagt opdatering og have en personlig gateway installeret på den computer, der indeholder projektmappen og Python-installationen. Du kan finde flere oplysninger om begge dele i det forrige afsnit i denne artikel, som indeholder links til at få mere at vide om hver enkelt.
Indlejrede tabeller, som er tabel over tabeller, understøttes ikke i øjeblikket.
Der er mange forskellige ting, du kan gøre med Python og brugerdefinerede forespørgsler, så udforsk og form dine data på den måde, du ønsker, at de skal vises på.