Blog JSystems - uwalniamy wiedzę!

Szukaj

Power BI - Odświeżanie w usłudze i brama danych

Model z Pythonem lub R w usłudze Power BI - odświeżanie tylko przez bramę osobistą

W skrócie

  • Model z krokiem skryptu Python albo R w Power Query nie odświeży się w usłudze Power BI przez bramę standardową. Przy źródle Python usługa pisze „Nie można dodać do bramy”.
  • Krok skryptu uruchamia lokalny interpreter Pythona albo R, a usługa w chmurze go nie ma. Według dokumentacji Microsoft taki model odświeża tylko brama osobista na komputerze z tym interpreterem i bibliotekami.
  • Instalujesz bramę osobistą tam, gdzie działa Python, wybierasz ją w ustawieniach modelu i ustawiasz poświadczenia obu źródeł. Wizualizacje Python bramy nie potrzebują, rysuje je usługa z listy pakietów.

„Nie można dodać do bramy” - taki tekst usługa Power BI pokazuje przy źródle Python w modelu, który w Power BI Desktop odświeża się bez kłopotu. Odpowiada za to krok Uruchom skrypt języka Python (albo R) w Power Query: po publikacji model nie ma bramy, która przyjmie takie źródło, więc dane w usłudze zostają takie, jak w chwili publikacji. Pokazujemy, skąd bierze się to ograniczenie, jak przejść przez nie krok po kroku na modelu Nordvelli z kursu i czym różni się od tego wizualizacja Python w raporcie.

Jak to wygląda w praktyce

Problem widać w ustawieniach modelu semantycznego, w sekcji Połączenia bramy i chmury. Usługa wylicza tam źródła modelu i porównuje je z bramami, do których masz dostęp. W lekcji 24 model nordvella_22_ols miał dwa źródła: plik Nordvella_dane.xlsx i Python. Przy pliku był link Dodaj do bramy, a przy źródle Python tekst „Nie można dodać do bramy”. Pod tabelą usługa dopisała „Nie masz zainstalowanych żadnych bram osobistych.”

Po zainstalowaniu bramy osobistej i wybraniu jej dla modelu brama standardowa Brama-Nordvella została na liście ze stanem Nie skonfigurowano poprawnie, bo kroku Pythona nie obsłuży. Wśród komunikatów błędów usługi jest też tekst na sytuację, w której potrzebna jest brama osobista: „Upewnij się, że brama danych (tryb osobisty) jest zainstalowana i poprawnie skonfigurowana.” Dopóki model nie ma bramy, która obsłuży wszystkie źródła, dane w usłudze zostają takie, jak w chwili publikacji.

Ustawienia modelu nordvella_22_ols: źródło File z linkiem Dodaj do bramy i źródło Python z komunikatem Nie można dodać do bramy
Źródło File (plik Nordvella_dane.xlsx) można dodać do bramy standardowej, źródła Python nie. Na dole: Nie masz zainstalowanych żadnych bram osobistych.

Dlaczego tak się dzieje

Krok skryptu w Power Query nie jest zapytaniem do bazy, tylko uruchomieniem programu. Opis przycisku w Power BI Desktop mówi wprost: „Uruchom skrypt języka Python w lokalnej instalacji języka Python, aby zaimportować ramki danych.” W kursie skrypt dokładał do tabeli FaktSprzedaz kolumny Sezon i CzyAnomalia, a uruchamiał go Python z katalogu C:\Program Files\Python314. Usługa w chmurze nie ma tej instalacji ani bibliotek, więc krok musi wykonać komputer, na którym Python jest.

Według dokumentacji Microsoft do odświeżania modelu ze skryptem Pythona potrzebna jest brama osobista zainstalowana na komputerze, na którym leży plik i działa Python. Dla R dokumentacja dodaje, że modelu ze skryptem R w Power Query nie odświeży brama standardowa. Brama osobista obsługuje tylko modele w trybie importu i według dokumentacji każdy użytkownik może mieć jedną, a instalacja na drugim komputerze zastępuje poprzednią. Inaczej działa wizualizacja Python na stronie raportu: rysuje ją sama usługa w chwili wyświetlenia, a brama uruchamia przy odświeżeniu tylko kroki Power Query. Różnice obu trybów bramy opisujemy w poście o wyborze między bramą osobistą a standardową.

