Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

W tym samouczku omówiono kartę Relacje w narzędziu VertiPaq Analyzer w DAX Studio. Dowiesz się, jak przydatne jest identyfikowanie naruszeń integralności referencyjnej, które spowalniają kody DAX. Pomaga określić, którą tabelę lub kolumnę należy zoptymalizować i ulepszyć.

Spis treści

Samouczek karty Relacje w analizatorze VertiPaq

Na karcie Relacje  są wyświetlane wszystkie relacje w modelu danych. Aby to zilustrować, jest to przykładowy plik, który zostanie użyty w tym samouczku. Widać, że ma cztery zestawy relacji.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

To jest widok diagramu modelu danych.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

Ma cztery tabele wymiarów, które odnoszą się do tabeli faktów. Wracając do zakładki Relacje , możesz zobaczyć kolumnę  Max From Cardinality  .

Ta kolumna definiuje koszt relacji, czyli czas potrzebny DAX na przeniesienie filtrów z tabeli wymiarów do tabeli faktów.

Inne ważne kolumny na karcie to Brakujące klucze , Nieprawidłowe wiersze i  Naruszenia próbek ; pokazują problemy z integralnością referencyjną w twoim modelu.

Naruszenia integralności referencyjnej

Naruszenia integralności referencyjnej występują, gdy po wielu stronach relacji jeden-do-wielu istnieje wartość, która nie istnieje po jednej stronie.

Te naruszenia spowalniają działanie Twojego języka DAX i czasami prowadzą do niedokładnych obliczeń.

Aby zlokalizować te naruszenia, możesz użyć karty Relacje lub uruchomić zapytanie języka DAX . Najlepszą praktyką jest zawsze naprawianie problemów, aby zapewnić płynniejsze działanie.

Jeśli wrócisz do zakładki Relacje, zobaczysz, że istnieją naruszenia odnoszące się do relacji tabeli wymiarów z tabelą faktów.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

W tabeli faktów brakuje 781 kluczy CustomerKey  i 1 brakujący klucz SalesPersonKey , który nie istnieje w  tabeli DimCustomer  i DimSalesPerson

Kolumna Przykładowe naruszenia pokazuje, jakie są brakujące klucze. W przykładzie pokazał tylko 5 kluczy z tabeli Customer Key  .

Jeśli chcesz zmienić liczbę wyświetlanych kluczy, przejdź do Plik i kliknij Opcja. Następnie kliknij Zaawansowane, a następnie zmień liczbę naruszeń. W tym przykładzie użyto 20 brakujących kluczy.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

Po powrocie do karty uruchom ponownie język DAX, klikając opcję Wyświetl metryki. Możesz teraz zobaczyć więcej brakujących kluczy.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

Teraz musisz dowiedzieć się, dlaczego brakuje tych kluczy i czym one są. Utwórz zapytanie języka DAX, aby uzyskać brakujące klucze z tabeli kluczy klienta .

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

Najpierw użyj funkcji EVALUATE , a następnie funkcji  . W lewej tabeli użyj funkcji  dla CustomerKey  tabeli FactSales .

A dla prawej tabeli użyj funkcji DISTINCT  dla CustomerKey tabeli DimCustomer . Po naciśnięciu klawisza F5 zobaczysz wszystkie 781 brakujących klawiszy.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

Samouczek dotyczący analizatora VertiPaq: Naprawianie naruszeń RI

Aby naprawić naruszenia, wróć do przykładowego pliku i kliknij  Przekształć dane . Następnie przejdź do tabeli DimCustomer , uzyskaj pełną listę, a następnie kliknij Zastosuj.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

Ponownie uruchom zapytanie języka DAX. Możesz teraz zobaczyć, że nie ma brakujących kluczy.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

W przypadku naruszenia z tabeli SalesPersonKey zrób to samo. Przejdź do tabeli DimSalesPerson , pobierz brakujący klucz, a następnie kliknij Zastosuj.

Samouczek dotyczący analizatora VertiPaq: Relacje i integralność referencyjna

Nie ma teraz żadnych naruszeń integralności referencyjnej.


Optymalizuj funkcje języka DAX dzięki temu nowemu kursowi
Proste transformacje usługi LuckyTemplates w celu uzyskania bardziej zoptymalizowanych danych
Optymalizuj formuły usługi LuckyTemplates przy użyciu zaawansowanego języka DAX

Wniosek

Jeśli nie wiesz, jak i gdzie rozpocząć optymalizację języka DAX, skorzystaj z karty Relacje w narzędziu VertiPaq Analyzer Metrics. Lokalizuje tabele z naruszeniami integralności referencyjnej i pomaga się ich pozbyć w celu szybszego obliczania języka DAX .

Problemy z wydajnością występują zawsze, ale po opanowaniu korzystania z karty Relacje uzyskasz bezbłędne obliczenia.

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.