Azure AppInsight工作簿如何通过Kusto查询按yearQuarter排序柱状图条形
Azure AppInsight工作簿柱状图按季度时间排序解决方案
查询结果网格示例:
排序异常的柱状图效果:
问题原因
Azure Monitor工作簿的柱状图默认优先按照度量数值(此场景为读取百分比)降序排序,会自动覆盖KQL查询中设置的sort/order by规则,因此会出现数值更高的2021 Q4排在2021 Q3之前的问题。
解决方法
方案1:添加排序锚点字段(兼容性最好,推荐使用)
- 修改KQL查询,新增可识别季度顺序的数字排序字段,示例代码如下:
// 保留你的原有查询逻辑,在末尾追加以下代码 | extend quarterSeq = case( yearQuarter endswith "Q1", 1, yearQuarter endswith "Q2", 2, yearQuarter endswith "Q3", 3, yearQuarter endswith "Q4", 4, 0 ) | extend sortKey = strcat(substring(yearQuarter, 0, 4), tostring(quarterSeq)) | sort by sortKey asc // 无需删除sortKey字段,保留在查询结果集中即可
- 配置图表排序规则:
- 点击柱状图右上角的齿轮图标打开设置面板
- 切换到「排序」标签页
- 「类别排序依据」选择新增的
sortKey字段,排序方向选择升序 - 保存设置后刷新图表即可
方案2:直接修改图表排序配置
如果不想调整KQL查询,可以尝试直接在图表设置中修改:
- 打开柱状图设置面板,找到「类别轴」配置项
- 将排序依据从默认的「值(降序)」修改为
yearQuarter字段,排序方向选升序 - 此方案存在兼容问题:部分版本工作簿对
2021 Q4这类字符串的排序识别异常,若不生效请使用方案1
内容的提问来源于stack exchange,提问作者Prasad Bhokare
相关产品推荐
相关产品推荐

