Sposoby optymalizacji raportu
Częstym problemem wśród początkujących użytkowników Power BI są problemy z optymalizacją raportu. Odbiorcom raportów brak przekonania do nich ze względu na ich powolne działanie, przez co często dyskredytują wykorzystanie Power BI jako nowego narzędzia do raportowania. Power BI podobnie jak Excel pozwala nam na wykonanie tych samych obliczeń i przedstawienie tych samych danych na wiele różnych sposobów. Nie ma jednej drogi, którą należy podążać jeśli cel został osiągnięty. Co jednak zrobić gdy nasz raport uruchamia się bardzo długo, a po wprowadzeniu jakiejkolwiek zmiany musimy czekać na przeładowanie wizualizacji? Poniżej omawiam kilka rozwiązań.
Wykorzystaj model gwiazdy
W jednym z poprzednich wpisów tłumaczyłem jak utworzyć model danych w oparciu o schemat gwiazdy. Jest to jedna z dobrych praktyk, która po zastosowaniu może zaowocować zmniejszeniem rozmiaru modelu danych, a także ze względu na typ przechowywanych kolumn przyspieszy obliczenia wykonywane na silniku DAX. Zamiana pojedynczej tabeli danych na tabelę faktów obudowaną tabelami wymiarów pozwoli na istotne zmniejszenie (nawet o kilkadziesiąt procent) rozmiaru modelu danych.
Ogranicz liczbę wizualizacji
Choć nie brzmi to sensownie, ponieważ tworzysz raport, aby przekazać jak najwięcej informacji to istnieje wiele dobrych praktyk wspomagających ograniczanie wizualizacji. O korzyściach z wykorzystania dobrych praktyk wizualizacji danych wspominałem już tutaj. Jeśli uważasz, że liczba wizualizacji została ograniczona do minimum, to może warto rozważyć również wykorzystanie zakładek widoków i przełączników. Pozwoli to na wyświetlanie konkretnych wizualizacji po wciśnięciu przycisku, np. zamiana tabeli w wykres, albo wywołanie karty filtrów. Więcej o wykorzystaniu zakładek znajdziesz tutaj.
Odpowiednio opracuj miary
Miary w języku DAX są odpowiednikiem formuł w Excelu. Wielkim plusem Power BI jest to, że możemy na różne sposoby obliczyć ten sam wynik. Warto więc przetestować, które z funkcji wykorzystane do obliczenia pożądanej miary sprawdzą się najlepiej. Ponadto za dobrą praktykę uważa się wykorzystanie w miarach DAX zmiennych, o których pisałem tutaj. Wykorzystanie zmiennych w funkcjach również może skrócić czas potrzebny na obliczenie danego wyniku.
Zdefiniuj odpowiednie relacje w modelu
Upewnij się wykorzystujesz odpowiednio relacje i kierunki pomiędzy tabelami. Sposób ustanowienia relacji w modelu danych znacząco wpływa na czas potrzebny do przeliczenia wartości po ich przefiltrowaniu. Power BI zdecydowanie szybciej radzi sobie z relacjami jeden-do-wielu niż wiele-do-wielu. Ponadto ustawienie odpowiednich kierunków relacji lub wykorzystanie funkcji RELATED lub USERELATIONSHIP pozwala również na wymuszenie odpowiednich relacji co wpływa na optymalizację działania raportu. Więcej o relacjach w modelu danych dowiesz się tutaj.
Podsumowanie
W artykule poruszyłem problem optymalizacji raportów tworzonych w Power BI Desktop, a także wskazałem jak sobie z tym poradzić poprzez:
-
wykorzystanie modelu gwiazdy,
-
ograniczenie liczby wizualizacji,
-
odpowiedniej opracowanie miar w języku DAX,
-
poprawne zdefiniowanie relacji w modelu danych.
Oczywiście zachęcam do dyskusji na temat powyżej wskazanych dobrych praktyk, a także innych, o których więcej już wkrótce.