Övning – Kombinera tabellresultat med hjälp av uppslagsoperatorn
I föregående övning använde du operatorn join
för att hitta den totala försäljningen per produkt. I den här övningen använder du operatorn lookup
för att hitta den totala försäljningen per land/region.
Använda operatorn lookup
Säljteamet vill veta företagets totala försäljning per land/region. Du kan använda en join
operatör för att hämta kund- och produktinformation. Den här typen av fråga presterar dock bäst när du använder operatorn lookup
för att hämta den här informationen.
Kom ihåg att operatorn lookup
berikar en faktatabell med data från en dimensionstabell . Det är lite som att läsa en bok (faktatabell) och leta upp okända ord i en ordlista (dimensionstabell).
För den här frågan börjar du med tabellen SalesFact och använder operatorn lookup
för att hämta kunddata och lägga till dem i den resulterande tabellen.
I följande procedur skapar du frågan stegvis för att ge dig själv en bättre förståelse för resultatet av att använda operatorn lookup
.
Kör följande fråga för att hämta 10 matchande godtyckliga rader från tabellen SalesFact och tabellen Kunder .
SalesFact | lookup Customers on CustomerKey | take 10
Ta en titt på den resulterande listan. Observera att den resulterande tabellen innehåller kolumner från tabellen SalesFact följt av matchande kolumner från tabellen Kunder .
Kör följande fråga för att hämta den totala försäljningen per land/region.
SalesFact | lookup Customers on CustomerKey | summarize TotalSales = count() by RegionCountryName | order by TotalSales desc
Dina resultat bör se ut så här i följande bild:
Ta en titt på den resulterande listan. Observera att den största försäljningen finns i USA. Prova att ändra frågan för att visa den totala försäljningen i USA efter tillstånd.
I föregående lektion använde du en rightouterjoin
för att få den totala försäljningen per produktkategori. Frågan tog 0,834 sekunder att köra. Skriv nu en fråga för att få samma resultat med hjälp av operatorn lookup
och jämför sedan körningstiden.
Kör följande fråga.
SalesFact | lookup Products on ProductKey | summarize TotalSales = count() by ProductCategoryName | order by TotalSales desc
Dina resultat bör se ut så här i följande bild:
Observera att du får samma resultat men körningstiden är 0,398 sekunder. Den snabbare körningstiden beror på att operatorn
lookup
är optimerad för den här typen av fråga.