Optymalizowanie modeli DirectQuery przy użyciu magazynu na poziomie tabeli
DirectQuery to jeden ze sposobów uzyskania danych Power BI Desktop. Metoda DirectQuery obejmuje bezpośrednie łączenie z danymi w jego repozytorium źródłowym z wewnątrz Power BI Desktop. Jest to alternatywa dla importowania danych do Power BI Desktop.
Podczas używania metody DirectQuery ogólne doświadczenie użytkownika zależy od wydajności podstawowego źródła danych. Powolny odpowiedź kwerendy prowadzą do ujemnego doświadczenia użytkowników, a w scenariuszach zapytań mogą u nas dojmować czasy z awarii. Ponadto liczba użytkowników, którzy otwierają raporty w dowolnym momencie, będzie miało wpływ na ładunek umieszczany w źródle danych. Jeśli na przykład raport zawiera 20 elementów wizualnych, a raport zawiera 10 osób, w źródle danych będzie istnieć co najmniej 200 kwerend, ponieważ każda z nich wyekspuje jedną lub więcej kwerend.
Niestety, Power BI wydajność modelu wpłynie nie tylko na wydajność podstawowego źródła danych, ale także na inne niekontrolowane czynniki, takie jak:
Opóźnienie sieci; szybszego zwracania danych w sieci.
Wydajność serwera źródła danych i jak wiele innych obciążenia pracą jest na tym serwerze. Należy wziąć pod uwagę na przykład skutki odświeżania serwera, gdy setki osób korzysta z tego samego serwera z różnych przyczyn.
Dlatego użycie DirectQuery stanowi zagrożenie dla jakości wydajności modelu. Aby zoptymalizować wydajność w tej sytuacji, należy mieć kontrolę źródłowej bazy danych lub dostęp do jej.
Aby uzyskać bardziej szczegółowe informacje, zobacz wskazówki dotyczące modelu DirectQuery w te tematach Power BI Desktop.
Implikacje używania DirectQuery
Najlepiej zaimportować Power BI Desktop dane do tego pliku, ale być może organizacja musi użyć trybu łączności danych DirectQuery z następujących przyczyn (korzyści z działania zapytania DirectQuery):
Jest odpowiednie w przypadku, gdy wymagane jest częste i bliskie raportowanie w czasie rzeczywistym.
Może obsługiwać duże dane bez konieczności wstępnego agregowania.
Ograniczenia te są stosowane w celu zachowania zgodności z wymogami prawnymi.
Można jej używać z wielowymiarowym źródłem danych zawierającym miary, SAP Business Warehouse takie jak (BW).
Jeśli w organizacji jest potrzebne użycie DirectQuery, Power BI Desktop musisz w jasny sposób zrozumieć jego zachowanie w obrębie ograniczeń i zdawać sobie sprawę z jej ograniczeń. Dzięki temu będzie można podjąć akcję, aby zoptymalizować model DirectQuery.
Zachowanie połączeń DirectQuery
Gdy do łączenia się z danymi jest używać DirectQuery Power BI Desktop, połączenia te działają w następujący sposób:
Gdy początkowo używasz funkcji Pobierz dane Power BI Desktop w, wybierzesz źródło. W przypadku połączenia ze źródłem relacyjnych można wybrać zestaw tabel, a każda z nich będzie definiować kwerendę logicznie zwracaną zestaw danych. W przypadku wybrania wielowymiarowego źródła, takiego jak SAP BW, można wybrać tylko źródło.
Podczas ładowania danych do systemu nie są importowane Power BI Desktop żadne dane, zostanie załadowany tylko schemat. Podczas tworzenia obrazu w obrębie systemu Power BI Desktop są wysyłane zapytania w celu pobrania potrzebnych danych. Czas odświeżania elementów wizualnych zależy od wydajności podstawowego źródła danych.
Jeśli zostaną wprowadzone zmiany danych źródłowych, Power BI z powodu buforowania nie będą natychmiast odzwierciedlane w istniejących obrazach. Musisz przeprowadzić odświeżanie, aby zobaczyć te zmiany. Niezbędne kwerendy są dostępne dla każdej sztuki wizualnej i odpowiednio do tego są aktualizowane.
Opublikowanie raportu w usłudze Power BI spowoduje także Power BI model semantyczny w usłudze, taki sam jak dla importu. Jednak z tym modelem semantycznego nie są uwzględniane żadne dane.
Gdy zostanie otwarty istniejący raport Power BI w usłudze lub zostanie skompilowany nowy, źródło źródłowe zostanie ponownie zbadane w celu pobrania potrzebnych danych. W zależności od lokalizacji oryginalnego źródła może być konieczne skonfigurowanie lokalnej bramy danych.
Elementy graficzne lub całe strony raportu można przypiąć jako kafelki pulpitu nawigacyjnego. Kafelki są automatycznie odświeżane zgodnie z harmonogramem, na przykład co godzinę. Częstotliwość odświeżania można kontrolować, aby spełniać określone wymagania. Po otwarciu pulpitu nawigacyjnego kafelki odzwierciedlają dane w czasie ostatniego odświeżania i mogą nie uwzględniać ostatnich zmian wprowadzonych w podstawowym źródle danych. Zawsze możesz odświeżyć otwarty pulpit nawigacyjny, aby zapewnić, że jest on aktualny.
Ograniczenia połączeń DirectQuery
Użycie DirectQuery może mieć ujemne skutki. Ograniczenia różnią się w zależności od określonego źródła danych, które jest używane. Należy wziąć pod uwagę następujące kwestie:
Wydajność — Jak wcześniej mówiono, ogólne doświadczenie użytkownika zależy od wydajności podstawowego źródła danych.
Zabezpieczenia — w przypadku używania wielu źródeł danych w modelu DirectQuery ważne jest, aby zrozumieć, jak dane mogą przenosić się między podstawowymi źródłami danych oraz skojarzone implikacje zabezpieczeń. Należy również określić, czy reguły zabezpieczeń mają zastosowanie do danych w podstawowym źródle, ponieważ Power BI każdy użytkownik widzi te dane.
Przekształcenie danych — W porównaniu z danymi importowanych dane pochodzące z kwerendy DirectQuery mają ograniczenia w zakresie stosowania techniki przekształcenia danych w edytorze Power Query . Na przykład w przypadku połączenia ze źródłem danych OLAP, takim jak SAP BW, nie można w ogóle wykonać żadnych przekształceń; cały model zewnętrzny jest owany ze źródła danych. Jeśli chcesz dokonać dowolnych przekształceń danych, musisz to zrobić w podstawowym źródle danych.
Modelowanie — Niektóre dostępne możliwości modelowania z importowanych danych są niedostępne lub są ograniczone w przypadku korzystania z zapytania DirectQuery.
Raportowanie — Prawie wszystkie możliwości raportowania, które masz z importowanych danych, są również obsługiwane w modelach DirectQuery, pod warunkiem, że źródło źródłowe oferuje odpowiedni poziom wydajności. Jednak po opublikowaniu raportu w usłudze Power BI funkcje Szybkie dane i Funkcje Q&A nie są obsługiwane. Użycie funkcji Eksplorowanie w programie Excel może spowodować niższą wydajność.
Aby uzyskać bardziej szczegółowe informacje dotyczące ograniczeń używania DirectQuery, zobacz Opisy wpływu używania DirectQuery.
Teraz, gdy wiadomo, jak działa program DirectQuery oraz związane z nim ograniczenia, można podjąć działania w celu poprawy wydajności.
Optymalizowanie wydajności
Kontynuując scenariusz Windwind Traders, podczas przeglądania modelu semantycznego odkryjesz, że zapytanie używa DirectQuery Power BI Desktop do połączenia się z danymi źródłowymi. Użycie DirectQuery jest przyczyną niskiej wydajności raportów użytkowników. Ładowanie stron do raportu jest zbyt długie, a po zaznaczeniu pewnych opcji tabele nie są odświeżane zbyt szybko. Musisz podjąć działanie, aby zoptymalizować wydajność modelu DirectQuery.
Można sprawdzić kwerendy wysyłane do źródła źródłowego i spróbować określić przyczynę niskiej wydajności kwerendy. Następnie można dokonać zmian i podstawowego Power BI Desktop źródła danych w celu zoptymalizowania ogólnej wydajności.
Optymalizowanie danych w Power BI Desktop
Po zoptymalizowaniu Power BI Desktop źródła danych można podjąć dalsze działania za pomocą analizatora wydajności, gdzie można wyimować kwerendy służące do sprawdzania poprawności planów kwerend.
Można analizować czas trwania kwerend, które są wysyłane do podstawowego źródła, aby zidentyfikować kwerendy, które trwa bardzo długo. Innymi słowy, można określić miejsce wąskich gardeł.
Nie musisz używać specjalnego podejścia podczas optymalizowania modelu DirectQuery; Można zastosować te same techniki optymalizacji, które są używane w importowanych danych do dostrajania danych ze źródła DirectQuery. Można na przykład zmniejszyć liczbę elementów wizualnych na stronie raportu lub zmniejszyć liczbę pól używanych w sposób graficzny. Możesz również usunąć zbędne kolumny i wiersze.
Aby uzyskać bardziej szczegółowe wskazówki dotyczące optymalizowania kwerendy DirectQuery, zobacz: wskazówki dotyczące modelu DirectQuery Power BI Desktop w zakresie i wskazówki dotyczące pomyślnego korzystania z zapytania DirectQuery.
Optymalizowanie podstawowego źródła danych (połączona baza danych)
Pierwszym zatrzymaniem jest źródło danych. Należy dostrajać źródłową bazę danych do możliwie jak najbardziej, ponieważ wszystko, co trzeba zrobić w celu poprawy wydajności tej źródłowej bazy danych, Power BI z kolei usprawni DirectQuery. Akcje podejmowane w bazie danych będą najlepiej wykonają.
Rozważ zastosowanie następujących standardowych praktyk w zakresie baz danych, które mają zastosowanie w większości sytuacji:
Unikaj używania złożonych kolumn obliczanych, ponieważ wyrażenie obliczeń zostanie osadzone w kwerendach źródłowych. Bardziej efektywne jest wypychanie wyrażenia z powrotem do źródła, ponieważ pozwala uniknąć wypychania. Można również dodać kolumny zastępczego klucza do tabel typu wymiar.
Przejrzyj indeksy i sprawdź, czy bieżący indeks jest poprawny. Jeśli jest konieczne utworzenie nowych indeksów, upewnij się, że są one odpowiednie.
Zapoznaj się z dokumentami wytycznymi źródła danych i implementuj zalecenia dotyczące wydajności.
Dostosowywanie opcji redukcji kwerendy
Power BI Desktop Opcja ta umożliwia wysyłanie mniejszej liczby kwerend i wyłączanie pewnych interakcji, które będą powodować złe wyniki w przypadku dłuższych kwerend. Zastosowanie tych opcji zapobiega ciągłemu sprawdzaniu kwerend źródła danych, co powinno zwiększyć wydajność.
W tym przykładzie można edytować ustawienia domyślne, aby zastosować do modelu dostępne opcje redukcji danych. Aby uzyskać dostęp do ustawień, należy wybrać opcje>i>ustawienia pliku, przewijać stronę w dół, a następnie wybrać opcję Redukcja zapytania.
Dostępne są następujące opcje redukcji kwerendy:
Zmniejsz liczbę wysyłanych zapytań — domyślnie każda grafika współpracuje ze sobą. Zaznaczenie tego pola wyboru powoduje wyłączenie tej domyślnej interakcji. Za pomocą funkcji Edytowania interakcji można także wybrać, które elementy graficzne mają ze sobą współpracować.
Wycinkatory — Domyślnie jest zaznaczona opcja Od razu zastosuj zmiany. Aby wymusić na użytkownikach raportu ręczne stosowanie zmian w wycinkatorze, zaznacz przycisk Dodaj przycisk Zastosuj do każdego wycinkatora, aby zastosować zmiany, gdy będzie gotowa opcja .
Filtry — Domyślnie zaznaczono opcję Natychmiast zastosuj zmiany filtru podstawowego. Aby wymusić ręczne stosowanie zmian filtrów przez użytkowników raportu, należy wybrać jedną z opcji alternatywnych:
Dodaj przycisk Zastosuj do wszystkich podstawowych filtrów, aby zastosować zmiany, gdy będzie gotowe
Dodaj jeden przycisk zastosuj do okienko filtrów, aby zastosować zmiany od razu (wersja zapoznawcza)