Övning – Kombinera tabellresultat med hjälp av uppslagsoperatorn

Slutförd

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 .

  1. Kör följande fråga för att hämta 10 matchande godtyckliga rader från tabellen SalesFact och tabellen Kunder .

    Kör frågan

    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 .

  2. Kör följande fråga för att hämta den totala försäljningen per land/region.

    Kör frågan

    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:

    Skärmbild av uppslagsoperatorn med den totala försäljningen per fråga och resultat för land/region.

  3. 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 delstat.

I föregående lektion använde du en rightouter join 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.

  1. Kör följande fråga.

    Kör frågan

    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:

    Skärmbild av uppslagsoperatorn med total försäljning per produktfråga och resultat.

    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.