Splunk:如何让eventstats dc(field)统计不含null的去重字符串值?
解决办法
方法一:先过滤空值再统计
先用where子句排除field字段为空(null)的事件,再执行去重统计:| where isnotnull(field) | eventstats dc(field) as "field_count"这种方式会先剔除所有含null的事件,再统计剩余事件中
field的去重数量,最终结果就是3。方法二:在
dc函数内直接排除空值
无需过滤整个事件,直接在dc函数中通过条件判断忽略null值:| eventstats dc(if(isnotnull(field), field, null())) as "field_count"这里借助
if函数,仅当field不为null时保留原值,否则返回null;而dc函数会自动忽略这类null值,最终统计有效字符串的去重数量。方法三:通过
eval预处理字段后统计
先把null值替换为不会被计入统计的标识(比如空字符串,注意:若原字段本身存在空字符串则不适用),再进行去重统计:| eval field = if(isnotnull(field), field, "") | eventstats dc(field) as "field_count"
内容的提问来源于stack exchange,提问作者Tony McConnell
相关产品推荐
相关产品推荐

