Szybsze przetwarzanie, płynne pobieranie danych i błyskawiczne działanie
Optymalizacja istniejących rozwiązań
Co zrobić, gdy istniejące raporty działają zbyt wolno
W wielu organizacjach, które we własnym zakresie zaczynają wdrożenie Power BI po pewnym czasie zaczynają się problemy związane z nieprawidłowym działaniem raportów. Poniżej znajdziesz listę 30 punktów, które sprawdzamy i poprawiamy w trakcie optymalizacji aby poprawić wydajność i bezpieczeństwo Twoich rozwiązań.
Wydajność
1. Ograniczenie liczby wizualizacji na pulpitach nawigacyjnych i raportach
Użycie zbyt wielu wizualizacji na jednej karcie spowalnia działanie raportu. Każda wizualizacja wymaga przetwarzania i renderu przetworzonych danych. Staramy się ograniczyć liczbę i dostosować typ zastosowanych wizualizacji.
2. Gateway w trybie standardowym, nie osobistym
- Brama danych w trybie standardowym minimalizuje duplikację danych, ogranicza zużycie pamięci i dzięki jej użyciu unikamy wąskich gardeł w wydajności.
3. Oddzielne bramy dla połączeń na żywo i zaplanowanych odświeżeń
- Połączenia z danymi na żywo zachowują połączenie z źródłami w czasie rzeczywistym. W przeciwieństwie do nich zaplanowane odświeżenia łączą się ze źródłami i pobierają dane tylko w wyznaczonym czasie. Używanie jednej bramy dla obu typów połączeń może doprowadzić do przeciążenia w trakcie odświeżania, co spowoduje wolne działanie połączeń na żywo. Dzięki zastosowaniu oddzielnych bram – oba typy połączenia mogą funkcjonować niezależnie nie wpływając na swoją wydajność.
4. Użycie miar, filtrów i agregacji w modelach danych
- W przeciwieństwie do kalkulowanych kolumn miary są obliczane tylko wtedy, gdy są potrzebne. Prawidłowe i zgodne z najlepszymi praktykami bardzo pozytywnie mogą wpłynąć na wydajność rozwiązania i czasy odświeżania.
5. Obliczenia jak najbliżej źródła
- Optymalnym rozwiązaniem jest wykonywanie jak największej liczby obliczeń jak najbliżej źródła danych. Dzięki temu jesteśmy w stanie zoptymalizować czas wykonania zapytań
6. Zastosowanie schematu gwiazdy
- Schemat gwiazdy jest prostszym i bardziej zdenormalizowanym modelem danych w porównaniu do płatka śniegu. Schemat płatka śniegu korzysta z bardziej złożonych zapytań w związku z posiadaniem większej ilości połączonych ze sobą tabel.
- Dzięki użyciu schematu gwiazdy przyspieszamy czas wykonania zapytań i upraszczamy późniejsze utrzymanie i rozwój rozwiązania.
7. Oszczędnie używamy fragmentatorów
- Fragmentatory w doskonały sposób pozwalają użytkownikom odkrywanie danych, ale stoi za nimi pewna cena. Każdy fragmentator generuje dwa zapytania: jedno pobiera dane, drugie – szczegóły zaznaczonych zakresów. Użycie zbyt wielu fragmentatorów drastycznie wpływa na szybkość działania raportu.
8. Ten sam region dla raportów i źródeł danych
- Fizyczne miejsce w którym znajdują się serwery ma znaczenie i powinniśmy zwracać uwagę na to, żeby odległość między serwerami na których znajdują się nasze dane a centrum danych Microsoft w którym znajduje się nasza dzierżawa Power BI były jak najbliżej siebie. Dzięki temu minimalizujemy opóźnienia wynikające z pracy sieci, przyspieszamy transfer danych i wykonywanie zapytań.
9. Fragmentacja dużych zestawów danych
- Czasami warto podzielić duże tabele na mniejsze podzbiory na podstawie określonych kryteriów. W Power BI bazujemy na kolumnach, nie wierszach. Oznacza to tyle, że praca na „długich ale wąskich” tabelach będzie bardziej wydajna. Podejście oparte fragmentacji, gdzie importujemy tylko faktycznie potrzebne dane wpłynie pozytywnie na czasy odświeżania i zmniejszy zużycie zasobów.
10. Szablony raportów (.PBIT) zamiast pustych plików PBIX
- Szablony raportów pozwalają na sprawne tworzenie standaryzowanych i obrandowanych raportów. W szablonie możemy zapisać niestandardowe palety kolorów i templatki, dzięki czemu dla wszystkich stron zostanie automatycznie zastosowany firmowy branding. Dodatkowo szablony automatycznie mogą łączyć się z domyślnymi źródłami danych i będą miały już przygotowane najczęściej używane miary.
11. Ustawienia redukcji zapytań Power BI
- Wykorzystujemy istniejące w Power BI rozwiązania służące ograniczaniu liczby zapytań w raportach.
Dla fragmentatorów i filtrów – przycisk do zastosowania wszystkich fragmentatorów jednocześnie. Dzięki temu ograniczamy liczbę wysyłanych zapytań.
Ograniczenie liczby zapytań wpływa pozytywnie na wydajność raportów w szczególności, gdy korzystamy z dużych zestawów danych
- Wykorzystujemy istniejące w Power BI rozwiązania służące ograniczaniu liczby zapytań w raportach.
12. Unikamy relacji dwukierunkowych i wiele do wielu
- Optymalnym rodzajem relacji jest jednokierunkowa jeden do wielu. Nieumiejętne użycie pozostałych typów może znacząco wpłynąć na szybkość działania raportów, ponieważ wymaga większej mocy do przetworzenia danych.
13. Właściwe typy danych we właściwym miejscu
- Niewłaściwy dobór używanych typów danych może prowadzić do błędów związanych z zaokrągleniami i nieprzewidywalnych wyników obliczeń. Dodatkowo często będą zużywać więcej zasobów i spowalniać raporty.
14. Optymalna tabela dat
- Power BI potrafi tworzyć automatycznie wymagane tabele dat. Niestety nie są one optymalne dla sprawnego działania raportów. Tworzymy jedną, uniwersalną tabelę kalendarza, która zawiera wszystkie wymagane w raporcie dane i dzięki której przyspieszamy i upraszamy wykorzystanie funkcji obliczeń w czasie.
15. Ograniczenie ilości danych ładowanych na stronie
- Wykorzystujemy zakładki, drążenie wskroś, podpowiedzi aby ograniczyć ilość ładowanych dla każdej strony danych. Dzięki temu skracamy czas ładowania stron i polepszamy doświadczenia użytkowników z korzystania z raportów.
16. Tła zamiast kształtów
- Jednym z najprostszych sposób na poprawę wydajności raportów jest zastosowanie statycznych obrazów tła zamiast kształtów. Dzięki temu ograniczamy liczbę renderowanych na stronie wizualizacji.
17. Wybór optymalnego sposobu połączenia z danymi
- Wybór odpowiedniego sposobu połączenia (Import, DirectQuery, Dual) jest kluczowy. Ta decyzja będzie miała wpływ na sposób w jaki wykonywane są zapytania i gdzie będą przechowywane dane.
18. Ustawienia integralności referencyjnej
- WW zależności od wybranych opcji przy nawiązywaniu połączenia z danymi Power BI może używać domyślnie wolniejsze złączenie wewnętrzne. Ustawienie połączeń bazujących na złączeniach wewnętrznych wpłynie pozytywnie na wydajność zapytań.
Bezpieczeństwo
19. Implementacja i optymalizacja zabezpieczeń na poziomie wiersza (RLS)
- Zabezpieczenia na poziomie wiersza pozwalają na ograniczenie dostępu do danych na podstawie ról użytkowników. Określeni użytkownicy otrzymują właściwe prawa dostępu do informacji dotyczących tylko ich. Uproszczenie logiki RLS zmniejsza obciążenie Power BI.
20. Użycie certyfikowanych wizualizacji niestandardowych Power BI
- Certyfikowane wizualizacje dostępne w AppSource przeszły przez zaawansowany proces testów jakości i wydajności. Dodatkowo tylko one mogą być wykorzystane przy eksporcie raportów do PowerPoint i subskrypcjach email.
21. Kategoryzacja danych za pomocą etykiet poufności
- Etykiety poufności pozwalają na klasyfikowanie zawartości krytycznej w Power BI. Dzięki nim chronimy poufne dane. Gdy dane oznaczone etykietą opuszczają usługę Power BI (eksport do plików Excel PowerPoint, PDF etc.) usługa Power BI automatycznie stosuje etykietę do eksportowanego pliku i chroni ją zgodnie z ustawieniami szyfrowania plików etykiety. Poufne dane pozostają chronione nawet gdy opuszczają usługę Power BI.
Design
22. Dostosowanie częstotliwości aktualizacji cache do odświeżania źródła danych
- Domyślnie częstotliwość aktualizacji pamięci podręcznej usługi Power BI jest ustawiona na jedną godzinę. Synchronizacja częstotliwości aktualizacji pamięci podręcznej z częstotliwością odświeżania źródła danych zapewnia dokładność danych i optymalizuje wydajność raportów. Takie dostosowanie zapobiega niepotrzebnemu przetwarzaniu danych i zapewnia aktualność informacji.
23. Kolorystyka raportów
- Użycie właściwej kolorystyki w raportach jest bardzo istotne. Zwracamy uwagę nie tylko na piękny wygląd na ekranie. Tak samo istotna jest możliwość wydruku, eksportu, dzielenia się raportami offline i online. Dodatkowo należy wziąć pod uwagę potencjalne zaburzenia widzenia barw użytkowników.
24. Format wyświetlania liczb
- W zależności od wyświetlanego kontekstu właściwie formatujemy wyświetlane wyniki. Liczba miejsc dziesiętnych, rzędy wielkości, jednostki. Prawidłowy dobór poprawia czytelność i spójność raportów i w konsekwencji pozwala na prostsze zrozumienie i analizę pokazywanych informacji.
25. Użycie etykietek do zwiększenia użyteczności
- Etykietki (tooltips) pozwalają na pokazanie dodatkowego kontekstu wyświetlanych informacji w prostej i zwięzłej formie bez poświęcania powierzchni raportu. Odpowiedni dobór wizualizacji w etykietkach zapewni przekazanie przydatnych informacji.
26. Właściwe nazewnictwo obiektów
- Zastosowanie prostego, jasnego i przyjaznego nazewnictwa miar, kolumn, tabel oraz ukrycie nieużywanych kolumn ułatwia dalszy development rozwiązań.
27. Włączenie personalizacji wizualizacji
- Użytkownicy raportów czasami chcą zamienić elementy na osi, zmienić typ wizualizacji danych, zmodyfikować etykietki narzędzia. Korzystając z personalizacji wizualizacji użytkownicy mogą to zrobić bez uprawnienia do edycji samego raportu.
28. Unikamy przewijania i stron o niestandardowych rozmiarach
- Minimalizacja elementów wymagających przewijania w wizualizacjach i na stronie poprawia wrażenia użytkownika. Duża liczba scrolli może być uciążliwa dla użytkowników, zwłaszcza gdy próbują zrozumieć złożoną wizualizację lub zestaw danych. Unikamy również niestandardowych rozmiarów raportów, ponieważ rozmiary te mogą nie być wyświetlane spójnie na różnych urządzeniach i platformach.
29. Wykorzystanie przycisków do zwiększenia interaktywności raportów
- Wykorzystując przyciski, zakładki i parametry możemy sprawić, że gotowe raporty będą zbliżone sposobem obsługi oraz użytecznością do stron internetowych. Włączania/wyłączanie pól danych, zmiana kontekstu czy sposobu prezentacji danych może odbywać się za pomocą pojedynczego kliknięcia.
-
30. Optymalizacja interkacji między wizualizacjami
- Wszystkie wizualizacje na stronach raportów są interaktywne i mogą filtrować albo wyróżniać krzyżowo dane wyświetlane na innych wizualizacjach. Zastosowanie odpowiednich interakcji jest kluczowe dla czytelności i użyteczności raportu.
Masz pytania?
Jesteśmy do Twojej dyspozycji.
Krzysztof Sulewski
Chief Data Alchemist
Wypełnij formularz, żeby umówić konsultację
Skontaktujemy się z Tobą, aby umówić krótkie spotkanie online.