Zmniejszenie kardynalności

Ukończone

Kardynalność to termin opisujący unikatowość wartości w kolumnie. Termin „kardynalność” jest również używany w kontekście relacji między dwiema tabelami i opisuje wtedy kierunek relacji.

Identyfikowanie poziomów kardynalności w kolumnach

Wcześniej, podczas analizowania metadanych przy użyciu edytora Power Query, opcja Dystrybucja kolumn na karcie Widok wyświetlała statystyki dotyczące liczby różnych i unikatowych elementów w każdej kolumnie danych.

  • Liczba różnych wartości — łączna liczba różnych wartości znalezionych w danej kolumnie.

  • Liczba unikatowych wartości — łączna liczba wartości, które pojawiają się tylko raz w danej kolumnie.

Zrzut ekranu przedstawiający statystyki dystrybucji kolumn.

Kolumna zawierająca wiele powtarzających się wartości w swoim zakresie (liczba unikatowych wartości jest niska) będzie miała niski poziom kardynalności. I na odwrót: kolumna zawierająca wiele unikatowych się wartości w swoim zakresie (liczba unikatowych wartości jest wysoka) będzie miała wysoki poziom kardynalności.

Niższa kardynalność prowadzi do bardziej zoptymalizowanej wydajności, dlatego może być konieczne zmniejszenie liczby kolumn o dużej kardynalności w modelu semantycznym.

Zmniejszenie kardynalność relacji

Po zaimportowaniu wielu tabel możesz wykonać analizę przy użyciu danych ze wszystkich tych tabel. Relacje między tymi tabelami są niezbędne do dokładnego obliczenia wyników i wyświetlenia poprawnych informacji w raportach. Program Power BI Desktop ułatwia tworzenie tych relacji. W większości przypadków nie trzeba nic robić — funkcja autowykrywania robi to automatycznie. Czasami może jednak być konieczne utworzenie relacji lub wprowadzenia zmian w relacji. Bez względu na przyczynę ważne jest, aby rozumieć działanie relacji w programie Power BI Desktop oraz wiedzieć, jak tworzyć je i edytować.

Podczas tworzenia lub edytowania relacji możesz skonfigurować dodatkowe opcje. Domyślnie program Power BI Desktop automatycznie konfiguruje dodatkowe opcje na podstawie najwyższego prawdopodobieństwa. Opcje te mogą być różne dla każdej relacji w zależności od danych w kolumnach.

Relacje mogą mieć różną kardynalność. Kardynalność to kierunek relacji, a każda relacja modelu musi być zdefiniowana przy użyciu typu kardynalności. Opcje kardynalności w usłudze Power BI są następujące:

  • Wiele do jednego (*:1) — ta relacja jest najczęściej spotykanym, domyślnym typem. Oznacza to, że kolumna w jednej tabeli może mieć więcej niż jedno wystąpienie wartości, a druga powiązana tabela, często nazywana tabelą wyszukiwania, ma tylko jedno wystąpienie wartości.

  • Jeden do jednego (1:1) — kolumna w jednej tabeli zawiera tylko jedno wystąpienie określonej wartości, tak samo jak druga powiązana tabela.

  • Jeden do wielu (1:*) — w tym typie relacji kolumna w jednej tabeli ma tylko jedno wystąpienie określonej wartości, a druga powiązana tabela może mieć więcej niż jedno wystąpienie wartości.

  • Wiele do wielu (:) — w przypadku modeli złożonych możesz ustanowić między tabelami relację wiele do wielu, która nie wymaga unikatowych wartości w tabelach. Usuwa również wcześniejsze obejścia, takie jak wprowadzanie nowych tabel tylko w celu ustanowienia relacji.

Podczas opracowywania tworzysz i edytujesz relacje w modelu, więc podczas tworzenia nowych relacji w modelu, niezależnie od wybranej kardynalności, zawsze upewnij się, że obie kolumny używane do udziału w relacji współdzielą ten sam typ danych. Model nie będzie działał, jeśli spróbujesz utworzyć relację między dwiema kolumnami, gdzie jedna kolumna ma typ danych Tekst, a druga kolumna ma typ danych Liczba całkowita.

W poniższym przykładzie pole ProductID ma typ danych Liczba całkowita w tabelach Product (Produkt) i Sales (Sprzedaż). Kolumny z typem danych Liczba całkowita mają lepszą wydajność niż kolumny z typem danych Tekst.

Zrzut ekranu przedstawia sposób sprawdzania typu danych ProductID.

Zwiększanie wydajności przez obniżenie poziomów kardynalności

Power BI Desktop oferuje różne techniki, których można użyć w celu zmniejszenia ilości danych ładowanych do modeli semantycznych, takich jak podsumowanie. Zmniejszenie ilości danych ładowanych do modelu poprawi kardynalność relacji raportu. Z tego powodu należy dążyć do minimalizowania ilości danych, które będą ładowane do modeli. Jest to szczególnie ważne w przypadku dużych modeli lub modeli, które mogą być coraz większe w miarę upływu czasu.

Prawdopodobnie najbardziej efektywną techniką zmniejszenia rozmiaru modelu jest użycie tabeli podsumowania ze źródła danych.  Podczas gdy tabela szczegółów może zawierać każdą transakcję, tabela podsumowania będzie zawierać jeden rekord na dzień, tydzień lub miesiąc. Może to być na przykład średnia wszystkich transakcji z jednego dnia.

Na przykład źródłowa tabela faktów sprzedaży przechowuje jeden wiersz na każdy wiersz zamówienia. Znaczne zmniejszenie ilości danych można osiągnąć, podsumowując wszystkie metryki sprzedaży, jeśli stosowane jest grupowanie według daty, klienta i produktu, a szczegóły poszczególnych transakcji nie są potrzebne.

Rozważmy, że jeszcze bardziej znacząca redukcja danych może zostać osiągnięta przez grupowanie według daty na poziomie miesiąca. Możliwe jest wtedy zmniejszenie modelu o 99%, jednak raportowanie na poziomie dnia lub poszczególnych zamówień nie będzie możliwe. Decyzję o podsumowaniu danych typu fakt zawsze podejmuje się kosztem szczegółowości danych. Wadą jest to, że możesz utracić możliwość przechodzenia do szczegółów danych, ponieważ szczegóły już nie istnieją.  Możesz uniknąć tego kompromisu, stosując projekt modelu mieszanego.

W programie Power BI Desktop projekt w trybie mieszanym tworzy model złożony. Zasadniczo umożliwia on określenie trybu przechowywania dla każdej tabeli. W związku z tym każda tabela może mieć własną właściwość Tryb przechowywania o wartości Import lub DirectQuery.

Skuteczną techniką zmniejszenia rozmiaru modelu jest ustawienie właściwości Tryb przechowywania dla większych tabel z danymi typu fakt na wartość DirectQuery. Takie podejście do projektowania może dobrze się sprawdzić w połączeniu z technikami podsumowywania danych. Na przykład podsumowane dane sprzedaży mogą posłużyć do utworzenia raportu „podsumowania” o wysokiej wydajności. Możesz utworzyć stronę przeglądania szczegółów w celu wyświetlania szczegółowych danych sprzedaży dla określonego (i wąskiego) kontekstu filtru wyświetlającego wszystkie zamówienia sprzedaży w kontekście. Strona przeglądania szczegółów zawiera wizualizacje oparte na tabeli DirectQuery w celu pobierania danych zamówień sprzedaży (szczegóły zamówień sprzedaży).

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