Przegląd wydajności miar, relacji i wizualizacji

Ukończone

Jeśli model semantyczny ma wiele tabel, złożonych relacji, skomplikowanych obliczeń, wielu wizualizacji lub nadmiarowych danych, istnieje potencjał niskiej wydajności raportu. Niska wydajność raportu prowadzi do niskiego komfortu użytkowania.

Zrzut ekranu przedstawiający czynniki wpływające na wydajność raportu.

Aby zoptymalizować wydajność, należy najpierw określić, skąd pochodzi problem; innymi słowy, dowiedz się, które elementy raportu i modelu semantycznego powodują problemy z wydajnością. Potem możesz podjąć działania w celu rozwiązania tych problemów, a tym samym zwiększyć wydajność.

Identyfikowanie wąskich gardeł wydajności raportów

Aby uzyskać optymalną wydajność w raportach, należy utworzyć wydajny model semantyczny, który ma szybkie uruchamianie zapytań i miar. Mając dobrą podstawę, możesz udoskonalić model, analizując plany i zależności zapytań, a następnie wprowadzając zmiany w celu dalszej optymalizacji wydajności.

Należy przejrzeć miary i zapytania w modelu semantycznym, aby upewnić się, że używasz najbardziej wydajnego sposobu uzyskiwania żądanych wyników. Należy zacząć od zidentyfikowania wąskich gardeł w kodzie. Po zidentyfikowaniu najwolniejszego zapytania w modelu semantycznym możesz skupić się na największym wąskim gardło i ustanowić listę priorytetów, aby pracować z innymi problemami.

Analizowanie wydajności

Analizator wydajności można użyć w Power BI Desktop, aby dowiedzieć się, jak działają poszczególne elementy raportu podczas interakcji z nimi. Możesz na przykład ustalić, jak długo trwa odświeżanie określonej wizualizacji, gdy zostanie ono zainicjowane przez interakcję użytkownika. Analizator wydajności pomoże zidentyfikować elementy, które mają wpływ na problemy z wydajnością, co może być przydatne podczas rozwiązywania problemów.

Zanim uruchomisz Analizatora wydajności, w celu uzyskania najdokładniejszych wyników analizy (testu), upewnij się, że zaczynasz z wyczyszczoną pamięcią podręczna wizualizacji oraz wyczyszczoną pamięcią podręczna aparatu danych.

  • Pamięć podręczna wizualizacji — po załadowaniu wizualizacji nie można wyczyścić pamięci podręcznej tej wizualizacji bez zamknięcia programu Power BI Desktop i ponownym jego uruchomieniu. Aby uniknąć wpływu buforowania na wynik analizy, należy rozpocząć analizę z wyczyszczoną pamięcią podręczną wizualizacji.

    Aby upewnić się, że pamięć podręczna wizualizacji jest wyczyszczona, dodaj pustą stronę do pliku programu Power BI Desktop (pbix), a następnie, mając tę stronę wybraną, zapisz i zamknij plik. Otwórz ponownie plik programu Power BI Desktop (pbix), który chcesz przeanalizować. Zostanie on otwarty na pustej stronie.

  • Pamięć podręczna aparatu danych — po uruchomieniu zapytania wyniki są umieszczane w pamięci podręcznej, przez co wyniki analizy będą mylące. Przed ponownym uruchomieniem wizualizacji należy wyczyścić pamięć podręczną danych.

    Aby wyczyścić pamięć podręczną danych, możesz ponownie uruchomić Power BI Desktop lub połączyć program DAX Studio z modelem semantycznym, a następnie wywołać funkcję Clear Cache.

Po wyczyszczeniu pamięci podręcznych i otwarciu pliku programu Power BI Desktop na pustej stronie przejdź do karty Widok i wybierz opcję Analizator wydajności.

Aby rozpocząć proces analizy, wybierz pozycję Rozpocznij rejestrowanie, wybierz stronę raportu, którą chcesz analizować, i użyj elementów raportu, które chcesz zmierzyć. Wyniki interakcji będą wyświetlane w okienku Analizator wydajności w miarę postępów pracy. Po zakończeniu wybierz przycisk Zatrzymaj.

