我有一个返回所有用户 url 的 kusto 查询,我需要从 url 中获取 userId,并且只计算唯一值(按 userId)。
我已经做的是:使用
| project userIdSection = split(parse_url(url).Path, "/")[-1] 在查询中提取 userId。但是重复的很多,怎么只统计unique user ids呢?
当我对其应用 distinct 时,它会抛出错误:
union isfuzzy=true 请求 |其中 cloud_RoleName 包含“我的应用程序” |项目时间戳、id、名称、userIdSection = split(parse_url(url).Path, "/")[-1], 成功 |不同的 userIdSection
我期望的是,只取回唯一的 userId。谢谢!
原因在错误描述中:
错误:不同的组键“userIdSection”属于“动态”类型。请使用显式转换,因为不支持按“动态”类型分组。
split的结果类型是
dynamic
,需要转成这样的字符串:
union isfuzzy=true requests
| where cloud_RoleName contains "my-app"
| project timestamp, id, name, userIdSection = tostring(split(parse_url(url).Path, "/")[-1]), success
| distinct userIdSection
要获得不同值的计数,请使用
summarize dcount(userIdSection)
而不是 distinct userIdSection