SSRS Tablix多值In/Not In过滤问题:匹配perf_code第三位字符
SSRS Tablix 过滤配置方案
一、筛选perf_code第三位为G或V的Tablix配置
两种可靠实现方式:
方式1:使用「In」运算符
- 打开目标Tablix的筛选器设置面板
- 表达式栏输入:
=Mid(Fields!perf_code.Value, 3, 1) - 运算符选择「In」
- 在值列表中依次添加两个值:
"G"、"V"(需用英文双引号,确保值为字符串类型)
方式2:使用逻辑判断表达式
- 表达式栏输入:
=IIF(Mid(Fields!perf_code.Value, 3, 1) = "G" OR Mid(Fields!perf_code.Value, 3, 1) = "V", True, False) - 运算符选择「=」
- 值栏输入:
True
二、实现Not In(排除)逻辑的Tablix配置
通用表达式实现(适配所有SSRS版本)
- 打开目标Tablix的筛选器设置面板
- 表达式栏输入:
=NOT(Mid(Fields!perf_code.Value, 3, 1) IN ("G", "V")) - 运算符选择「=」
- 值栏输入:
True
新版SSRS可视化操作(若支持「Not In」运算符)
- 表达式栏输入:
=Mid(Fields!perf_code.Value, 3, 1) - 运算符选择「Not In」
- 值列表添加
"G"、"V"
注意事项
- 确保
perf_code字段值长度至少为3位,避免Mid函数返回空值导致筛选异常 - 所有字符串值必须使用英文双引号,中文引号会触发语法错误
- 若筛选仍不生效,检查Tablix与数据集的关联是否正确,或数据集本身是否包含符合条件的行
内容的提问来源于stack exchange,提问作者YelizavetaYR
相关产品推荐
相关产品推荐