Zrzut ekranu przedstawiający ekran startowy Analizator wydajności.

Aby uzyskać bardziej szczegółowe informacje, zobacz artykuł Korzystanie z Analizatora wydajności do badania wydajności elementów raportu.

Przegląd wyników

Wyniki testu wydajności można przejrzeć w okienku Analizator wydajności. Aby przejrzeć zadania w kolejności ich czasu trwania, od najdłuższego na najkrótszego, kliknij prawym przyciskiem myszy ikonę Sortuj obok nagłówka kolumny Czas trwania (ms), a następnie wybierz pozycję Łączny czas i kolejność Malejąco.

Zrzut ekranu przedstawiający sposób sortowania wyników w analizatorze.

Informacje dziennika każdej wizualizacji pokazują, ile czasu trwało ukończenie następujących kategorii zadań:

  • Zapytanie języka DAX — czas, który wizualizacja potrzebowała na wysłanie zapytania, wraz z czasem, który zabrało usłudze Analysis Services zwrócenie wyników.

  • Wyświetlenie wizualizacji — czas, który zabrało wyświetlenie wizualizacji na ekranie, wraz z czasem wymaganym do pobrania obrazów internetowych lub wykonania geokodowania.

  • Inne — czas poświęcony przez wizualizację na przygotowanie zapytań, oczekiwanie na zakończenie pracy przez inne wizualizacje lub wykonanie innych zadań przetwarzania w tle. Jeśli w tej kategorii jest wyświetlany długi czas trwania, jedynym praktycznym sposobem jego skrócenia jest zoptymalizowanie zapytań języka DAX dla innych wizualizacji lub zmniejszenie liczby wizualizacji w raporcie.

Zrzut ekranu przedstawiający kategorie w wynikach analizatora wydajności.

Wyniki testu analizy pomagają zrozumieć zachowanie modelu semantycznego i zidentyfikować elementy potrzebne do optymalizacji. Możesz porównać czasy trwania wszystkich elementów w raporcie i zidentyfikować elementy o długim czasie trwania. Należy skoncentrować się na tych elementach i zbadać, dlaczego ich ładowanie na stronie raportu trwa tak długo.

Aby analizować zapytania bardziej szczegółowo, możesz użyć programu DAX Studio, który jest bezpłatnym narzędziem open source udostępnianym przez inną usługę.

Rozwiązywanie problemów i optymalizowanie wydajności

Wyniki analizy określą obszary do poprawy i możliwości optymalizacji wydajności. Może się okazać, że musisz przeprowadzić ulepszenia wizualizacji, zapytania języka DAX lub innych elementów w modelu semantycznym. Następujące informacje zawierają wskazówki dotyczące tego, na co należy zwrócić uwagę i jakie zmiany można wprowadzić.

Wizualizacje

W przypadku zidentyfikowania wizualizacji jako wąskiego gardła powodującego niską wydajność należy znaleźć sposób poprawienia wydajności przy minimalnym wpływie na pracę użytkownika.

Rozważ liczbę wizualizacji na stronie raportu; mniejsza liczba wizualizacji oznacza lepszą wydajność. Zadaj sobie pytanie, czy wizualizacja jest naprawdę niezbędna i czy stanowi wartość dla użytkownika końcowego. Jeśli odpowiedź brzmi „nie”, należy ją usunąć. Zamiast używać wielu wizualizacji na stronie, rozważ inne sposoby przedstawienia dodatkowych szczegółów, takie jak strony przechodzenia do szczegółów i etykietki narzędzi na stronie raportu.

Zbadaj liczbę pól w każdej wizualizacji. Im więcej wizualizacji w raporcie, tym większa szansa na problemy z wydajnością. Ponadto im więcej wizualizacji, tym bardziej raport może wydawać się przeładowany i tracić na przejrzystości. Górny limit wizualizacji to 100 pól (miar lub kolumn), więc wizualizacja z więcej niż 100 polami będzie ładowana wolno. Zastanów się, czy naprawdę potrzebujesz wszystkich tych danych w wizualizacji. Możesz odkryć, że jest możliwe zmniejszenie liczby obecnie używanych pól.

