Przewodnik optymalizacji dla usługi Power BI
Ten artykuł zawiera wskazówki, które umożliwiają deweloperom i administratorom tworzenie i konserwowanie zoptymalizowanych rozwiązań usługi Power BI. Rozwiązanie można zoptymalizować w różnych warstwach architektury. Warstwy obejmują:
- Źródła danych
- Model danych
- Wizualizacje, w tym pulpity nawigacyjne, raporty usługi Power BI i raporty podzielone na strony usługi Power BI
- Środowisko, w tym pojemności, bramy danych i sieć
Optymalizowanie modelu danych
Model danych obsługuje całe środowisko wizualizacji. Modele danych są hostowane w ekosystemie usługi Power BI lub zewnętrznie (przy użyciu trybu DirectQuery lub połączenia na żywo), a w usłudze Power BI są nazywane modelami semantycznymi. Ważne jest, aby zrozumieć opcje i wybrać odpowiedni typ modelu semantycznego dla rozwiązania. Istnieją trzy tryby przechowywania tabel modeli semantycznych: Import, DirectQuery i Composite. Aby uzyskać więcej informacji, zobacz Semantyczne modele w trybach usługa Power BI i Semantycznych w usługa Power BI.
Aby uzyskać wskazówki dotyczące określonego semantycznego trybu przechowywania tabel modelu, zobacz:
- Techniki redukcji danych na potrzeby modelowania importu
- Wskazówki dotyczące modelu DirectQuery w programie Power BI Desktop
- Wskazówki dotyczące modelu złożonego w programie Power BI Desktop
Optymalizowanie autorów raportów i użytkowników modelu
Model semantyczny jest podstawą wszystkich raportów w usłudze Power BI. Konsumenci modelu semantycznego mogą tworzyć raporty usługi Power BI w programie Power BI Desktop, łącząc się z opublikowanym modelem semantycznym lub łącząc się z danymi i tworząc lokalny model semantyczny. Model semantyczny może również służyć do tworzenia raportów usługi Power BI w przeglądarce, tworzenia eksploracji usługi Power BI, tworzenia raportów podzielonych na strony, tworzenia zapytań języka DAX i tworzenia raportów w programie Excel za pomocą funkcji Analizuj w programie Excel, nawiązywania połączenia z usługą Power BI w programie Excel lub eksportowania danych z wizualizacji raportu, a także wielu innych narzędzi raportowania. Autor semantycznego modelu może pomóc semantycznym konsumentom modelu zrozumieć i wykorzystać model semantyczny wraz ze sposobem tworzenia modelu.
- Nazwy: Tabele, kolumny i miary w modelu semantycznym z opisowymi nazwami. Na przykład "Store Sales" jako nazwa tabeli jest bardziej intuicyjna niż "Table1".
- Opisy: tabele, kolumny i miary w modelu mogą zawierać opisy dodane do nich w celu zapewnienia większej ilości szczegółów niż można dopasować do nazwy. Wyjaśnij nie tylko to, co zawierają, ale także sposób ich użycia.
- Ukryj: możesz ukryć tabele, kolumny i miary w modelu, aby pokazać tylko to, czego oczekujesz, aby były używane w raporcie. Na przykład kolumny relacji mogą być identyfikatorem, który nie jest konieczny do raportowania i może być ukryty, ponieważ nie powinien być używany w raporcie, lub kolumny danych, które mają miarę do agregowania kolumny, mogą być ukryte, aby zachęcić zamiast tego do korzystania z miary. Ukryte obiekty mogą być zawsze ukrywane później przez konsumenta modelu, więc będą nadal dostępne, ale ukrywanie może zapewnić fokus.
- Hierarchie: można utworzyć hierarchie, aby przekazać hierarchię między wieloma kolumnami. Na przykład hierarchia kalendarza może zawierać kolumny Year(Rok), Month (Miesiąc), Day (Dzień), a hierarchia Product (Kategoria), Sub-Category (Podkategora), Product (Produkt). Kliknij prawym przyciskiem myszy kolumnę, aby utworzyć hierarchię.
- Miary: miary umożliwiają agregowanie kolumn danych w modelu semantycznym w celu zapewnienia spójności w raportach. Miary mogą wahać się od sum kolumny, do indeksu kondycji łączącego wiele agregacji w określony sposób lub porównując agregacje w okresach, takich jak średnia dzienna w tym miesiącu w porównaniu do średniej dziennej w tym samym miesiącu w zeszłym roku. Miary można również wyświetlić w wyszukiwaniu usługi Power BI i innych funkcjach, takich jak metryki i karty wyników.
- Formaty: domyślnie można określić sposób wyświetlania kolumny lub miary w wizualizacji. Wartości w wizualizacjach można dostosować dalej w wizualizacji. Opcje formatowania obejmują, jeśli ma przecinek tysięcy, liczbę miejsc dziesiętnych, sposób wyświetlania daty itp. Można również stosować formaty niestandardowe lub dynamiczne .
- Kategoria danych: możesz określić kategorię danych kolumny, na przykład jeśli jest to adres URL kraju lub sieci Web.
Są to typowe funkcje semantycznego modelu usługi Power BI, które mogą być używane w celu ułatwienia autorom raportów i konsumentom modeli. Istnieje wiele innych, takich jak grupy obliczeń, parametry pola, parametry warunkowe i kolumny grupowania i kwantowania, które należy ocenić, aby sprawdzić, czy stosują określone potrzeby raportowania.
Optymalizowanie wizualizacji
Wizualizacje usługi Power BI mogą być pulpitami nawigacyjnymi, raportami usługi Power BI lub raportami podzielonymi na strony w usłudze Power BI. Każda z nich ma różne architektury, a więc każda z nich ma własne wskazówki.
Pulpity nawigacyjne
Ważne jest, aby zrozumieć, że usługa Power BI utrzymuje pamięć podręczną dla kafelków pulpitu nawigacyjnego — z wyjątkiem dynamicznych kafelków raportu i kafelków przesyłania strumieniowego. Jeśli model semantyczny wymusza dynamiczne zabezpieczenia na poziomie wiersza, pamiętaj, aby zrozumieć wpływ na wydajność, ponieważ kafelki będą buforowane na podstawie poszczególnych użytkowników.
Po przypięciu dynamicznych kafelków raportu do pulpitu nawigacyjnego nie są one obsługiwane z pamięci podręcznej zapytań. Zamiast tego zachowują się jak raporty i wysyłają zapytania do rdzeni wirtualnych na bieżąco.
Jak sugeruje nazwa, pobieranie danych z pamięci podręcznej zapewnia lepszą i spójniejszą wydajność niż poleganie na źródle danych. Jednym ze sposobów korzystania z tej funkcji jest posiadanie pulpitów nawigacyjnych jako pierwszej strony docelowej dla użytkowników. Przypinanie często używanych i wysoce żądanych wizualizacji do pulpitów nawigacyjnych. W ten sposób pulpity nawigacyjne stają się cenną "pierwszą linią obrony", która zapewnia spójną wydajność z mniejszym obciążeniem pojemności. Użytkownicy mogą nadal klikać do raportu, aby analizować szczegóły.
W przypadku modeli semantycznych trybu DirectQuery i połączeń na żywo pamięć podręczna jest okresowo aktualizowana przez wykonywanie zapytań względem źródła danych. Domyślnie odbywa się to co godzinę, ale można skonfigurować inną częstotliwość w ustawieniach modelu semantycznego. Każda aktualizacja pamięci podręcznej będzie wysyłać zapytania do bazowego źródła danych w celu zaktualizowania pamięci podręcznej. Liczba zapytań generowanych zależy od liczby wizualizacji przypiętych do pulpitów nawigacyjnych, które opierają się na źródle danych. Zwróć uwagę, że jeśli włączono zabezpieczenia na poziomie wiersza, zapytania są generowane dla każdego innego kontekstu zabezpieczeń. Rozważmy na przykład dwie różne role, które kategoryzują użytkowników i mają dwa różne widoki danych. Podczas odświeżania pamięci podręcznej zapytań usługa Power BI generuje dwa zestawy zapytań.
Raporty Power BI
Istnieje kilka zaleceń dotyczących optymalizowania projektów raportów usługi Power BI.
Uwaga
Jeśli raporty są oparte na semantycznym modelu DirectQuery, aby uzyskać dodatkowe optymalizacje projektu raportu, zobacz Wskazówki dotyczące modelu DirectQuery w programie Power BI Desktop (Optymalizowanie projektów raportów).
Stosowanie najbardziej restrykcyjnych filtrów
Tym więcej danych, które wizualizacja musi wyświetlać, tym wolniej jest ładowana wizualizacja. Chociaż ta zasada wydaje się oczywista, łatwo zapomnieć. Załóżmy na przykład, że masz duży model semantyczny. Na podstawie tego semantycznego modelu utworzysz raport z tabelą. Użytkownicy końcowi używają fragmentatorów na stronie, aby uzyskać żądane wiersze — zazwyczaj interesuje ich tylko kilkadziesiąt wierszy.
Typowym błędem jest pozostawienie domyślnego widoku tabeli bez filtrowania — czyli wszystkich wierszy o rozmiarze 100 mln+. Dane dla tych wierszy są ładowane do pamięci i są nieskompresowane przy każdym odświeżeniu. To przetwarzanie powoduje ogromne zapotrzebowanie na pamięć. Rozwiązanie: użyj filtru "Top N", aby zmniejszyć maksymalną liczbę elementów wyświetlanych w tabeli. Możesz ustawić maksymalny element na większy niż potrzebny użytkownikom, na przykład 10 000. Wynikiem jest to, że środowisko użytkownika końcowego nie zmienia się, ale użycie pamięci znacznie spada. A co najważniejsze, wydajność się poprawia.
Podobne podejście projektowe do powyższego jest sugerowane dla każdej wizualizacji w raporcie. Zadaj sobie pytanie, czy wszystkie dane w tej wizualizacji są potrzebne? Czy istnieją sposoby filtrowania ilości danych wyświetlanych w wizualizacji przy minimalnym wpływie na środowisko użytkownika końcowego? Pamiętaj, że tabele w szczególności mogą być kosztowne.
Ograniczanie wizualizacji na stronach raportu
Powyższe zasady dotyczą jednakowo liczby wizualizacji dodanych do strony raportu. Zdecydowanie zaleca się ograniczenie liczby wizualizacji na określonej stronie raportu tylko do tego, co jest konieczne. Strony przeglądania szczegółowego i etykietki narzędzi strony raportu to doskonałe sposoby dostarczania dodatkowych szczegółów bez zacinania większej liczby wizualizacji na stronie.
Ocena wydajności wizualizacji niestandardowej
Pamiętaj, aby umieścić każdą wizualizację niestandardową w swoich tempach, aby zapewnić wysoką wydajność. Źle zoptymalizowane wizualizacje usługi Power BI mogą negatywnie wpłynąć na wydajność całego raportu.
Raporty podzielone na strony w usłudze Power BI
Projekty raportów podzielonych na strony usługi Power BI można zoptymalizować, stosując projekt najlepszych rozwiązań do pobierania danych raportu. Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące pobierania danych dla raportów podzielonych na strony.
Upewnij się również, że pojemność ma wystarczającą ilość pamięci przydzielonej do obciążenia raportów podzielonych na strony.
Optymalizowanie środowiska
Środowisko usługi Power BI można zoptymalizować, konfigurując ustawienia pojemności, ustalanie rozmiaru bram danych i zmniejszając opóźnienie sieci.
Ustawienia pojemności
W przypadku korzystania z pojemności — dostępnych w przypadku jednostek SKU usługi Power BI Premium (P), licencji Premium na użytkownika (PPU) lub usługi Power BI Embedded (jednostki SKU A, A4–A6) — można zarządzać ustawieniami pojemności. Aby uzyskać więcej informacji, zobacz Licencje pojemności usługi Microsoft Fabric i Zarządzanie pojemnościami Premium.
Ważne
Czasami w tym artykule opisano usługę Power BI Premium lub jej subskrypcje pojemności (jednostki SKU P). Należy pamiętać, że firma Microsoft obecnie konsoliduje opcje zakupu i cofnie usługę Power BI Premium na jednostki SKU pojemności. Nowi i istniejący klienci powinni rozważyć zakup subskrypcji pojemności sieci szkieletowej (jednostki SKU F).
Aby uzyskać więcej informacji, zobacz Ważne aktualizacje dostępne w licencjonowaniu usługi Power BI Premium i Power BI Premium — często zadawane pytania.
Ustalanie rozmiaru bramy
Brama jest wymagana za każdym razem, gdy usługa Power BI musi uzyskiwać dostęp do danych, które nie są dostępne bezpośrednio przez Internet. Lokalną bramę danych można zainstalować na serwerze lokalnym lub hostowanej na maszynie wirtualnej infrastruktury jako usługi (IaaS).
Aby zrozumieć obciążenia bramy i zalecenia dotyczące określania rozmiaru, zobacz Ustalanie rozmiaru lokalnej bramy danych.
Opóźnienie sieci
Opóźnienie sieci może mieć wpływ na wydajność raportu przez zwiększenie czasu wymaganego dla żądań dotarcia do usługa Power BI i dostarczenia odpowiedzi. Dzierżawy w usłudze Power BI są przypisywane do określonego regionu.
Napiwek
Aby określić lokalizację dzierżawy, zobacz Gdzie znajduje się moja dzierżawa usługi Power BI?
Gdy użytkownicy z dzierżawy uzyskują dostęp do usługa Power BI, ich żądania są zawsze kierowane do tego regionu. Gdy żądania docierają do usługa Power BI, usługa może wysyłać dodatkowe żądania — na przykład do bazowego źródła danych lub bramy danych — które również podlegają opóźnieniom sieci.
Narzędzia takie jak Azure Speed Test zapewniają wskazanie opóźnienia sieci między klientem a regionem świadczenia usługi Azure. Ogólnie rzecz biorąc, aby zminimalizować wpływ opóźnienia sieci, staraj się zachować źródła danych, bramy i pojemność usługi Power BI tak blisko, jak to możliwe. Najlepiej, że znajdują się w tym samym regionie. Jeśli opóźnienie sieci jest problemem, spróbuj zlokalizować bramy i źródła danych bliżej pojemności usługi Power BI, umieszczając je na maszynach wirtualnych hostowanych w chmurze.
Monitorowanie wydajności
Wydajność można monitorować, aby zidentyfikować wąskie gardła. Powolne zapytania — lub wizualizacje raportów — powinny być centralnym punktem ciągłej optymalizacji. Monitorowanie można wykonywać w czasie projektowania w programie Power BI Desktop lub na obciążeniach produkcyjnych w pojemnościach usługi Power BI Premium. Aby uzyskać więcej informacji, zobacz Monitorowanie wydajności raportów w usłudze Power BI.
Powiązana zawartość
Aby uzyskać więcej informacji na temat tego artykułu, zapoznaj się z następującymi zasobami: