Ć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
aby uzyskać łączną 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.