Rozwiązywanie problemów z wydajnością

Ukończone

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, w którym 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ą być wykonywane 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 usuwanie 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żać dane, ponieważ usługa Power BI nie musi uruchamiać każdej transformacji 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.

Zrzut ekranu przedstawiający ostatni zastosowany krok po kliknięciu prawym przyciskiem myszy, aby wyświetlić menu kontekstowe.

Jeśli opcja Wyświetl zapytanie natywne nie jest dostępna (nie jest wyświetlana w typie pogrubienia), 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 dla 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 dokonywania innych edycji w Edytor Power Query, wybierz pozycję Rozpocznij diagnostykę w sekcji Diagnostyka sesji. Po zakończeniu upewnij się, że wybrano pozycję Zatrzymaj diagnostykę.

Zrzut ekranu przedstawiający kartę Narzędzia z opcjami diagnostyki sesji w Redaktor Dodatku Power Query.

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.

Zrzut ekranu przedstawiający stosowanie diagnostyki zapytań.

To narzędzie jest przydatne, gdy chcesz analizować wydajność po stronie Power Query 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ń.