Übung: Kombinieren von Tabellenergebnissen mithilfe des lookup-Operators

Abgeschlossen

In der letzten Übung haben Sie den join-Operator verwendet, um den Gesamtumsatz pro Produkt zu ermitteln. In dieser Übung verwenden Sie den lookup-Operator, um den Gesamtumsatz pro Land/Region zu ermitteln.

Verwenden Sie den lookup-Operator

Ihr Vertriebsteam möchte den Gesamtumsatz des Unternehmens pro Land/Region erfahren. Sie können einen join-Operator verwenden, um die Kunden- und Produktinformationen abzurufen. Dieser Abfragetyp funktioniert jedoch am besten, wenn Sie den lookup-Operator verwenden, um die benötigten Informationen abzurufen.

Denken Sie daran, dass der lookup-Operator eine Faktentabelle mit Daten aus einer Dimensionstabelle anreichert. Es ist ein bisschen so, als würden Sie ein Buch (Faktentabelle) lesen und unbekannte Wörter in einem Wörterbuch (Dimensionstabelle) nachschlagen.

Für diese Abfrage beginnen Sie mit der Tabelle SalesFact und verwenden den lookup-Operator, um Customer-Daten abzurufen und diese der resultierenden Tabelle hinzuzufügen.

In der folgenden Prozedur erstellen Sie die Abfrage in Phasen, damit Sie ein besseres Verständnis für das Ergebnis der Verwendung des lookup-Operators erhalten.

  1. Führen Sie die folgende Abfrage aus, um 10 übereinstimmende beliebige Zeilen aus der Tabelle SalesFact und der Tabelle Customers abzurufen.

    Abfrage ausführen

    SalesFact
    | lookup Customers on CustomerKey
    | take 10
    

    Sehen Sie sich die resultierende Liste an. Beachten Sie, dass die sich ergebende Tabelle Spalten aus der Tabelle SalesFact enthält, gefolgt von übereinstimmenden Spalten aus der Tabelle Customers.

  2. Führen Sie die folgende Abfrage aus, um den Gesamtumsatz pro Land/Region zu erhalten.

    Abfrage ausführen

    SalesFact
    | lookup Customers on CustomerKey
    | summarize TotalSales = count() by RegionCountryName
    | order by TotalSales desc
    

    Die Ergebnisse sollten wie im folgenden Bild aussehen:

    Screenshot of the lookup operator, with total sales per country/region query and results.

  3. Sehen Sie sich die resultierende Liste an. Beachten Sie, dass die höchsten Umsätze in den Vereinigten Staaten erzielt werden. Versuchen Sie, die Abfrage zu ändern, um den Gesamtumsatz in den USA nach Bundesstaat anzuzeigen.

In der vorherigen Lerneinheit haben Sie einen rightouterjoin verwendet, um den Gesamtumsatz pro Produktkategorie abzurufen. Die Ausführung dieser Abfrage hat 0,834 Sekunden gedauert. Schreiben Sie jetzt eine Abfrage, um das gleiche Ergebnis mithilfe des lookup-Operators zu erhalten, und vergleichen Sie dann die Ausführungszeit.

  1. Führen Sie die folgende Abfrage aus.

    Abfrage ausführen

    SalesFact
    | lookup Products on ProductKey
    | summarize TotalSales = count() by ProductCategoryName
    | order by TotalSales desc
    

    Die Ergebnisse sollten wie im folgenden Bild aussehen:

    Screenshot of lookup operator with total sales per product query and results.

    Beachten Sie, dass Sie die gleichen Ergebnisse erhalten, die Ausführungszeit jedoch 0,398 Sekunden beträgt. Die schnellere Ausführungszeit liegt daran, dass der lookup-Operator für diesen Typ von Abfrage optimiert ist.