Zapytanie DAX

Podczas analizowania wyników w okienku Analizator wydajności można zobaczyć, jak długo (w milisekundach) aparat programu Power BI Desktop oceniał każde zapytanie. Dobrym punktem początkowym jest dowolne zapytanie DAX trwające dłużej niż 120 milisekund. W tym przykładzie identyfikujesz jedno konkretne zapytanie, które ma długi czas trwania.

Zrzut ekranu przedstawiający przykład dużego czasu trwania w Analizator wydajności.

Analizator wydajności wyróżnia potencjalne problemy, ale nie informuje o tym, co należy zrobić, aby je rozwiązać. Możesz uznać za przydatne przeprowadzenie bardziej szczegółowego badania przyczyny długiego przetwarzania miary. Aby zbadać zapytania bardziej szczegółowo, możesz użyć programu DAX Studio.

Na przykład wybierz pozycję Kopiuj zapytanie, aby skopiować formułę obliczeń do schowka, a następnie wklej ją w programie DAX Studio. Wtedy możesz szczegółowo przejrzeć krok obliczeń. W tym przykładzie próbujesz policzyć łączną liczbę produktów, dla których wielkość zamówienia to co najmniej pięć.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    FILTER ( Order, Order[OrderQty] >= 5 )
)

Po przeanalizowaniu zapytania możesz użyć własnej wiedzy i doświadczenia, aby określić miejsce występowania problemów z wydajnością. Możesz też spróbować użyć różnych funkcji języka DAX, aby sprawdzić, czy poprawiają one wydajność. W następującym przykładzie funkcja FILTER została zastąpiona funkcją KEEPFILTER. Po ponownym uruchomieniu testu w okienku Analizator wydajności czas trwania był krótszy w wyniku zastosowania funkcji KEEPFILTER.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    KEEPFILTERS (Order[OrderQty] >= 5 )
)

W takim przypadku możesz zastąpić funkcję FILTER funkcją KEEPFILTER, aby znacząco skrócić czas trwania oceny zapytania. Aby sprawdzić, czy po wprowadzeniu tej zmiany czas trwania został skrócony, wyczyść pamięć podręczną danych, a następnie uruchom ponownie proces Analizator wydajności.

Zrzut ekranu przedstawiający przykład krótkiego czasu trwania w Analizator wydajności.

Model semantyczny

Jeśli wyświetlane wartości czasu trwania dla miar i wizualizacji są małe (inaczej mówiąc, czasy trwania są krótkie), nie są one przyczyną problemów z wydajnością. Zamiast tego, jeśli zapytanie języka DAX wyświetla wysoką wartość czasu trwania, prawdopodobnie miara jest napisana źle lub wystąpił problem z modelem semantycznym. Problem może być spowodowany relacjami, kolumnami lub metadanymi w modelu, lub może być stanem opcji Automatyczna data/godzina, jak wyjaśniono w poniższej sekcji.

Relacje

Należy przejrzeć relacje między tabelami, aby upewnić się, że zostały ustanowione poprawnie. Sprawdź, czy właściwości kardynalności relacji są poprawnie skonfigurowane. Na przykład kolumna jednostronna zawierająca unikatowe wartości może być niepoprawnie skonfigurowana jako kolumna wielostronna. Więcej informacji o wpływie kardynalności na wydajność znajduje się w dalszej części tego modułu.

Kolumny

Najlepszym rozwiązaniem jest rezygnacja z importowania niepotrzebnych kolumn danych. Aby uniknąć usuwania kolumn za pomocą edytora Power Query, należy spróbować zaradzić problemowi u źródła, podczas ładowania danych do programu Power BI Desktop. Jeśli jednak nie można usunąć nadmiarowych kolumn z zapytania źródłowego lub dane zostały już zaimportowane w stanie pierwotnym, możesz zawsze użyć edytora Power Query do zbadania wszystkich kolumn. Zadaj sobie pytanie, czy naprawdę potrzebujesz każdej kolumny i spróbuj zidentyfikować korzyść, którą każdy z nich dodaje do modelu semantycznego. Jeśli okaże się, że kolumna nie dodaje żadnej wartości, należy usunąć ją z modelu semantycznego. Załóżmy na przykład, że masz kolumnę identyfikatora z tysiącami unikatowych wierszy. Wiesz, że ta konkretna kolumna nie będzie używana w relacji, więc nie będzie używana w raporcie. W związku z tym należy rozważyć tę kolumnę jako niepotrzebną i przyznać, że marnuje miejsce w modelu semantycznym.

