Blog JSystems - uwalniamy wiedzę!

Szukaj

Power BI - Wizualizacje, interakcje i formatowanie raportu

Wizualizacja Python w Power BI - brak biblioteki albo błąd skryptu

W skrócie

  • Gdy wizualizacja Python w Power BI pokazuje błąd „Nie można wyświetlić tego elementu wizualnego”, w szczegółach widać ogólny kod błędu i identyfikator działania, a nie komunikat Pythona.
  • Power BI nie ma własnego Pythona. Uruchamia skrypt w interpreterze wskazanym w Opcjach, więc biblioteka zainstalowana w innej instalacji Pythona dla Power BI nie istnieje.
  • Wskaż w Opcjach właściwy katalog Pythona, zainstaluj biblioteki tym samym interpreterem i uruchom skrypt poza Power BI, żeby zobaczyć pełny komunikat. Sprawdź też podsumowanie pól i limit 150 000 wierszy.

Z błędem wizualizacji Python w Power BI spotyka się autor raportu, który wkleił skrypt z biblioteką seaborn albo matplotlib, a zamiast wykresu dostał szary prostokąt. Ten sam objaw daje brakująca biblioteka, literówka w nazwie kolumny i brak jednej linii na końcu skryptu. Pokazujemy, jak rozróżnić te przyczyny, skoro Power BI pokazuje dla nich ten sam komunikat, na przykładzie wykresu seaborn z danych Nordvelli z kursu.

Jak to wygląda w praktyce

Na płótnie zamiast wykresu jest ikona błędu i napis „Nie można wyświetlić tego elementu wizualnego.” z łączem Zobacz szczegóły. W lekcji o wizualizacjach Python szczegóły pokazały tylko ServiceErrorToClientError, identyfikator działania i godzinę, bez słowa o przyczynie. Taki sam komunikat dostaliśmy po literówce w nazwie kolumny (WartosBrutto zamiast WartoscBrutto) i po zakomentowaniu ostatniej linii plt.show().

