2017-02-15 3 views
0

Ich verwende diese Referenz documentation für Application Insights.Application Insights Analytics macht sub wählt

Wie kann ich eine Unterauswahl mithilfe der Ausgabe einer anderen Abfrage vornehmen?

//Query 1 
Events 
| where Timestamp >= ago(30min) and Data contains('SomeString') 
| project TraceToken 

//I would like to use the first query's output in the subselect here. 
Events 
| where TraceToken in ({I would like to use the First query's output here.}) 

Ist ein Beitritt in diesem Szenario besser. Welche hätte eine bessere Leistung.

Antwort

5

Sie können let Anweisung verwenden, um dies zu erreichen.

Hier ein Beispiel aus der Analytics documentation, ich hoffe, das hilft:

let topCities = toscalar (// convert single column to value 
    requests 
    | summarize count() by client_City 
    | top 4 by count_ 
    | summarize makeset(client_City)); 
requests 
| where client_City in (topCities) 
| summarize count() by client_City; 

bearbeiten: die maximale Anzahl der Elemente zurückgeführt durch die makeset() Funktion ist standardmäßig 128. Die MaxSetSize für größere angegeben werden sollte dataSets.

+0

Meine Post bei der Verwendung eines Joins wurde entfernt, da diese Antwort die OP-Frage –

+0

erfüllt. James Davis, Können Sie bitte auch die Antwort mit dem Join posten. Ich möchte einen Vergleich der Leistung durchführen und sehen, ob ein bestimmter Abfragetyp zu einer Situation passt. –

+0

Dmitry, Danke für deine Antwort. Es funktioniert gut auf einem kleinen Dataset. Die Abfrage läuft ab, sobald ich den Datumsbereich vergrößert habe. Wie kann ich es für größere Datensätze effizienter machen? Wir haben ungefähr eine halbe Milliarde Events pro Tag. Eine Abfrage über einen Zeitraum von einem halben Tag läuft ab. –

Verwandte Themen