haxton2694
haxton2694

Reputation: 13

kusto query with dynamic object value without key

I have a lot of data looking like

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

All i want is the value regardless of the key.

My query:

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

d is a dynamic object and I can do d.monday for the value, but I'd like to get the value without the key. Is this possible with Kusto?

Thanks

Upvotes: 1

Views: 7100

Answers (1)

Yoni L.
Yoni L.

Reputation: 25965

for the case of a single-property as you've demonstrated above, using the parse operator could work:

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

Notes:

  • In case your values are not necessarily encapsulated in double quotes (e.g. are numerics), then you should be able to specify kind=regex for the parse operator, and use a conditional expression for the existence of the double quotes.

  • In case you have potentially more than 1 property per property bag, using extract_all() is an option.

Relevant Docs:

Upvotes: 2

Related Questions