Co zrobić krok po kroku

  1. Sprawdź, gdzie model ma skrypt. W Power BI Desktop na karcie Narzędzia główne kliknij Przekształć dane, wybierz zapytanie i przejrzyj listę Zastosowane kroki. Krok Uruchom skrypt języka Python albo źródło Skrypt w języku Python oznacza, że model potrzebuje bramy osobistej. Gdy Pythona używa tylko wizualizacja na stronie raportu, brama nie jest do niego potrzebna.
  2. Zainstaluj bramę osobistą na komputerze, na którym działa Python. W usłudze otwórz Więcej opcji przy modelu, Ustawienia, sekcję Połączenia bramy i chmury i przy zdaniu o braku bram osobistych kliknij Zainstaluj teraz. Instalację krok po kroku, z logowaniem kontem służbowym, pokazujemy w lekcji o bramie danych i harmonogramie odświeżania.
  3. Przygotuj Pythona dla bramy. Według dokumentacji Microsoft na tym komputerze ma być ta sama wersja Pythona, ścieżka do niego ustawiona w Desktopie (menu Plik > Opcje i ustawienia > Opcje, pozycja Wykonywanie skryptów w języku Python) i biblioteki zainstalowane dla użytkownika, na którego koncie działa brama. Po zmianie ścieżki zapisz plik i opublikuj go ponownie. Biblioteki dociągasz w Wierszu polecenia, w tym samym Pythonie, który wskazujesz Power BI, poleceniem z kursu:
    python -m pip install pandas matplotlib seaborn
  4. Wróć do ustawień modelu, odśwież stronę i w sekcji Połączenia bramy i chmury zaznacz Brama osobista ze stanem Działa, a potem kliknij Zastosuj. W sekcji Poświadczenia źródła danych kliknij Edytuj poświadczenia osobno przy pliku i przy źródle Python. W obu oknach metoda uwierzytelniania to System Windows bez personifikacji (innej lista nie ma), wybierasz tylko poziom prywatności i klikasz Zaloguj. Dokumentacja Microsoft podaje, że przy skryptach Pythona w usłudze wszystkie źródła mają mieć poziom Public, a w kursie oba źródła miały Organizational i odświeżenie przeszło. Różne poziomy w jednym zapytaniu grożą zaporą Formula.Firewall z niezgodnymi poziomami prywatności.
  5. Na liście obszaru roboczego najedź na wiersz modelu i kliknij Odśwież teraz. W kursie odświeżenie przez bramę osobistą trwało 34 sekundy, od 01:10:53 do 01:11:27, a Historia odświeżania pokazała typ Na żądanie i stan Zakończono. Dopiero potem włącz harmonogram.
  6. Wizualizacje Python sprawdź osobno. Według dokumentacji Microsoft usługa uruchamia je tylko z pakietami z listy obsługiwanych, opublikowanymi w PyPI (prywatnych ani własnych pakietów nie obsługuje), w obszarach roboczych Premium i Fabric w Pythonie 3.11, a pakiety łączące się z internetem są zablokowane. Na liście jest seaborn 0.13.2 i pandas 2.2.2, choć na komputerze kursu był pandas 3.0.6. Do wyświetlania potrzebna jest licencja Pro albo Premium Per User (z darmową licencją widać je tylko w raportach udostępnionych w obszarach roboczych Premium), a administrator może je wyłączyć ustawieniem Korzystaj z wizualizacji języka R i Python oraz udostępniaj je. Błędy samego skryptu opisujemy w poście o wizualizacji Python z brakującą biblioteką.

Jak sprawdzić, że problem zniknął

Naprawione, gdy przy źródle Python nie ma ostrzeżenia, ręczne odświeżenie kończy się stanem Zakończono, a model w usłudze ma kolumny ze skryptu z aktualnymi wartościami. W modelu Nordvelli sprawdziliśmy to zapytaniem DAX: kolumna Sezon ma cztery wartości (Zima 34 981 transakcji, Wiosna 28 409, Jesień 26 082, Lato 19 203), CzyAnomalia oznacza 2 109 transakcji, najmniejsza z nich ma wartość brutto 22 134,49 zł, a [Łączna sprzedaż] wynosi 467 775 009,17 zł na 108 675 wierszach.

Pamiętaj, że według dokumentacji Microsoft komputer z bramą musi być włączony, a brama zalogowana w czasie każdego odświeżenia. Po aktualizacji Pythona doinstaluj biblioteki w nowej instalacji i popraw ścieżkę w opcjach Desktopu. Skrypt w Power Query uruchamia się przy każdym odświeżeniu, więc gdy przekształcenie da się zapisać w języku M albo w kolumnie DAX, model obejdzie się bez bramy osobistej.

Źródła i sposób sprawdzenia

  • Microsoft Learn: Use Python in Power Query Editor (odświeżanie w usłudze przez Personal Gateway) (źródło)
  • Microsoft Learn: Use a personal gateway in Power BI (R i Python w krokach Power Query) (źródło)
  • Microsoft Learn: Use R in Power Query Editor (brama standardowa nie odświeży skryptu R) (źródło)
  • Microsoft Learn: Python packages supported in Power BI (źródło)
  • Microsoft Learn: Create Power BI visuals using Python (licencje i ograniczenia) (źródło)
  • Kurs Power BI, lekcje 13 i 24: krok Pythona w FaktSprzedaz, źródło Python na bramie osobistej modelu nordvella_22_ols

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

Czy brama standardowa odświeży model Power BI ze skryptem Python?
Nie. Według dokumentacji Microsoft model z krokiem skryptu Python albo R w Power Query odświeża tylko brama osobista na komputerze z zainstalowanym interpreterem i bibliotekami. W ustawieniach modelu przy źródle Python usługa pisze wtedy Nie można dodać do bramy, a brama standardowa ma stan Nie skonfigurowano poprawnie.
Czy wizualizacja Python w usłudze Power BI potrzebuje bramy?
Nie. Wizualizację Python rysuje sama usługa w chwili wyświetlenia raportu, a brama uruchamia przy odświeżeniu tylko kroki Power Query. Według dokumentacji Microsoft do wyświetlania wizualizacji Python potrzebna jest licencja Pro albo Premium Per User, a administrator może je wyłączyć w ustawieniach organizacji.
Jakie pakiety Python działają w usłudze Power BI?
Według dokumentacji Microsoft usługa uruchamia wizualizacje tylko z pakietami z listy obsługiwanych, na przykład pandas 2.2.2 i seaborn 0.13.2, a w obszarach roboczych Premium i Fabric w Pythonie 3.11. Pakiety muszą być opublikowane w PyPI, prywatnych usługa nie obsługuje, a pakiety łączące się z internetem są zablokowane.
Czy komputer z bramą osobistą musi być włączony podczas odświeżania?
Tak. Według dokumentacji Microsoft komputer z bramą osobistą musi być włączony, a brama zalogowana w czasie odświeżania, bo to on uruchamia skrypt Pythona albo R. Każdy użytkownik może mieć jedną bramę osobistą, a instalacja na innym komputerze zastępuje poprzednią.

Komentarze (0)

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

Brak komentarzy...