Rozwiązywanie problemów z wydajnością
Czasami organizacje będą musiały rozwiązać problemy z wydajnością podczas uruchamiania raportów. Usługa Power BI udostępnia narzędzie Analizator wydajności, aby ułatwić rozwiązywanie problemów i usprawnić ten proces.
Rozważmy scenariusz, w którym tworzysz raporty dla zespołu ds. sprzedaży w organizacji. Zaimportowano dane, które znajdują się w kilku tabelach, w bazie danych SQL zespołu sprzedaży, przez utworzenie połączenia danych z bazą danych poprzez zapytanie DirectQuery. Podczas tworzenia wstępnych wizualizacji i filtrów zauważasz, że zapytania w niektórych tabelach są wykonywane szybciej niż w innych, a przetworzenie niektórych filtrów trwa dłużej w porównaniu z innymi.
Optymalizowanie wydajności w programie Power Query
Wydajność w programie Power Query zależy od wydajności na poziomie źródła danych. Różnorodność źródeł danych, które Power Query oferuje, jest szeroka, a techniki dostrajania wydajności dla każdego źródła są równie szerokie. Na przykład w przypadku wyodrębnienia danych z programu Microsoft SQL Server należy postępować zgodnie z zaleceniami dostrajania wydajności dla produktu. Dobre SQL Server techniki dostrajania wydajności obejmują tworzenie indeksów, uaktualnienia sprzętu, dostrajanie planu wykonywania i kompresję danych. Te tematy wykraczają poza tutejszy zakres i są omówione tylko jako przykład w celu zaznajomienia Cię ze źródłem danych i zrealizowania korzyści w przypadku korzystania z usługi Power BI i programu Power Query.
Program Power Query korzysta z dobrej wydajności w źródle danych poprzez technikę nazywaną składaniem zapytań.
Składanie zapytań
Składanie zapytań w Edytorze Power Query pomaga zwiększyć wydajność raportów usługi Power BI. Składanie zapytań to proces, za pomocą którego przekształcenia i zmiany tworzone w Edytor Power Query są jednocześnie śledzone jako zapytania natywne lub proste instrukcje Select SQL, podczas gdy aktywnie wykonujesz przekształcenia. Przyczyną implementacji tego procesu jest upewnienie się, że te przekształcenia mogą odbywać się na oryginalnym serwerze źródła danych i nie przeciążać zasobów obliczeniowych usługi Power BI.
Do załadowania danych do usługi Power BI można użyć zapytania Power Query. Następnie użyj Edytor Power Query, aby przekształcić dane, takie jak zmiana nazwy lub usunięcie kolumn, dołączanie, analizowanie, filtrowanie lub grupowanie danych.
Rozważmy scenariusz, w którym zmieniono nazwę kilku kolumn w danych dotyczących sprzedaży i scalono kolumnę miasta i stanu do formatu „miasto stan”. W tym czasie funkcja składania zapytań śledzi te zmiany w natywnych zapytaniach. Następnie, podczas ładowania danych, przekształcenia odbywają się niezależnie w pierwotnym źródle, co gwarantuje optymalizację wydajności w usłudze Power BI.
Zalety składania zapytań to między innymi:
Większa wydajność odświeżania danych i odświeżenia przyrostowe. Podczas importowania tabel danych przy użyciu składania zapytań usługa Power BI jest lepiej w stanie przydzielić zasoby i szybciej odświeżyć dane, ponieważ usługa Power BI nie musi przeprowadzać każdego przekształcenia lokalnie.
Automatyczna zgodność z trybami DirectQuery i Podwójny magazyn. Wszystkie źródła danych trybów DirectQuery i Podwójny magazyn muszą mieć możliwości przetwarzania serwera zaplecza do tworzenia bezpośredniego połączenia, co oznacza, że składanie zapytań jest automatyczną funkcją, z której można korzystać. Jeśli wszystkie przekształcenia dają się zredukować do pojedynczej instrukcji Select, to można zastosować składanie zapytań.
W poniższym scenariuszu przedstawiono akcję składania zapytań. W tym scenariuszu stosujesz zestaw zapytań do wielu tabel. Po dodaniu nowego źródła danych przy użyciu Power Query i przekierowaniu do Edytor Power Query przejdź do okienka Ustawienia zapytania i kliknij prawym przyciskiem myszy ostatni zastosowany krok, jak pokazano na poniższej ilustracji.
Jeśli opcja Wyświetl zapytanie natywne jest niedostępna (nie jest wyświetlana w typie pogrubionym), składanie zapytań nie jest możliwe w tym kroku i trzeba będzie pracować wstecz w obszarze Zastosowane kroki , dopóki nie osiągniesz kroku, w którym jest dostępne zapytanie natywne widoku (jest wyświetlane w typie pogrubionym). Ten proces ujawni zapytanie natywne używane do przekształcania modelu semantycznego.
Zapytania natywne nie są możliwe w przypadku następujących przekształceń:
- Dodawanie kolumny indeksu
- Scalanie i dołączanie kolumn różnych tabel z dwoma różnymi źródłami
- Zmiana typu danych kolumny
Oto cenna wskazówka do zapamiętania: jeśli możesz przetłumaczyć przekształcenie na instrukcję Select języka SQL, która zawiera operatory i klauzule takie jak GROUP BY, SORT BY, WHERE, UNION ALL i JOIN, to możesz użyć składania zapytań.
Składanie zapytań jest jedną z opcji optymalizacji wydajności podczas pobierania, importowania i przygotowywania danych. Kolejną opcją jest diagnostyka zapytań.
Diagnostyka zapytań
Innym narzędziem , które służy do badania wydajności zapytań, jest diagnostyka zapytań. Możesz określić, jakie wąskie gardła mogą istnieć podczas ładowania i przekształcania danych, odświeżania danych w Power Query, uruchamiania instrukcji SQL w Edytor Power Query itd.
Aby uzyskać dostęp do diagnostyki zapytań w Edytorze Power Query, przejdź do pozycji Narzędzia na wstążce Narzędzia główne. Gdy wszystko będzie gotowe do rozpoczęcia przekształcania danych lub wprowadzania innych zmian w Edytor Power Query, wybierz pozycję Rozpocznij diagnostykę w sekcji Diagnostyka sesji. Po zakończeniu upewnij się, że wybrano pozycję Zatrzymaj diagnostykę.
Wybranie pozycji Diagnozuj krok pokazuje czas potrzebny do uruchomienia tego kroku, jak pokazano na poniższej ilustracji. Po jej wybraniu można zobaczyć, czy wykonanie danego kroku zajmuje dłużej niż innych, a następnie służy jako punkt wyjścia do dalszego badania.
To narzędzie jest przydatne, gdy chcesz analizować wydajność po stronie Power Query pod kątem zadań, takich jak ładowanie modeli semantycznych, uruchamianie odświeżeń danych lub uruchamianie innych zadań transformacyjnych.
Inne techniki optymalizacji wydajności
Inne sposoby optymalizacji wydajności zapytań w usłudze Power BI obejmują:
Przetwarzanie możliwie największej ilości danych w pierwotnym źródle danych. Rozszerzenie Power Query i Edytor Power Query umożliwiają przetwarzanie danych, jednak moc obliczeniowa, która jest wymagana do wykonania tego zadania, może obniżyć wydajność w innych obszarach raportów. Ogólnie rzecz biorąc, dobrym rozwiązaniem jest przetwarzanie możliwie największej ilości danych w natywnym źródle danych.
Używanie natywnych zapytań SQL. W przypadku korzystania z trybu DirectQuery dla baz danych SQL, takich jak w przypadku naszego scenariusza, upewnij się, że nie ściągasz danych z procedur składowanych ani typowych wyrażeń tabel (CTE).
Rozdzielanie daty i godziny, jeśli są powiązane ze sobą. Jeśli dowolna z tabel zawiera kolumny, które łączą datę i godzinę, pamiętaj o ich rozdzieleniu na osobne kolumny przed zaimportowaniem do usługi Power BI. Takie podejście zwiększy możliwości kompresji.
Aby uzyskać więcej informacji, zapoznaj się z tematami Wskazówki dotyczące składania zapytań i Składanie zapytań.