Application Insights查询将用户归入OTHER的原因及上限调整咨询
问题原因
- 图表存在维度数量上限:Application Insights的柱状/条形图默认对分组维度的唯一值数量有限制,当7天数据中的用户数超过这个上限时,系统会自动把登录量占比较小的用户合并到“OTHER”分类中。2天数据用户数量少,未触发该限制,所以显示正常。
- 表格渲染无此限制:表格会展示所有维度值,因此不会出现“OTHER”分类。
解决办法
1. 手动控制分组,替代默认OTHER
可以自行筛选出登录量较高的用户,将剩余用户合并为自定义分组,修改后的查询示例如下:
let mainTable = union customEvents | where datetime_utc_to_local(timestamp,'Pacific/Auckland') > startofday(ago(7d)) | where datetime_utc_to_local(timestamp,'Pacific/Auckland') < startofday(now()) | where isempty(operation_SyntheticSource) | where itemType == "customEvent" | where customDimensions["FunctionName"]=="Log in" | extend FunctionName = customDimensions["FunctionName"]; let queryTable = mainTable; let splitTable = () { queryTable | extend user_dim = customDimensions["User"] | extend user_dim = iif(isempty(user_dim), "<undefined>", user_dim) }; let cohortedTable = splitTable | extend byDimension = bin(datetime_utc_to_local(timestamp,'Pacific/Auckland'), 1h) | summarize metric = count_distinct(user_Id) by byDimension, user_dim; // 统计每个用户的总登录次数,取前20个高频用户 let userTotals = cohortedTable | summarize total = sum(metric) by user_dim; let topUsers = userTotals | top 20 by total; cohortedTable | join kind=leftouter topUsers on user_dim // 将非高频用户合并为“其他用户” | extend user_dim = iif(isnotnull(total), user_dim, "其他用户") | summarize metric = sum(metric) by user_dim, byDimension | render columnchart
2. 调整图表分组限制
渲染图表后,点击右上角的“编辑”按钮,在“数据”选项卡中找到“分组限制”相关设置,尝试提高该数值。注意:此数值存在平台级最大限制,无法无限调高。
3. 关于提高默认限制的说明
这个默认限制是平台为保证图表渲染性能和可读性预设的,无法完全取消,但可以通过上述两种方式缓解:要么手动合并低占比用户分组,要么将图表分组限制调整到平台允许的最大值。
内容的提问来源于stack exchange,提问作者Sammi
相关产品推荐
相关产品推荐

