Как обычно проверяется, существует ли что-либо в другой таблице на языке запросов 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
Другие вопросы по тегам