Freigeben über


Lernprogramm: Verknüpfen von Daten aus mehreren Tabellen

Gilt für: ✅Microsoft Fabric

Durch das Verknüpfen von Daten aus mehreren Tabellen können Sie Daten über Quellen hinweg analysieren und Beziehungen zwischen Datenpunkten erstellen. Verwenden Sie in der Kusto-Abfragesprache (KQL) die Verknüpfungs - und Nachschlageoperatoren , um Daten über Tabellen hinweg zu kombinieren.

In diesem Tutorial lernen Sie Folgendes:

Die Beispiele in diesem Lernprogramm verwenden die StormEvents Tabelle, die im Hilfecluster öffentlich verfügbar ist. Um ihre eigenen Daten zu erkunden, erstellen Sie Ihren eigenen kostenlosen Cluster.

In den Beispielen in diesem Lernprogramm wird die StormEvents Tabelle verwendet, die in den Beispieldaten der Wetteranalyseöffentlich verfügbar ist.

Voraussetzungen

Führen Sie die Abfragen in einer Abfrageumgebung aus, die Zugriff auf die Beispieldaten hat. Verwenden Sie eine der folgenden Optionen:

  • Microsoft-Konto oder Microsoft Entra-Benutzeridentität, um sich beim Hilfecluster anzumelden

Verwenden des Verknüpfungsoperators

Die Beispieldatenbank enthält zwei verknüpfte Sturmereignistabellen: StormEvents und PopulationData. In diesem Abschnitt verknüpfen Sie sie, um Daten zu analysieren, die mit einer einzigen Tabelle nicht möglich sind.

Grundlegendes zu den Daten

Verwenden Sie den Operator "Take ", um zu sehen, welche Daten jede Tabelle enthält.

StormEvents 
| take 5

In der folgenden Tabelle sind nur sechs der 22 zurückgegebenen Spalten aufgeführt.

StartTime EndTime EpisodeId EventId State EventType ...
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORIDA Tornado ...
2007-12-20T07:50:00Z 2007-12-20T07:53:00Z 12,554 68796 MISSISSIPPI Sturm ...
2007-12-30T16:00:00Z 2007-12-30T16:05:00Z 11749 64588 GEORGIA Sturm ...
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 ATLANTIK SÜD Waterspout ...
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORIDA Starker Regen ...
PopulationData 
| take 5

Ausgabe

State Auffüllung
ALABAMA 4918690
ALASKA 727951
ARIZONA 7399410
ARKANSAS 3025880
CALIFORNIA 39562900

Beide Tabellen weisen eine State Spalte auf. StormEvents enthält viele weitere Spalten und PopulationData hat eine weitere Spalte mit der Bevölkerung des Staates.

Verknüpfen der Tabellen

Verbinden Sie PopulationData mit StormEvents und verwenden Sie State, um die Gesamtschäden pro Kopf nach Bundesland zu berechnen.

StormEvents
| summarize PropertyDamage = sum(DamageProperty) by State
| join kind=innerunique PopulationData on State
| project State, PropertyDamagePerCapita = PropertyDamage / Population
| sort by PropertyDamagePerCapita

Fügen Sie | render columnchart der Abfrage hinzu, um das Ergebnis zu visualisieren.

Screenshot des Säulendiagramms mit Sachschäden pro Kopf nach Staat.

Wenn die Spalten unterschiedliche Namen haben (z.B. StormEvents hat State und PopulationData hat StateName), geben Sie die Verknüpfung wie an:

StormEvents
| join kind=innerunique PopulationData on $left.State == $right.StateName  

$left bezieht sich auf die linke (äußere) Tabelle in der Verknüpfung: StormEvents. $right bezieht sich auf die rechte (innere) Tabelle: PopulationData.

Tipp

Verwenden Sie den join Operator für viele Verknüpfungstypen. Sehen Sie sich die Liste der Verknüpfungstypen an.

Verwenden des Nachschlageoperators

Der Nachschlageoperator optimiert Abfragen, die eine Faktentabelle mit Daten aus einer Dimensionstabelle bereichern. Sie erweitert die Faktentabelle mit Werten aus der Dimensionstabelle. Standardmäßig geht das System davon aus, dass die linke Tabelle die größere Faktentabelle ist und die rechte Tabelle die kleinere Bemaßungstabelle ist. Dieser Standardwert ist das Gegenteil der Annahme des join Operators.

Der Hilfecluster enthält eine Datenbank ContosoSales mit Verkaufsdaten. Die folgende Abfrage verwendet lookup, um die Tabellen SalesFact und Products zusammenzuführen und den Gesamtumsatz nach Produktkategorie zurückzugeben.

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

Ausgabe

ProductCategoryName TotalSales
Spiele und Spielzeug 966782
TV und Video 715024
Kameras und Webcams 323003
Computer 313487
Haushaltsgeräte 237508
Audio 192671
Mobiltelefone 50342
Musik, Filme und Hörbücher 33376

Hinweis

Der lookup Operator unterstützt nur zwei Verknüpfungsrichtungen: leftouter und inner.

Verknüpft abfragegenerierte Tabellen

Verknüpfungsergebnisse aus derselben Tabelle.

Angenommen, Sie möchten eine Liste von Bundesländern, in denen sowohl Blitz- als auch Lawinenereignisse auftreten. Verwenden Sie den Verknüpfungsoperator, um Zeilen aus zwei Abfragen zusammenzuführen, die für jeden Ereignistyp in der State Spalte unterschiedliche Zustände zurückgeben.

StormEvents
| where EventType == "Lightning"
| distinct State
| join kind=inner (
    StormEvents 
    | where EventType == "Avalanche"
    | distinct State
    )
    on State
| project State

Ausgabe

State
OREGON
UTAH
WYOMING
WASHINGTON
COLORADO
IDAHO
NEVADA