如何在Application Insights Analytics中加入customDimensions?

Zhe*_*yaR 8 join azure-application-insights

当我尝试加入其中一个customDimensions字段时,我得到一个语法错误:"join属性可能只是列实体或等式表达式".我可以加入非自定义列,例如名称或时间戳.

示例代码:

    让ExperimentLaunchedEvents = customEvents | 其中name =="ExperimentLaunched"和timestamp> now(-30d);  

    让ExperimentTerminatedEvents = customEvents | 其中name =="ExperimentTerminated"和timestamp> now(-30d); 

    ExperimentLaunchedEvents
| 项目名称,时间戳,experimentId = customDimensions.ExperimentId
| 在tostring(experimentId)上加入kind = leftanti(ExperimentTerminatedEvents
|项目名称,timestamp,experimentId = customDimensions.ExperimentId
)  

如果不支持加入customDimensions列,是否有任何方法可以选择尚未终止的已启动实验?谢谢!

Jam*_*SFT 14

正如John在评论中所提到的那样当您为任何操作使用自定义维度时,您需要将其转换为查询引擎可以使用的类型.在这种情况下,我使用tostring(),但您也可以使用其他函数,如toint().

我还扩展了一个列类型,因此它可以在诸如join之类的子句中重用,而不必一次又一次地使用长手.

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
Run Code Online (Sandbox Code Playgroud)

  • 它不仅仅是延伸,`tostring`实际上是重要的事情.analytics join只允许你加入"已知"类型,默认情况下,customDimensions本身实际上是一个"any"或"custom"或"json"类型,里面的东西可以是任何东西. (2认同)