Ćwiczenie — łączenie wyników tabeli przy użyciu operatora odnośnika
W poprzednim ćwiczeniu użyto join
operatora w celu znalezienia całkowitej sprzedaży na produkt. W tym ćwiczeniu użyjesz lookup
operatora , aby znaleźć łączną sprzedaż na kraj/region.
lookup
Korzystanie z operatora
Twój zespół sprzedaży chce znać łączną sprzedaż w firmie na kraj/region. Możesz użyć join
operatora, aby uzyskać informacje o kliencie i produkcie. Jednak tego rodzaju zapytanie działa najlepiej, gdy używasz lookup
operatora do uzyskania tych informacji.
Pamiętaj, że lookup
operator wzbogaca tabelę faktów o dane z tabeli wymiarów. To trochę jak czytanie książki (tabela faktów) i wyszukanie nieznanych słów w słowniku (tabela wymiarów).
W przypadku tego zapytania zaczniesz od tabeli SalesFact i użyj lookup
operatora , aby pobrać dane klienta i dodać je do wynikowej tabeli.
W poniższej procedurze utworzysz zapytanie na etapach, aby lepiej zrozumieć wynik użycia lookup
operatora.
Uruchom następujące zapytanie, aby uzyskać 10 pasujących do dowolnych wierszy z tabeli SalesFact i tabeli Customers .
SalesFact | lookup Customers on CustomerKey | take 10
Przyjrzyj się wynikowej liście. Zwróć uwagę, że tabela wynikowa zawiera kolumny z tabeli SalesFact , a następnie pasujące kolumny z tabeli Customers .
Uruchom następujące zapytanie, aby uzyskać łączną sprzedaż na kraj/region.
SalesFact | lookup Customers on CustomerKey | summarize TotalSales = count() by RegionCountryName | order by TotalSales desc
Wyniki powinny wyglądać podobnie do tych na poniższej ilustracji:
Przyjrzyj się wynikowej liście. Zwróć uwagę, że górna sprzedaż znajduje się w Stany Zjednoczone. Spróbuj zmodyfikować zapytanie, aby wyświetlić łączną sprzedaż w Stany Zjednoczone według stanu.
W poprzedniej lekcji użyliśmy prawego elementu,join
sprzedaż według kategorii produktów. Uruchomienie tego zapytania trwało 0,834 sekundy. Teraz napisz zapytanie, aby uzyskać ten sam wynik przy użyciu lookup
operatora , a następnie porównaj czas wykonywania.
Uruchom poniższe zapytanie.
SalesFact | lookup Products on ProductKey | summarize TotalSales = count() by ProductCategoryName | order by TotalSales desc
Wyniki powinny wyglądać podobnie do tych na poniższej ilustracji:
Zwróć uwagę, że uzyskasz te same wyniki, ale czas wykonywania wynosi 0,398 sekund. Krótszy czas wykonywania jest spowodowany tym, że
lookup
operator jest zoptymalizowany pod kątem tego typu zapytania.