Check Power BI visual errors logo

Power BI – wykrywanie błędów na opublikowanych raportach

Praca z Power BI jest stosunkowo szybka, prosta i przyjemna. Niestety jak każdy produkt Power BI posiada również wady. Według mnie jedną z największych bolączek pracy developera z raportami Power BI oraz platformą powerbi.com jest administracja. Im większy projekt i liczba raportów, tym trudniej zapanować nad publikowaniem raportów oraz zapewnieniu ciągłości ich działania. W tym poście chciałbym opisać jeden konkretny problem oraz pokazać w jaki sposób można ten problem obejść.

Pewnie nie jeden z nas spotkał się z następującym widokiem:

Źródło problemu jest raczej oczywiste i najprawdopodobniej model danych, z którego korzystał raport uległ zmianie. Zmiany w modelu są rzeczą naturalną i niekiedy zwyczajnie nie można ich uniknąć. Problem pojawia się wówczas, gdy w danej organizacji jest duża ilość raportów, dashboardów i aplikacji. Wówczas jedynym, według mojej wiedzy, rozwiązaniem jest sprawdzenie manualnie ich wszystkich oraz weryfikacja, który element powinien zostać zaktualizowany. W przypadku dużego projektu z całą pewnością zajmie to dobrą chwilę oraz nie będzie najciekawszym zadaniem… Warto również dodać, że takie sprawdzenie powinno odbywać się przynajmniej raz po publikacji zmian w modelu danych, a dobrym pomysłem wydawałoby się przeprowadzać taki test nawet częściej. Aby przyspieszyć i ułatwić ten proces postanowiłem napisać skrypt.

Skrypt został napisany w Python z wykorzystaniem (między innymi) Selenium. Zasada działania jest stosunkowo prosta i polega na automatyzacji poruszania się po portalu powerbi.com oraz pobieraniu i parsowaniu kodu html. Wynikiem skryptu jest po pierwsze lista poszczególnych elementów takich jak aplikacje, raporty, dashboard, jak i również lista tych elementów, które zawierają błędy (dashboard, strona raportu). Przykładowo:

app > <app_name> > <app_url>
workspace > <workspace_name> > <workspace_url>
workspace report > <workspace_name> > <workspace_report_name> > <workspace_report_url>
workspace dashboard > <workspace_name> > <dashboard_name> > <workspace_dashboard_url>
workspace report tabs >  > <workspace_name> > <workspace_report_name> > <workspace_report_url> > <workspace_report_tab_name> > <workspace_report_tab_url>
workspace report tabs visual error >  > <workspace_name> > <workspace_report_name> > <workspace_report_url> > <workspace_report_tab_name> > <workspace_report_tab_url>
workspace dashboard visual error > <workspace_name> > <dashboard_name> > <workspace_dashboard_url>

W chwili znalezienia błędu dodatkowo wykonywany oraz zapisywany jest zrzut ekranu z widocznym błędem.

Skrypt został przetestowany i powinien działać, natomiast proszę o informację w razie jakichkolwiek problemów. Jest to wersja pierwsza i wkrótce postaram się poprawić błędy, które napotkałem. Więcej informacji oraz cały skrypt można pobrać z githuba: https://github.com/seequality/seequality_powerbi_python_toolkit Jeżeli będzie zainteresowanie postaram się również przepisać ten skrypt na .NET

Na końcu chciałbym również dodać, że mam nadzieję, że niedawno zapowiedziane zmiany w API Power BI zapewnią jeszcze lepsze wparcie dla developerów i ułatwią pracę w większych projektach. Vide: https://powerbi.microsoft.com/en-us/blog/announcing-apis-and-powershell-cmdlets-for-power-bi-administrators/

Slawomir Drzymala
Follow me on

Leave a Reply