Tutorial: Kennenlernen gängiger Operatoren
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Kusto-Abfragesprache (KQL) wird verwendet, um Abfragen in Azure Data Explorer, Azure Monitor Log Analytics, Azure Sentinel und mehr zu schreiben. Dieses Lernprogramm ist eine Einführung in die wesentlichen KQL-Operatoren, die für den Zugriff auf und die Analyse Ihrer Daten verwendet werden.
Spezifischere Anleitungen zum Abfragen von Protokollen in Azure Monitor finden Sie unter "Erste Schritte mit Protokollabfragen".
Hinweis
Können Sie die gesuchten Informationen nicht finden? Dieser Artikel wurde kürzlich wie folgt geteilt:
- Informationen zu allgemeinen Operatoren (in diesem Artikel)
- Verwenden von Aggregationsfunktionen
- Verknüpfen von Daten aus mehreren Tabellen
- Erstellen von geospatialen Visualisierungen
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
Zum Ausführen der folgenden Abfragen benötigen Sie eine Abfrageumgebung mit Zugriff auf die Beispieldaten. Sie können eine der folgenden Anwendungen verwenden:
- Ein Microsoft-Konto oder eine Microsoft Entra-Benutzeridentität, um sich beim Hilfecluster anzumelden
- Ein Microsoft-Konto oder eine Microsoft Entra-Benutzeridentität
- Ein Fabric-Arbeitsbereich mit einer Microsoft Fabric-fähigen Kapazität
Zeilen zählen
Beginnen Sie, indem Sie den Count-Operator verwenden, um die Anzahl der Sturmdatensätze in der StormEvents
Tabelle zu finden.
StormEvents
| count
Ausgabe
Anzahl |
---|
59066 |
Sehen Sie sich ein Beispiel für Daten an
Verwenden Sie den Take-Operator , um ein Beispiel von Datensätzen anzuzeigen, um einen Überblick über die Daten zu erhalten. Dieser Operator gibt eine angegebene Anzahl beliebiger Zeilen aus der Tabelle zurück, die für die Vorschau der allgemeinen Datenstruktur und des Inhalts nützlich sein können.
StormEvents
| take 5
In der folgenden Tabelle sind nur 5 der 22 zurückgegebenen Spalten aufgeführt. Führen Sie die Abfrage aus, um die vollständige Ausgabe anzuzeigen.
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 | ATLANTIC SOUTH | Waterspout | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Starker Regen | ... |
Auswählen einer Teilmenge von Spalten
Verwenden Sie den Projektoperator , um die Ansicht zu vereinfachen und eine bestimmte Teilmenge von Spalten auszuwählen. Die Verwendung project
ist oft effizienter und einfacher zu lesen als das Anzeigen aller Spalten.
StormEvents
| take 5
| project State, EventType, DamageProperty
Ausgabe
State | EventType | DamageProperty |
---|---|---|
ATLANTIC SOUTH | Waterspout | 0 |
FLORIDA | Starker Regen | 0 |
FLORIDA | Tornado | 6200000 |
GEORGIA | Sturm | 2.000 |
MISSISSIPPI | Sturm | 20000 |
Eindeutige Werte auflisten
Es scheint, dass es mehrere Arten von Stürmen basierend auf den Ergebnissen der vorherigen Abfrage gibt. Verwenden Sie den eindeutigen Operator, um alle eindeutigen Sturmtypen auflisten.
StormEvents
| distinct EventType
Es gibt 46 Arten von Stürmen in der Tabelle. Hier ist ein Beispiel von 10 davon.
EventType |
---|
Sturm |
Hagel |
Überschwemmung |
Dürre |
Winterwetter |
Winter Storm |
Heavy Snow |
Starker Wind |
Frost/Freeze |
Hochwasser |
... |
Filtern nach Bedingung
Der Ort, an dem Operator Zeilen mit Daten basierend auf bestimmten Kriterien filtert.
In der folgenden Abfrage wird nach Sturmereignissen in einem bestimmten Bereich State
EventType
gesucht.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Es gibt 146 Ereignisse, die diesen Bedingungen entsprechen. Hier ist ein Beispiel von 5 davon.
StartTime | EndTime | State | EventType | DamageProperty |
---|---|---|---|---|
2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Hochwasser | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Hochwasser | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Hochwasser | 0 |
2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Hochwasser | 20000 |
2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Hochwasser | 0 |
... | ... | ... | ... | ... |
Ergebnisse sortieren
Um die oberen Überschwemmungen in Texas anzuzeigen, die den größten Schaden verursachten, verwenden Sie den Sortieroperator , um die Zeilen basierend auf der DamageProperty
Spalte in absteigender Reihenfolge anzuordnen. Die Standardsortierreihenfolge ist absteigend. Für das Sortieren in aufsteigender Reihenfolge müssen Sie asc
angeben.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Output
StartTime | EndTime | State | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Hochwasser | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Hochwasser | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Hochwasser | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Hochwasser | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Hochwasser | 750000 |
... | ... | ... | ... | ... |
Abrufen der obersten n Zeilen
Der oberste Operator gibt die ersten n Zeilen zurück, die nach der angegebenen Spalte sortiert sind.
Die folgende Abfrage gibt die fünf Texas-Überschwemmungen zurück, die die beschädigtste Eigenschaft verursacht haben.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Output
StartTime | EndTime | State | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Hochwasser | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Hochwasser | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Hochwasser | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Hochwasser | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Hochwasser | 750000 |
Hinweis
Die Reihenfolge der Operatoren ist wichtig. Wenn Sie sich hier befinden top
where
, erhalten Sie unterschiedliche Ergebnisse. Dies liegt daran, dass die Daten von jedem Operator in der Reihenfolge transformiert werden. Weitere Informationen finden Sie unter tabellarischen Ausdrucksanweisungen.
Erstellen von berechneten Spalten
Das Projekt und die Erweiterungsoperatoren können beide berechnete Spalten erstellen.
Wird project
verwendet, um nur die Anzuzeigenden Spalten anzugeben und extend
die berechnete Spalte an das Ende der Tabelle anzufügen.
Die folgende Abfrage erstellt eine berechnete Duration
Spalte mit dem Unterschied zwischen und EndTime
StartTime
. Da wir nur einige ausgewählte Spalten anzeigen möchten, ist die Verwendung project
in diesem Fall die bessere Wahl.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Output
StartTime | EndTime | Duration | DamageProperty |
---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | 1.01:30:00 | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | 12:00:00 | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | 05:00:00 | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | 08:00:00 | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | 03:00:00 | 750000 |
Wenn Sie sich die berechnete Duration
Spalte ansehen, stellen Sie möglicherweise fest, dass die Überschwemmung, die den größten Schaden verursacht hat, auch die längste Überschwemmung war.
Wird verwendet extend
, um die berechnete Duration
Spalte zusammen mit allen anderen Spalten anzuzeigen. Die Duration
Spalte wird als letzte Spalte hinzugefügt.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Output
StartTime | EndTime | ... | Duration |
---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | ... | 1.01:30:00 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | ... | 12:00:00 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | ... | 05:00:00 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | ... | 08:00:00 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | ... | 03:00:00 |
Zuordnen von Werten aus einem Satz zum anderen
Statische Zuordnung ist eine nützliche Technik zum Ändern der Darstellung Ihrer Ergebnisse. In KQL besteht eine Möglichkeit zum Ausführen einer statischen Zuordnung darin, ein dynamisches Wörterbuch und Accessoren zu verwenden, um Werte von einem Satz zu einem anderen zuzuordnen.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Output
EventId | Quelle | FriendlyName |
---|---|---|
68796 | Emergency Manager | Öffentlich |
... | ... | ... |
72609 | Hilfsunternehmen | Privat |
... | ... | ... |
Nächster Schritt
Nachdem Sie nun mit den Grundlagen des Schreibens von Kusto-Abfragen vertraut sind, fahren Sie mit dem nächsten Lernprogramm fort, und erfahren Sie, wie Sie Aggregationsfunktionen verwenden, um tiefere Einblicke in Ihre Daten zu erhalten.