Usunięcie niepotrzebnej kolumny spowoduje zmniejszenie rozmiaru semantycznego modelu, co z kolei spowoduje zmniejszenie rozmiaru pliku i skrócenie czasu odświeżania. Ponadto, ponieważ model semantyczny zawiera tylko odpowiednie dane, ogólna wydajność raportu zostanie zwiększona.

Aby uzyskać więcej informacji, zobacz Techniki redukcji danych na potrzeby importowania modelu.

Metadane

Metadane to informacje o innych danych. Metadane usługi Power BI zawierają informacje dotyczące modelu semantycznego, takie jak nazwa, typ danych i format każdej kolumny, schemat bazy danych, projekt raportu, czas ostatniej modyfikacji pliku, częstotliwość odświeżania danych i wiele innych.

Podczas ładowania danych do Power BI Desktop dobrym rozwiązaniem jest analizowanie odpowiednich metadanych, dzięki czemu można zidentyfikować wszelkie niespójności w modelu semantycznym i znormalizować dane przed rozpoczęciem tworzenia raportów. Uruchomienie analizy metadanych poprawi wydajność modelu semantycznego, ponieważ podczas analizowania metadanych zidentyfikujesz niepotrzebne kolumny, błędy w danych, nieprawidłowe typy danych, ilość ładowanych danych (duże modele semantyczne, w tym dane transakcyjne lub historyczne, będą trwać dłużej) i wiele innych.

Możesz użyć edytora Power Query w programie Power BI Desktop, aby przeanalizować kolumny, wiersze i wartości danych pierwotnych. Następnie możesz użyć dostępnych narzędzi, takich jak wyróżnione na poniższym zrzucie ekranu, aby wprowadzić niezbędne zmiany.

Zrzut ekranu przedstawiający opcje karty strona główna edytora zapytań.

Opcje edytora Power Query to:

  • Niepotrzebne kolumny — ocenia potrzebę użycia każdej kolumny. Jeśli co najmniej jedna kolumna nie zostanie użyta w raporcie i w związku z tym nie jest niezbędna, należy usunąć ją przy użyciu opcji Usuń kolumny na karcie Narzędzia główne.

  • Niepotrzebne wiersze — sprawdza pierwsze kilka wierszy w modelu semantycznym, aby sprawdzić, czy są puste, czy zawierają dane, których nie potrzebujesz w raportach; Jeśli tak, usuwa te wiersze przy użyciu opcji Usuń wiersze na karcie Narzędzia główne.

  • Typ danych — ocenia typy danych kolumn, aby upewnić się, że każdy jest poprawny. W przypadku zidentyfikowania nieprawidłowego typu danych należy go zmienić, wybierając kolumnę, pozycję Typ danych na karcie Przekształcenie, a następnie poprawny typ danych z listy.

  • Nazwy zapytań — sprawdza nazwy zapytań (tabel) w okienku Zapytania. Podobnie jak w przypadku nazw nagłówków kolumn, należy zmienić nietypowe lub niewłaściwe nazwy zapytań na nazwy bardziej oczywiste lub lepiej znane użytkownikowi. Nazwę zapytania można zmienić, klikając zapytanie prawym przyciskiem myszy, wybierając pozycję Zmień nazwę, modyfikując nazwę odpowiednio do potrzeb, a następnie naciskając klawisz Enter.

  • Szczegóły kolumny — edytor Power Query udostępnia następujące trzy opcje podglądu danych, których można użyć do analizowania metadanych skojarzonych z kolumnami. Te opcje znajdują się na karcie Widok, jak pokazano na poniższym zrzucie ekranu.

    • Jakość kolumny — określa dla elementów w kolumnie odsetek wartości prawidłowych, błędnych i pustych. Jeśli odsetek wartości prawidłowych jest inny niż 100, należy zbadać przyczynę, naprawić błędy i wypełnić puste wartości.

    • Rozkład kolumn — wyświetla częstotliwość i rozkład wartości w każdej kolumnie. Zapoznasz się z tym dokładniej w dalszej części tego modułu.

    • Profil kolumny — pokazuje wykres statystyk kolumnowych i wykres rozkładu kolumnowego.

