2017-01-12 33 views
4

當我嘗試加入其中一個customDimensions字段時,出現語法錯誤:「連接屬性可能只是列實體或相等表達式」。我能夠加入非自定義列,如名稱或時間戳。如何加入Application Insights Analytics中的customDimensions?

示例代碼:

let ExperimentLaunchedEvents = customEvents | name ==「ExperimentLaunched」和timestamp> now(-30d);

let ExperimentTerminatedEvents = customEvents | name ==「ExperimentTerminated」和timestamp> now(-30d);

ExperimentLaunchedEvents
|項目名稱,時間戳,experimentId = customDimensions.ExperimentId
|參加那種= leftanti(ExperimentTerminatedEvents
|項目名稱,時間戳,experimentId = customDimensions.ExperimentId)
上的ToString(experimentId)

如果連接上customDimensions列不支持,有什麼辦法來實現選擇推出實驗證明還沒有被終止?謝謝!

回答

7

正如John在註釋中提到的那樣當您使用自定義維度進行任何操作時,您需要將其轉換爲查詢引擎可以使用的類型。在這種情況下,我使用tostring(),但您也可以使用其他功能,如toint()

我還擴展了一個列類型,以便它可以在連接等子句中重複使用或無需長時間重複使用。

ExperimentLaunchedEvents 
| extend experimentId=tostring(customDimensions.ExperimentId) 
| project name, timestamp, experimentId 
| join kind=leftanti (ExperimentTerminatedEvents 
| extend experimentId=tostring(customDimensions.ExperimentId) 
| project name, timestamp, experimentId) 
on experimentId 
+1

工作,謝謝! – ZhenyaR

+0

沒問題。不知道爲什麼這是downvoted。 –

+1

它比延伸更多,'tostring'實際上是這裏的重要事情。分析聯接只允許您加入「已知」類型,默認情況下,customDimensions本身實際上是「任何」或「自定義」或「json」類型,其內部可能是任何東西。 –

相關問題