"Не удалось разрешить ключевой столбец" сверху "" Ошибка в пользовательских аналитиках Application Insights Analytics

У меня есть некоторые данные в Application Insights, и я использую представление Analytics для написания запросов к ним.

Я вижу, что у меня есть трассировка, CustomDimensions которой содержат свойство ActivityID, которое является guid:

Теперь я хочу выполнить другой запрос, чтобы вернуть все трассировки, содержащие этот ActivityId.

Используя это как руководство, у меня в настоящее время есть следующее:

union (traces
| extend ActivityId = tostring(customDimensions.ActivityId)
| project ActivityId
| where ActivityId  == "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
| top 101 by timestamp desc

Однако это возвращает следующее сообщение об ошибке синтаксиса:

Failed to resolve 'top' key column

Что я делаю неправильно? Я также был бы признателен и объяснение сообщения об ошибке, если это возможно.

2 ответа

Решение

Вы не можете сделать top на проекции, если вы не включили столбец отметки времени в проекцию.

Я сделал:

union (traces)
| top 101 by timestamp desc
| project session_Id

так что это должно работать

union (traces
| extend ActivityId = tostring(customDimensions.ActivityId)
| where ActivityId  == "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
| top 101 by timestamp desc
| project ActivityId

и тогда это работает. Каков ваш полный запрос (я думаю, что есть больше, так как вы используете union?)

Вы должны проецировать столбец timestamp, если хотите использовать его в верхней части.

traces
| extend ActivityId = tostring(customDimensions.ActivityId)
| project ActivityId, timestamp
| where ActivityId  == "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
| top 101 by timestamp desc

* Обратите внимание, что вам также не нужно использовать союз

Другие вопросы по тегам