Report Builder筛选问题咨询:项目名模糊搜索及全选功能设置
Report Builder 筛选功能解决方案
1. 实现项目名字段的模糊包含搜索
- 新建一个文本类型的报表参数(命名为
ProjectNameSearch即可),按需选择是否勾选“允许空白值/空值”(后续逻辑兼容两种情况)。 - 方式一:修改数据集SQL查询,加入模糊匹配逻辑:
SELECT * FROM YourProjectTable WHERE ProjectName LIKE '%' + @ProjectNameSearch + '%' - 方式二:用报表内置筛选器实现,无需改查询:
在数据集的筛选条件中添加规则:- 字段选择
ProjectName - 运算符选“自定义”
- 表达式填写:
=InStr(Fields!ProjectName.Value, Parameters!ProjectNameSearch.Value) > 0
- 字段选择
- 完成后输入“Central”或“Towers”,就能匹配到包含该关键词的项目名。
2. 未选择项目名时实现全选(避免空值显示)
- 回到参数设置界面,勾选允许空白值和允许空值,并将参数默认值设为空白字符串(
"")或NULL。 - 方式一:调整SQL查询,加入空参数时返回全量数据的逻辑:
SELECT * FROM YourProjectTable WHERE (@ProjectNameSearch IS NULL OR @ProjectNameSearch = '' OR ProjectName LIKE '%' + @ProjectNameSearch + '%') - 方式二:用报表筛选器实现,修改表达式为:
=IIF(Parameters!ProjectNameSearch.Value = "" OR IsNothing(Parameters!ProjectNameSearch.Value), True, InStr(Fields!ProjectName.Value, Parameters!ProjectNameSearch.Value) > 0) - 这样用户未输入任何内容时,报表会自动加载所有项目数据,不会出现空值结果。
内容的提问来源于stack exchange,提问作者Liz
相关产品推荐
相关产品推荐

