Cvičení – kombinování výsledků tabulky pomocí operátoru vyhledávání
V předchozím cvičení jste použili join
operátor k vyhledání celkového prodeje za produkt. V tomto cvičení použijete lookup
operátor k vyhledání celkového prodeje za zemi nebo oblast.
Použití operátoru lookup
Váš prodejní tým chce znát celkový prodej společnosti za zemi/oblast. Pomocí operátora join
můžete získat informace o zákazníkovi a produktu. Tento druh dotazu ale funguje nejlépe, když k získání těchto informací použijete lookup
operátor.
Vzpomeňte si, že lookup
operátor rozšiřuje tabulku faktů o data z tabulky dimenzí . Je to trochu jako čtení knihy (tabulky faktů) a vyhledávání neznámých slov ve slovníku (tabulka dimenzí).
Pro tento dotaz začnete tabulkou SalesFact a pomocí operátoru lookup
získáte data zákazníků a přidáte je do výsledné tabulky.
V následujícím postupu vytvoříte dotaz ve fázích, abyste lépe porozuměli výsledku použití operátoru lookup
.
Spuštěním následujícího dotazu získejte 10 odpovídajících libovolných řádků z tabulky SalesFact a tabulky Customers .
SalesFact | lookup Customers on CustomerKey | take 10
Podívejte se na výsledný seznam. Všimněte si, že výsledná tabulka obsahuje sloupce z tabulky SalesFact následované odpovídajícími sloupci z tabulky Customers .
Spuštěním následujícího dotazu získejte celkový prodej za zemi nebo oblast.
SalesFact | lookup Customers on CustomerKey | summarize TotalSales = count() by RegionCountryName | order by TotalSales desc
Výsledky by měly vypadat jako na následujícím obrázku:
Podívejte se na výsledný seznam. Všimněte si, že nejvyšší tržby jsou v USA. Zkuste upravit dotaz tak, aby zobrazoval celkový prodej v USA podle stavu.
V předchozí lekci jste použili rightouter join
k získání celkového prodeje podle kategorie produktů. Spuštění dotazu trvalo 0,834 sekund. Teď pomocí operátoru lookup
napište dotaz, který získá stejný výsledek, a pak porovnejte dobu provádění.
Spusťte následující dotaz.
SalesFact | lookup Products on ProductKey | summarize TotalSales = count() by ProductCategoryName | order by TotalSales desc
Výsledky by měly vypadat jako na následujícím obrázku:
Všimněte si, že se zobrazí stejné výsledky, ale doba provádění je 0,398 sekund. Rychlejší doba provádění spočívá v tom, že
lookup
operátor je optimalizovaný pro tento typ dotazu.