find-Operator
Gilt für: ✅Microsoft Fabric✅✅
Sucht Zeilen, die einem Prädikat in einer Reihe von Tabellen entsprechen.
Der Umfang des find
Operators kann auch datenbankübergreifend oder clusterübergreifend sein.
find in (Table1, Table2, Table3) where Fruit=="apple"
find in (database('*').*) where Fruit == "apple"
find in (cluster('cluster_name').database('MyDB*').*) where Fruit == "apple"
find in (Table1, Table2, Table3) where Fruit=="apple"
Hinweis
find
Operator ist wesentlich weniger effizient als spaltenspezifische Textfilterung. Wann immer die Spalten bekannt sind, empfehlen wir die Verwendung des Where-Operators.
find
funktioniert nicht gut, wenn der Arbeitsbereich eine große Anzahl von Tabellen und Spalten enthält und das zu scannende Datenvolumen hoch ist und der Zeitraum der Abfrage hoch ist.
Syntax
find
[withsource
= ColumnName] [in
(
Tables)
]where
Prädikat [project-smart
|project
ColumnName[:
ColumnType,
... ] [,
pack_all()
]]find
Prädikat [project-smart
|project
ColumnName[:
ColumnType,
... ] [ ]],
pack_all()
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung des Dataflows |
---|---|---|---|
ColumnName | string |
Standardmäßig enthält die Ausgabe eine Spalte namens source_, deren Werte angeben, welche Quelltabelle zu jeder Zeile beigetragen hat. Wenn angegeben, wird ColumnName- anstelle von source_verwendet. Wenn die Abfrage tabellen aus mehr als einer Datenbank einschließlich der Standarddatenbank referenziert, weist der Wert dieser Spalte einen Tabellennamen auf, der mit der Datenbank qualifiziert ist. Ebenso sind Cluster- und Datenbank Qualifikationen im Wert vorhanden, wenn auf mehrere Cluster verwiesen wird. | |
Prädikat | bool |
✔️ | Dieser boolesche Ausdruck wird für jede Zeile in jeder Eingabetabelle ausgewertet. Weitere Informationen finden Sie unter Prädikatsyntaxdetails. |
Tabellen | string |
Null- oder mehr durch Trennzeichen getrennte Tabellenverweise. Standardmäßig sucht find in allen Tabellen in der aktuellen Datenbank. Verwenden Sie Folgendes:1. Der Name einer Tabelle, z. B. Events 2. Ein Abfrageausdruck, z. B. (Events | where id==42) 3. Eine Gruppe von Tabellen, die mit einem Wildcard angegeben sind. Würde beispielsweise die Vereinigung aller Tabellen in der Datenbank bilden, E* deren Namen mit E . |
|
project-smart oder project |
string |
Wenn nicht angegeben, wird project-smart standardmäßig verwendet. Weitere Informationen finden Sie unter Ausgabeschemadetails. |
withsource=
ColumnName: Optional. Standardmäßig enthält die Ausgabe eine Spalte namens source_, deren Werte angeben, welche Quelltabelle jede Zeile beigetragen hat. Wenn angegeben, wird ColumnName- anstelle von source_verwendet.Prädikat: Ein
boolean
Ausdruck über den Spalten der Eingabetabellen Tabelle [,
Tabelle, ...]. Sie wird für jede Zeile in jeder Eingabetabelle ausgewertet. Weitere Informationen finden Sie unter Prädikatsyntaxdetails.Tabellen: Optional. Null- oder mehr durch Trennzeichen getrennte Tabellenverweise. Standardmäßig suchen alle Tabellen nach:
- Der Name einer Tabelle, z. B.
Events
. - Ein Abfrageausdruck, z.B.
(Events | where id==42)
. - Ein Satz von Tabellen, die mit einem Platzhalterzeichen angegeben sind. Würde beispielsweise die Vereinigung aller Tabellen bilden,
E*
deren Namen mitE
.
- Der Name einer Tabelle, z. B.
project-smart
|project
: Wenn nicht angegeben, wird standardmäßigproject-smart
verwendet. Weitere Informationen finden Sie unter Ausgabeschemadetails.
Gibt zurück
Transformation von Zeilen in Tabelle [,
, ...] für das Prädikat ist true
. Die Zeilen werden gemäß dem Ausgabeschema transformiert.
Ausgabeschema
spalte source_
Die ausgabe des find
Operators enthält immer eine source_ Spalte mit dem Quelltabellennamen. Die Spalte kann mit dem withsource
Parameter umbenannt werden.
Ergebnisspalten
Quelltabellen, die keine Spalten enthalten, die von der Prädikatauswertung verwendet werden, werden herausgefiltert.
Wenn Sie project-smart
verwenden, sind die spalten, die in der Ausgabe angezeigt werden:
- Spalten, die explizit im Prädikat angezeigt werden.
- Spalten, die allen gefilterten Tabellen gemeinsam sind.
Die restlichen Spalten werden in einen Eigenschaftenbehälter verpackt und in einer zusätzlichen pack
Spalte angezeigt.
Eine Spalte, auf die explizit vom Prädikat verwiesen wird und in mehreren Tabellen mit mehreren Typen angezeigt wird, weist für jeden solchen Typ eine andere Spalte im Ergebnisschema auf. Jede der Spaltennamen wird aus dem ursprünglichen Spaltennamen und -typ erstellt, getrennt durch einen Unterstrich.
Bei Verwendung von project
ColumnName[ :
ColumnType,
... ] [,
pack_all()
]:
- Die Ergebnistabelle enthält die in der Liste angegebenen Spalten. Wenn eine Quelltabelle keine bestimmte Spalte enthält, sind die Werte in den entsprechenden Zeilen null.
- Wenn Sie einen ColumnType- mit einem ColumnName-angeben, weist diese Spalte im "Ergebnis" den angegebenen Typ auf, und die Werte werden bei Bedarf in diesen Typ umgegossen. Die Umwandlung wirkt sich nicht auf den Spaltentyp aus, wenn das Prädikatausgewertet wird.
- Wenn
pack_all()
verwendet wird, werden alle Spalten, einschließlich der projizierten Spalten, in einen Eigenschaftenbehälter gepackt und in einer zusätzlichen Spalte angezeigt, standardmäßig "Spalte1". Im Eigenschaftenbehälter dient der Name der Quellspalte als Eigenschaftsname, und der Wert der Spalte dient als Eigenschaftswert.
Prädikatsyntax
Der find
-Operator unterstützt eine alternative Syntax für den * has
Ausdruck und durchsucht nur Ausdruckeinen Begriff über alle Eingabespalten.
Eine Zusammenfassung einiger Filterfunktionen finden Sie unter dem Operator.
Betrachtungen
- Wenn die
project
Klausel auf eine Spalte verweist, die in mehreren Tabellen angezeigt wird und mehrere Typen aufweist, muss ein Typ diesem Spaltenverweis in der Projektklausel folgen. - Wenn eine Spalte in mehreren Tabellen angezeigt wird und mehrere Typen aufweist und
project-smart
verwendet wird, gibt es eine entsprechende Spalte für jeden Typ im Ergebnis desfind
, wie in Union - Wenn Sie projektbasiertenverwenden, können Änderungen im Prädikat, im Satz der Quelltabellen oder im Tabellenschema zu einer Änderung des Ausgabeschemas führen. Wenn ein konstantes Ergebnisschema erforderlich ist, verwenden Sie stattdessen das Projekt.
-
find
Bereich kann keine Funktionen enthalten. Um eine Funktion in den bereichfind
einzuschließen, definieren Sie eine let-Anweisung mit Ansicht-Schlüsselwort.
Leistungstipps
- Verwenden Sie Tabellen im Gegensatz zu tabellarischen Ausdrücken.
Wenn ein tabellarischer Ausdruck auftritt, greift der Suchoperator auf eine
union
Abfrage zurück, die zu einer beeinträchtigten Leistung führen kann. - Wenn eine Spalte, die in mehreren Tabellen angezeigt wird und mehrere Typen aufweist, Teil der Projektklausel ist, bevorzugen Sie das Hinzufügen eines ColumnType-Werts zur Projektklausel, um die Tabelle zu ändern, bevor Sie sie
find
an übergeben. - Fügen Sie dem Prädikat zeitbasierte Filter hinzu. Verwenden Sie einen Datetime-Spaltenwert oder ingestion_time().
- Suchen Sie in bestimmten Spalten anstelle einer Volltextsuche.
- Es ist besser, nicht auf Spalten zu verweisen, die in mehreren Tabellen angezeigt werden und über mehrere Typen verfügen. Wenn das Prädikat gültig ist, wenn ein solcher Spaltentyp für mehrere Typen aufgelöst wird, wird die Abfrage wieder auf Union zurückgestellt.
Beispiele für Fälle, in denen
find
als Union fungiert, finden Sie unterBeispielen.
Beispiele
In den Beispielen in diesem Artikel werden öffentlich verfügbare Tabellen in der Hilfecluster-verwendet, z. B. die tabelle
StormEvents
in der datenbank Beispiele.
In den Beispielen in diesem Artikel werden öffentlich verfügbare Tabellen verwendet, z. B. die Tabelle
StormEvents
in der Wetteranalyse Beispieldaten.
Ausdruckssuche in allen Tabellen
Die Abfrage findet alle Zeilen aus allen Tabellen in der aktuellen Datenbank, in der jede Spalte das Wort Hernandez
enthält. Die resultierenden Datensätze werden gemäß dem Ausgabeschema transformiert. Die Ausgabe enthält Zeilen aus der Customers
Tabelle und die SalesTable
Tabelle der ContosoSales
Datenbank.
find "Hernandez"
Output
Diese Tabelle zeigt die ersten drei Zeilen der Ausgabe an.
Quelle_ | packen_ |
---|---|
Kundschaft | {"CityName":"Ballard","CompanyName":"NULL","ContinentName":"North America","CustomerKey":5023,"Education":"Partial High School","FirstName":"Devin","Gender ":"M","LastName":"Hernandez","MaritalStatus":"S","Occupation":"Clerical","RegionCountryName":"United States","StateProvinceName":"Washington"} |
Kundschaft | {"CityName":"Ballard","CompanyName":"NULL","ContinentName":"North America","CustomerKey":7814,"Education":"Partial College","FirstName":"Kristy","Kristy","Gender":"F","LastName":"Hernandez","MaritalStatus":"S","Occupation":"Professional","RegionCountryName":"United States","StateProvinceName":"Washington"} |
Kundschaft | {"CityName":"Ballard","CompanyName":"NULL","ContinentName":"North America","CustomerKey":7888,"Education":"Partial High School","FirstName":"Kari","Gender ":"F","LastName":"Hernandez","MaritalStatus":"S","Occupation":"Clerical","RegionCountryName":"United States","StateProvinceName":"Washington"} |
... | ... |
Ausdruckssuche in allen Tabellen, die einem Namensmuster entsprechen
Die Abfrage findet alle Zeilen aus allen Tabellen in der aktuellen Datenbank, deren Name mit C
dem Wort beginnt, und in dem jede Spalte das Wort Hernandez
enthält. Die resultierenden Datensätze werden gemäß dem Ausgabeschema transformiert. Jetzt enthält die Ausgabe nur Datensätze aus der Customers
Tabelle.
find in (C*) where * has "Hernandez"
Output
Diese Tabelle zeigt die ersten drei Zeilen der Ausgabe an.
Quelle_ | packen_ |
---|---|
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Mittwoch, 26. Mai\n8:30 - 9:30 UHR GMT","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Ignite 2018","sessionid":"THR3115","session_title":"Azure Log Analytics: Deep dive into the Azure Kusto query language. ","session_type":"Theater","owner":"Jean Francois Berenguer","participants":"""url":"https://myignite.techcommunity.microsoft.com/sessions/66329","level":300,"session_location":"","starttime":null,"duration":null,"time_and_duration":"","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Mittwoch, 26. Mai\n8:30 - 9:30 UHR GMT","kusto_affinity":"Focused"} |
... | ... |
Ausdruckssuche im gesamten Cluster
Die Abfrage findet alle Zeilen aus allen Tabellen in allen Datenbanken im Cluster, in denen jede Spalte das Wort Kusto
enthält.
Diese Abfrage ist eine datenbankübergreifende Abfrage.
Die resultierenden Datensätze werden gemäß dem Ausgabeschema transformiert.
find in (database('*').*) where * has "Kusto"
Output
Diese Tabelle zeigt die ersten drei Zeilen der Ausgabe an.
Quelle_ | packen_ |
---|---|
database("Samples"). ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Mittwoch, 26. Mai\n8:30 - 9:30 UHR GMT","kusto_affinity":"Focused"} |
database("Samples"). ConferenceSessions | {"conference":"Ignite 2018","sessionid":"THR3115","session_title":"Azure Log Analytics: Deep dive into the Azure Kusto query language. ","session_type":"Theater","owner":"Jean Francois Berenguer","participants":"""url":"https://myignite.techcommunity.microsoft.com/sessions/66329","level":300,"session_location":"","starttime":null,"duration":null,"time_and_duration":"","kusto_affinity":"Focused"} |
database("Samples"). ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Mittwoch, 26. Mai\n8:30 - 9:30 UHR GMT","kusto_affinity":"Focused"} |
... | ... |
Ausdruckssuche, die einem Namensmuster im Cluster entspricht
Die Abfrage findet alle Zeilen aus allen Tabellen, deren Name mit K
allen Datenbanken beginnt, deren Name mit B
und in der spalte das Wort Kusto
enthält.
Die resultierenden Datensätze werden gemäß dem Ausgabeschema transformiert.
find in (database("S*").C*) where * has "Kusto"
Output
Diese Tabelle zeigt die ersten drei Zeilen der Ausgabe an.
Quelle_ | packen_ |
---|---|
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Mittwoch, 26. Mai\n8:30 - 9:30 UHR GMT","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Mittwoch, 26. Mai\n8:30 - 9:30 UHR GMT","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Mittwoch, 26. Mai\n8:30 - 9:30 UHR GMT","kusto_affinity":"Focused"} |
... | ... |
Ausdruckssuche in mehreren Clustern
Die Abfrage findet alle Zeilen aus allen Tabellen, deren Name mit K
allen Datenbanken beginnt, deren Name mit B
und in der spalte das Wort Kusto
enthält.
Die resultierenden Datensätze werden gemäß dem Ausgabeschema transformiert.
find in (cluster("cluster1").database("B*").K*, cluster("cluster2").database("C*".*))
where * has "Kusto"
Ausdruckssuche in allen Tabellen
Die Abfrage findet alle Zeilen aus allen Tabellen, in denen jede Spalte das Wort Kusto
enthält.
Die resultierenden Datensätze werden gemäß dem Ausgabeschema transformiert.
find "Kusto"
Beispiele für find
Ausgabeergebnisse
Die folgenden Beispiele zeigen, wie find
sie über zwei Tabellen verwendet werden können: EventsTable1 und EventsTable2.
Gehen Sie davon aus, dass wir den nächsten Inhalt dieser beiden Tabellen haben:
EventsTable1
Session_Id | Ebene | EventText | Version |
---|---|---|---|
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informationen | Some Text1 | v1.0.0 |
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fehler | Some Text2 | v1.0.0 |
28b8e46e-3c31-43cf-83cb-48921c3986fc | Fehler | Some Text3 | v1.0.1 |
8f057b11-3281-45c3-a856-05ebb18a3c59 | Informationen | Some Text4 | 1\.1.0 |
EventsTable2
Session_Id | Ebene | EventText | EventName |
---|---|---|---|
f7d5f95f-f580-4ea6-830b-5776c8d64fdd | Informationen | Anderer Text1 | Ereignis1 |
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informationen | Anderer Text2 | Ereignis2 |
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fehler | Anderer Text3 | Ereignis3 |
15eaeab5-8576-4b58-8fc6-478f75d8fee4 | Fehler | Anderer Text4 | Ereignis4 |
Suchen Sie in allgemeinen Spalten, projektüblichen und ungewöhnlichen Spalten, und packen Sie den Rest.
Die Abfrage sucht nach bestimmten Datensätzen in EventsTable1 und EventsTable2 basierend auf einem bestimmten Session_Id und einer Fehler--Ebene. Anschließend werden drei bestimmte Spalten projiziert: EventText-, Versionund EventName-und alle anderen verbleibenden Spalten in ein dynamisches Objekt.
find in (EventsTable1, EventsTable2)
where Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e' and Level == 'Error'
project EventText, Version, EventName, pack_all()
Output
Quelle_ | EventText | Version | EventName | packen_ |
---|---|---|---|---|
EventsTable1 | Some Text2 | v1.0.0 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error"} | |
EventsTable2 | Anderer Text3 | Ereignis3 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error"} |
Suchen in häufigen und ungewöhnlichen Spalten
Die Abfrage sucht nach Datensätzen, die entweder Version als "v1.0.0" oder EventName als "Event1" haben, und dann werden vier bestimmte Spalten Session_Id, EventText, Versionund EventName aus diesen gefilterten Ergebnissen.
find Version == 'v1.0.0' or EventName == 'Event1' project Session_Id, EventText, Version, EventName
Output
Quelle_ | Session_Id | EventText | Version | EventName |
---|---|---|---|---|
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Some Text1 | v1.0.0 | |
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Some Text2 | v1.0.0 | |
EventsTable2 | f7d5f95f-f580-4ea6-830b-5776c8d64fdd | Anderer Text1 | Ereignis1 |
Hinweis
In der Praxis werden EventsTable1- Zeilen mit Version == 'v1.0.0'
Prädikat gefiltert, und EventsTable2- Zeilen werden mit EventName == 'Event1'
Prädikat gefiltert.
Verwenden Sie abgekürzte Schreibweise, um in allen Tabellen in der aktuellen Datenbank zu suchen.
Diese Abfrage durchsucht die Datenbank nach datensätzen mit einer Session_Id, die mit "acbd207d-51aa-4df7-bfa7-be70eb68f04e" übereinstimmt. Es ruft Datensätze aus allen Tabellen und Spalten ab, die diese spezifische Session_Identhalten.
find Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e'
Output
Quelle_ | Session_Id | Ebene | EventText | packen_ |
---|---|---|---|---|
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informationen | Some Text1 | {"Version":"v1.0.0"} |
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fehler | Some Text2 | {"Version":"v1.0.0"} |
EventsTable2 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informationen | Anderer Text2 | {"EventName":"Event2"} |
EventsTable2 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fehler | Anderer Text3 | {"EventName":"Event3"} |
Zurückgeben der Ergebnisse aus jeder Zeile als Eigenschaftenbehälter
Diese Abfrage durchsucht die Datenbank nach Datensätzen mit der angegebenen Session_Id und gibt alle Spalten dieser Datensätze als einzelnes dynamisches Objekt zurück.
find Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e' project pack_all()
Output
Quelle_ | packen_ |
---|---|
EventsTable1 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Information", "EventText":"Some Text1", "Version":"v1.0.0"} |
EventsTable1 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error", "EventText":"Some Text2", "Version":"v1.0.0"} |
EventsTable2 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Information", "EventText":"Some Other Text2", "EventName":"Event2"} |
EventsTable2 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error", "EventText":"Some Other Text3", "EventName":"Event3"} |
Beispiele für Fälle, in denen find
als union
Der find
-Operator in Kusto kann manchmal wie ein union
-Operator wirken, hauptsächlich wenn er zum Durchsuchen mehrerer Tabellen verwendet wird.
Verwenden eines nicht tabellarischen Ausdrucks als "Operand suchen"
Die Abfrage erstellt zunächst eine Ansicht, die EventsTable1 filtert, um nur Datensätze auf Fehlerebene einzuschließen. Anschließend wird in dieser gefilterten Ansicht und in der Tabelle "EventsTable2" nach Datensätzen mit einem bestimmten Session_Idgesucht.
let PartialEventsTable1 = view() { EventsTable1 | where Level == 'Error' };
find in (PartialEventsTable1, EventsTable2)
where Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e'
Verweisen auf eine Spalte, die in mehreren Tabellen angezeigt wird und mehrere Typen aufweist
Erstellen Sie in diesem Beispiel zwei Tabellen, indem Sie Folgendes ausführen:
.create tables
Table1 (Level:string, Timestamp:datetime, ProcessId:string),
Table2 (Level:string, Timestamp:datetime, ProcessId:int64)
- Die folgende Abfrage wird als
union
ausgeführt.
find in (Table1, Table2) where ProcessId == 1001
Das Ausgabeergebnisschema ist (Level:string, Timestamp, ProcessId_string, ProcessId_int).
- Die folgende Abfrage wird als
union
ausgeführt, erzeugt jedoch ein anderes Ergebnisschema.
find in (Table1, Table2) where ProcessId == 1001 project Level, Timestamp, ProcessId:string
Das Ausgabeergebnisschema ist (Level:string, Timestamp, ProcessId_string)