2017-12-21 22 views
0

관련 데이터 세트에 대해 subselect를 수행하려고합니다. 즉, 하위 데이터는 메인 쿼리에서 데이터를 사용하여 필터를 적용 할 필요가 : 오류가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 

위의 쿼리 결과 : I 필드 envId의 기준으로 부속 선택의 데이터를 필터링 할 수 있습니다 방법

Failed to resolve entity 'envId'

주요 쿼리?

답변

1

내가 당신이 가입 할 위치는 조인 두 번째 쿼리에서

문서를 그 값을 얻기 위해 대신 join를 사용할 필요가 거라고 생각 : https://docs.loganalytics.io/docs/Language-Reference/Tabular-operators/join-operator

조인의 왼쪽이 당신의 "외부"쿼리를 사용하고 조인의 오른쪽 부분은 "내부"쿼리가됩니다. take 1을 수행하는 대신 serverEnvId, dbInfo의 고유 값을 얻는 간단한 쿼리를 수행 할 것입니다.