Application Insights: Analytics - how to extract string at specific position
Yes, parseurl is the way to do it. It results in a dynamic value which you can use as a json.To get the "query" value of the query parameters:
pageViews| where timestamp > ago(1d)| extend parsed_url=parseurl(url)| extend query = tostring(parsed_url["Query Parameters"]["query"])
and to summarize by the param value:
pageViews| where timestamp > ago(1d)| extend parsed_url=parseurl(url)| extend query = tostring(parsed_url["Query Parameters"]["query"])| extend param = toint(parsed["Query Parameters"]["param"])| summarize sum(param) by query
You can see how it works on your example values in the demo portal:
let vals = datatable(url:string)["https://example.com/dir01/?query=apple¶m=1", "https://example.com/dir01/?query=apple¶m=1", "https://example.com/dir01/?query=lemon+juice¶m=1", "https://example.com/dir01/?query=lemon+juice¶m=0", "https://example.com/dir01/?query=tasteful+grape+wine¶m=1"];vals| extend parsed = parseurl(url)| extend query = tostring(parsed["Query Parameters"]["query"])| extend param = toint(parsed["Query Parameters"]["param"])| summarize sum(param) by query
Hope this helps,
Asaf