Inne objawy tej samej grupy problemów: po ponownym otwarciu pliku wykres się nie rysuje, a w jego miejscu jest napis „Wizualizacje języka Python nie są włączone.”. W tekstach Power BI Desktop 2.157 są też komunikaty „Nie wykryto instalacji języka Python” (w angielskiej wersji: „No Python Installation Detected”) i „Skrypty przerywają działanie po 5 minutach. Aby rozwiązać ten problem, skróć czas wykonywania skryptu i spróbuj ponownie.” (w angielskiej wersji: „Scripts stop running after 5 minutes. To fix this, reduce your script's runtime, and try again.”).

Wizualizacja Python w Power BI z komunikatem Nie można wyświetlić tego elementu wizualnego po literówce w kodzie
Literówka WartosBrutto w linii 15 skryptu. Na płótnie zamiast wykresu ikona błędu i napis Nie można wyświetlić tego elementu wizualnego z łączem Zobacz szczegóły.

Dlaczego tak się dzieje

Power BI nie ma wbudowanego Pythona. Przy każdym rysowaniu wizualizacji uruchamia skrypt w interpreterze wskazanym w Opcjach. Gdy na komputerze są dwie instalacje Pythona (w kursie Power BI wykrył dwa miejsca instalacji z python.org, a obok może być jeszcze Anaconda), biblioteka bywa tylko w jednej z nich. Jeśli w Opcjach jest wskazana druga, skrypt kończy się w Pythonie błędem ModuleNotFoundError: No module named 'seaborn', a w Power BI widzisz tylko ogólny komunikat.

Druga grupa przyczyn to dane, które Power BI przekazuje do skryptu. Pola trafiają do ramki dataset, a Power BI usuwa z niej zduplikowane wiersze. Na modelu Nordvelli same pola WartoscBrutto i Kategoria dają 100 790 różnych wierszy zamiast 108 675 transakcji. Według dokumentacji Microsoft wizualizacja dostaje najwyżej 150 000 wierszy i 250 MB danych, a obliczenie dłuższe niż pięć minut kończy się błędem. O limitach punktów w zwykłych wykresach piszemy w poście o próbkowaniu i limicie punktów na wykresie.

Co zrobić krok po kroku

  1. Sprawdź interpreter. W Power BI Desktop wybierz Plik > Opcje i ustawienia > Opcje. W sekcji GLOBALNE kliknij Wykonywanie skryptów w języku Python. W sekcji Opcje skryptów w języku Python na liście Wykryte katalogi główne języka Python wybierz ten katalog, w którym instalujesz biblioteki. Gdy go nie ma, wybierz Inna i wskaż go przyciskiem Przeglądaj. W kursie Power BI znalazł instalację w C:\Program Files\Python314.
  2. Zainstaluj biblioteki tym samym interpreterem, który wskazujesz w Opcjach. Pewniej jest uruchomić pip przez pełną ścieżkę do python.exe z tego katalogu w Wierszu polecenia. Pakiety, które już są, pip oznacza linią Requirement already satisfied, a nowe kończy linią Successfully installed. Jeśli Python był instalowany przy otwartym programie, uruchom Power BI Desktop ponownie, tak jak radzi komunikat o braku instalacji.
    "C:\Program Files\Python314\python.exe" -m pip install pandas matplotlib seaborn
  3. Zobacz prawdziwy komunikat poza Power BI. Wczytaj kilka wierszy danych do zmiennej dataset w konsoli Pythona albo w notatniku Jupyter i uruchom ten sam kod. Python pokaże pełny ślad wywołania z numerem linii. Poniżej wzorzec do dostosowania: plik CSV wyeksportuj z tych samych pól, które masz w obszarze Wartości.
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    
    dataset = pd.read_csv("nordvella_probka.csv")
    print(dataset.columns.tolist())
    
    sns.histplot(data=dataset, x="WartoscBrutto")
    plt.show()
  4. Dopasuj naprawę do komunikatu z konsoli. ModuleNotFoundError oznacza brak biblioteki w interpreterze z Opcji. ValueError: Could not interpret value z nazwą kolumny oznacza literówkę albo pole, którego nie ma w obszarze Wartości, więc porównaj nazwę z preambułą nad kodem. ValueError: could not convert string to float to kolumna liczbowa przekazana jako tekst, którą zamienisz przez pd.to_numeric. Brak komunikatu i brak wykresu to zwykle brak plt.show() na końcu skryptu.
  5. Gdy wykres się rysuje, ale liczby się nie zgadzają, sprawdź pola w obszarze Wartości. Dokumentacja podaje Nie sumuj jako ustawienie domyślne, ale w kursie Power BI nadał polu podsumowanie Suma elementów WartoscBrutto, więc przy każdym polu liczbowym sprawdź strzałkę i wybierz Nie sumuj. Dodaj też kolumnę, która odróżnia wiersze, na przykład SprzedazID: dopiero wtedy do skryptu trafia 108 675 transakcji, a nie 100 790 wierszy po usunięciu duplikatów.
  6. Po ponownym otwarciu pliku z napisem „Wizualizacje języka Python nie są włączone.” kliknij Włącz w oknie Włącz elementy wizualne skryptu. To zgoda na uruchamianie skryptów, a nie błąd w kodzie.
  7. Przed publikacją sprawdź, czy skrypt korzysta tylko z obsługiwanych pakietów. Według dokumentacji Microsoft usługa uruchamia Pythona 3.11 z listą pakietów, między innymi pandas 2.2.2, matplotlib 3.8.4 i seaborn 0.13.2, nie obsługuje pakietów prywatnych i blokuje połączenia sieciowe ze skryptu. W kursie lokalnie działały nowsze wersje (pandas 3.0.6, matplotlib 3.11.2), więc kod zgodny tylko z nimi może zadziałać w Desktopie, a w usłudze już nie. Odświeżanie skryptów Python z Power Query opisujemy w poście o modelu z Pythonem w usłudze i bramie osobistej.

Jak sprawdzić, że problem zniknął

Po poprawce kliknij Uruchom skrypt nad edytorem: zamiast komunikatu pojawia się wykres. Sprawdź liczbę wierszy, które dostaje skrypt, na przykład dopisując ją do tytułu wykresu przez len(dataset). Przy polach WartoscBrutto, Kategoria i SprzedazID z ustawieniem Nie sumuj powinno to być 108 675, czyli tyle, ile transakcji ma FaktSprzedaz.

Ustal w zespole jedną instalację Pythona z tymi samymi wersjami bibliotek, bo raport z wykresem seaborn zadziała u kolegi tylko z tym samym zestawem. Każdy nowy skrypt uruchamiaj najpierw poza Power BI. Jak czytać okno szczegółów błędu przy innych wizualizacjach, opisujemy w poście o błędzie Nie można wyświetlić elementu wizualnego.

Źródła i sposób sprawdzenia

  • Microsoft Learn: Create Power BI visuals by using Python (sekcja Limitations) (źródło)
  • Microsoft Learn: Learn which Python packages are supported in Power BI (źródło)
  • Lekcja 13 kursu: konfiguracja interpretera, celowa literówka i brak plt.show() na wizualizacji Python z danymi Nordvelli.
  • Sprawdzone zapytaniem DAX na modelu Nordvelli: liczba różnych wierszy przekazywanych do skryptu z SprzedazID i bez tej kolumny.

Zachowanie programu sprawdziliśmy w Power BI Desktop 2.157 (wydanie z sierpnia 2026 r.) z polskim interfejsem, a przykłady na modelu sieci Nordvella z bezpłatnego kursu Power BI. Microsoft wydaje nową wersję Power BI Desktop co miesiąc, więc nazwy przycisków i limity usługi mogą się zmieniać. Aktualne wartości podaje dokumentacja Microsoft Learn.

Wróć do listy: 131 najczęstszych pytań i problemów związanych z Power BI

Najczęściej zadawane pytania

Dlaczego wizualizacja Python w Power BI pokazuje błąd mimo zainstalowanej biblioteki?
Power BI uruchamia skrypt w interpreterze wskazanym w Opcjach, w sekcji Wykonywanie skryptów w języku Python. Gdy na komputerze są dwie instalacje Pythona, biblioteka bywa tylko w jednej z nich. Wskaż w Opcjach katalog, w którym uruchamiasz pip install, albo zainstaluj bibliotekę pełną ścieżką do python.exe z tego katalogu.
Jak zobaczyć pełny komunikat błędu skryptu Python w Power BI?
Okno Zobacz szczegóły w Power BI pokazuje ogólny kod błędu, identyfikator działania i godzinę, bez treści wyjątku Pythona. Pełny komunikat z numerem linii zobaczysz, uruchamiając ten sam kod w konsoli Pythona albo w notatniku Jupyter na kilku wierszach danych wczytanych do zmiennej dataset.
Ile wierszy dostaje wizualizacja Python w Power BI?
Według dokumentacji Microsoft najwyżej 150 000 wierszy i 250 MB danych, a Power BI usuwa z ramki dataset zduplikowane wiersze. Na danych Nordvelli same pola WartoscBrutto i Kategoria dają 100 790 wierszy zamiast 108 675 transakcji, dlatego dodaj kolumnę, która odróżnia wiersze, na przykład SprzedazID.
Czy wizualizacja Python z Power BI Desktop zadziała w usłudze Power BI?
Tylko z pakietami obsługiwanymi przez usługę. Według dokumentacji Microsoft usługa uruchamia Pythona 3.11 z listą pakietów, między innymi pandas 2.2.2, matplotlib 3.8.4 i seaborn 0.13.2, nie obsługuje pakietów prywatnych i blokuje połączenia sieciowe. Kod zgodny tylko z nowszymi wersjami bibliotek może działać w Desktopie, a w usłudze nie.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...