0

Ich möchte einen Subselect für einen verwandten Datensatz durchführen. Das Subdaten muss gefiltert werden Daten aus der Hauptabfrage mit:Wie benutze ich einen Filter im Subselect

customEvents 
| extend envId = tostring(customDimensions.EnvironmentId) 
| extend organisation = tostring(customDimensions.OrganisationName) 
| extend version = tostring(customDimensions.Version) 
| extend app = tostring(customDimensions.Appname) 
| where customDimensions.EventName contains "ApiSessionStartStart" 
| extend dbInfo = toscalar(
    customEvents 
    | extend dbInfo = tostring(customDimensions.dbInfo) 
    | extend serverEnvId = tostring(customDimensions.EnvironmentId) 
    | where customDimensions.EventName == "ServiceSessionStart" or customDimensions.EventName == "ServiceSessionContinuation" 
    | where serverEnvId = envId // This gives and error 
    | project dbInfo 
    | take 1) 
| order by timestamp desc 
| project timestamp, customDimensions.OrganisationName, customDimensions.Version, customDimensions.onBehalfOf, customDimensions.userId, customDimensions.Appname, customDimensions.apiKey, customDimensions.remoteIp, session_Id , dbInfo, envId 

Die obige Abfrage führt zu einem Fehler:

Failed to resolve entity 'envId'

Wie kann ich die Daten in der subselect basierend auf dem Feld filtern envId in die Hauptanfrage?

Antwort

1

ich glaube, Sie brauchen würden join stattdessen zu verwenden, in dem Sie den Wert aus der zweiten Abfrage

docs bekommen würden kommen, um für beitreten: https://docs.loganalytics.io/docs/Language-Reference/Tabular-operators/join-operator

die linke Seite des Join ist Du "äußere" Abfrage, und die rechte Seite des Joins wäre diese "innere" Abfrage, obwohl statt take 1, würden Sie wahrscheinlich eine einfachere Abfrage, die nur unterschiedliche Werte von serverEnvId, dbInfo

Verwandte Themen