不带键的动态对象值的kusto查询

时间:2019-03-13 15:48:05

标签: azure-application-insights insight kusto

我有很多数据类似

{"tuesday":"<30, 60>"}  
{"friday":"<0, 5>"} 
{"saturday":"<5, 10>"}  
{"friday":"<0, 5>"} 
{"saturday":"<5, 10>"}  
{"sunday":"0"}  
{"monday":"<0, 5>"}

我想要的就是与键无关的值。

我的查询:

customEvents
| where name == "eventName"
| extend d = parse_json(tostring(customDimensions.['Properties']))
| project d
| take 7

d是一个动态对象,我可以在星期一进行d.monday的值,但是我想在没有键的情况下获取值。库斯托有可能吗?

谢谢

1 个答案:

答案 0 :(得分:0)

对于如上所示的单一属性,可以使用parse运算符:

datatable(d:dynamic)
[
    ,dynamic({"tuesday":"<30, 60>"})
    ,dynamic({"friday":"<0, 5>"})
    ,dynamic({"saturday":"<5, 10>"})
    ,dynamic({"friday":"<0, 5>"})
    ,dynamic({"saturday":"<5, 10>"})
    ,dynamic({"sunday":"0"})
    ,dynamic({"monday":"<0, 5>"})
]
| parse d with * ':"'  value '"' *
| project value

注释:

  • 如果您的值不一定要用双引号引起来(例如数字),那么您应该能够为kind=regex运算符指定parse,并使用条件表达式双引号的存在。

  • 如果每个属性袋可能有多个属性,则可以选择使用extract_all()

相关文档: