Как обычно проверяется, существует ли что-либо в другой таблице на языке запросов Application Insights Analytics?
Я хочу ограничить запросы конкретной зависимой зависимостью по имени. Я попытался использовать левое соединение, но, похоже, это не сработало, как я ожидал, потому что оно дало те же результаты, что и мое внутреннее соединение.
requests
| where timestamp >= ago(24h)
| join kind=leftsemi (
dependencies
| where name contains "MYDATABASENAME"
) on operation_Id
| summarize count() by tostring(parseurl(url).Path)
| order by count_ desc
Далее я смотрю на оператор where-in, но все еще не уверен, является ли это каким-то ожидаемым способом сделать то, что обычно является оператором существующего в T-SQL.
2 ответа
Вы должны быть в состоянии использовать оператор le t для достижения этой цели.
На самом деле, чтобы получить семантику where-in, вы должны использовать внутреннее соединение. Из документации объединения (во внутреннем разделе kind=):
В выводе есть строка для каждой комбинации совпадающих строк слева и справа.
Кроме того, поскольку существует ограничение на размер возвращаемой таблицы, вы можете ограничить правую сторону объединения следующим образом:
requests
| where timestamp >= ago(24h)
| join kind=inner (
dependencies
| where name contains "MYDATABASENAME"
| project operation_Id
) on operation_Id
| summarize count() by tostring(parseurl(url).Path)
| order by count_ desc