如何在SumoLogic中按字段分组计算审批通过率及总数
解决Splunk查询分组计算审批通过率的问题
完整可行的查询语句
_sourceCategory=MyAppSource "data_event" | json "fish" , "count", "method" | eval approved = if(count > 5 AND method == "good", 1, 0) | stats count as total, sum(approved) as totalapproved by fish | eval approved_rate = printf("%.0f%%", (totalapproved/total)*100) | rename fish as Fish, total as count, approved_rate as approved | table Fish approved count
关键步骤说明
- 修正approved字段生成逻辑:将原查询中的三元表达式替换为Splunk标准的
if()函数,确保语法兼容且可读性更强,逻辑与原需求一致。 - 分组统计核心数据:使用
stats(标准Splunk分组语法,替代原group写法),按fish分组统计总记录数total、通过记录数totalapproved。 - 计算并格式化通过率:通过
printf函数将通过率转换为百分比格式,%.0f%%表示保留0位小数并添加百分号(第二个%为转义符)。 - 调整字段与显示顺序:重命名字段匹配目标格式,再用
table指定输出列的顺序,得到预期结果。
最终输出结果
Fish approved count catfish 50% 2 pike 100% 2 bass 0% 2
内容的提问来源于stack exchange,提问作者ceiling cat
相关产品推荐
相关产品推荐

