2017-05-25 28 views
2

我在Application Insights中有一些數據,而且我正在使用Analytics視圖來編寫對它的查詢。「無法解析'頂部'鍵列'Application Insights Analytics自定義維度中的錯誤

我可以看到我有一個跟蹤,其中CustomDimensions含有一種叫ActivityID屬性,它是一個GUID:

enter image description here

現在我想要做的就是運行另一個查詢返回的所有包含該ActivityId的跡線。

使用this爲導向,我公司目前有以下幾種:

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 

我在做什麼錯?如果可能的話,我也會很感激和解釋錯誤信息。

+0

接受的答案確實有效,但誤導。請參閱下面的答案。 – yonisha

回答

1

除非實際在投影中包含時間戳列,否則不能對投影執行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?)

+0

修復了錯誤,謝謝。我最初使用union的原因是我剛剛修改了在打開使用聯合的分析視圖後自動填充的查詢。還有一個問題,錯誤已經消失,但現在我得到了「未找到結果」。我是否需要投入toguid而不是tostring? –

+0

嗯我總是使用'tostring'我自己,即使值可以解析爲一個GUID。請注意區分大小寫!更奇怪的是,只有'=='是。將其更改爲「contains」,而不是比較大小寫不敏感。 –

+0

@PeterBons「看起來你不能在投影頂部」是不正確的。你可以在項目上做一個頂尖的項目,但是你需要首先進行項目設計:) – yonisha

0

如果你想在頂部使用它,你必須投射'timestamp'列。

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

*請注意,您也不需要使用工會

相關問題