Zrzut ekranu przedstawiający opcje profilu kolumny.

Uwaga

Jeśli przeglądasz duży model semantyczny z ponad 1000 wierszami i chcesz przeanalizować ten cały model semantyczny, musisz zmienić opcję domyślną w dolnej części okna. Wybierz pozycję Profilowanie kolumn na podstawie 1000 pierwszych wierszy>Profilowanie kolumn na podstawie całego zestawu danych.

Zrzut ekranu przedstawiający wiersze profilu kolumny.

Inne metadane, które należy wziąć pod uwagę, to informacje o modelu semantycznym jako całości, takie jak rozmiar pliku i częstotliwość odświeżania danych. Te metadane można znaleźć w skojarzonym pliku programu Power BI Desktop (pbix). Dane ładowane do programu Power BI Desktop są kompresowane i przechowywane na dysku przez aparat magazynu trybu VertiPaq. Rozmiar modelu semantycznego ma bezpośredni wpływ na jego wydajność; model semantyczny o mniejszym rozmiarze używa mniejszej ilości zasobów (pamięci) i umożliwia szybsze odświeżanie danych, obliczenia i renderowanie wizualizacji w raportach.

Funkcja automatycznej daty/godziny

Kolejnym elementem, który należy wziąć pod uwagę przy optymalizacji wydajności, jest opcja Automatyczna data/godzina w programie Power BI Desktop. Domyślnie ta funkcja jest włączona globalnie, co oznacza, że program Power BI Desktop automatycznie tworzy ukrytą tabelę obliczeniową dla każdej kolumny daty, pod warunkiem spełnienia określonych warunków. Nowe, ukryte tabele są dodatkiem do tabel, które już znajdują się w modelu semantycznym.

Opcja Automatyczna data/godzina pozwala na pracę z analizą czasową podczas filtrowania, grupowania i przechodzenia do szczegółów okresów kalendarzowych. Zaleca się, aby opcja Automatyczna data/godzina była włączona tylko wtedy, gdy pracujesz z okresami kalendarzowymi i gdy masz uproszczone wymagania dotyczące modelu w odniesieniu do czasu.

Jeśli źródło danych już definiuje tabelę wymiarów daty, ta tabela powinna być używana do spójnego definiowania czasu w organizacji i należy wyłączyć globalną opcję Automatyczna data/godzina. Wyłączenie tej opcji może zmniejszyć rozmiar modelu semantycznego i skrócić czas odświeżania.

Można włączyć/wyłączyć tę opcję Automatyczna data/godzina globalnie, tak aby dotyczyła wszystkich plików programu Power BI Desktop, lub można włączyć/wyłączyć opcję dla bieżącego pliku, tak aby dotyczyła tylko pojedynczego pliku.

Aby włączyć/wyłączyć tę opcję Automatyczna data/godzina , przejdź do pozycji Opcje plików>i ustawienia>Opcje, a następnie wybierz stronę Globalny lub Bieżący plik . Na tej stronie wybierz pozycję Ładowanie danych, a następnie w sekcji Analiza czasowa zaznacz lub usuń zaznaczenie pola wyboru zgodnie z wymaganiami.

Zrzut ekranu przedstawia sposób konfigurowania automatycznej daty i godziny.

Aby zapoznać się z omówieniem i ogólnym wprowadzeniem do funkcji Automatyczna data/godzina, zobacz Stosowanie automatycznej daty/godziny w programie Power BI Desktop.