求助:为ServiceNow需求模块字符串字段(标签)构建交互式筛选器
解决ServiceNow字符串类型标签字段的交互式筛选器配置问题
开箱即用方案
方案1:列表筛选器(List Filter)
- 新建交互式筛选器,类型选择列表筛选器
- 配置基础信息:关联目标仪表盘,选择需求表(如
rm_requirement),字段选你的标签字符串字段 - 在“显示选项”中,设置为下拉列表或多选下拉,标签值少的话勾选“显示全部选项”,值多则开启“搜索选项”方便快速定位
- 关键设置:在“筛选器行为”里选匹配方式——精确匹配或包含匹配;同时确保关联的仪表盘报表数据源表与筛选器一致,报表会自动继承筛选值
方案2:自由文本筛选器(Free Text Filter)
- 新建交互式筛选器,类型选择自由文本筛选器
- 配置字段为目标标签字符串字段,匹配方式选包含(适合模糊搜标签)或等于(适合精确匹配)
- 这种方式适配标签值多、无法枚举的场景,用户可手动输入关键词筛选
代码支持方案(自定义脚本筛选器)
如果开箱类型无法满足需求,用脚本筛选器实现自定义逻辑:
- 新建交互式筛选器,类型选择脚本筛选器
- 在“服务器端脚本”中输入以下示例代码(根据你的表和字段名调整):
// 获取用户输入的筛选值 var filterValue = current.getValue('value'); if (filterValue) { // 构建查询条件:标签字段包含输入值(精确匹配用'='替换'LIKE') var query = 'u_tagLIKE' + filterValue; // 将查询条件传递给关联报表 return query; } // 无输入值时返回空,不执行筛选 return '';
- 配置筛选器显示控件为文本输入框或下拉列表,关联目标仪表盘报表,报表会自动应用脚本生成的查询条件
注意事项
- 确认标签字段在字典中的“可搜索”属性已开启(系统管理>字典>找到该字段,勾选“可搜索”)
- 如果标签是逗号分隔的多值字符串,可将脚本查询逻辑改为
u_tagCONTAINS' + filterValue,适配多值匹配
内容的提问来源于stack exchange,提问作者Megan
相关产品推荐
相关产品推荐

