如何在SSRS中设置区间值参数?附示例数据
在SSRS中实现区间值参数过滤
步骤1:创建区间参数
- 打开报表设计器,右键点击“参数”文件夹,选择“添加参数”。
- 参数名称设为
RecordRange(可自定义,后续查询需对应),数据类型选择“文本”。 - 切换到“可用值”选项卡:
- 选择“指定值”,点击“添加”:
- 标签填
1-2,值填1-2 - 标签填
3-4,值填3-4 - 标签填
5及以上,值填5+
- 标签填
- 也可以通过数据集动态获取可用值:创建新数据集,执行以下SQL语句,再将参数可用值绑定到该数据集,值字段选
RangeValue,标签字段选RangeLabel:SELECT '1-2' AS RangeValue, '1-2' AS RangeLabel UNION ALL SELECT '3-4' AS RangeValue, '3-4' AS RangeLabel UNION ALL SELECT '5+' AS RangeValue, '5及以上' AS RangeLabel
- 选择“指定值”,点击“添加”:
步骤2:修改主数据集查询
根据参数值过滤记录,以下提供两种常用写法:
写法1:使用CASE表达式匹配区间
SELECT [No. Records], [Student Name] FROM 你的数据源表名 WHERE CASE WHEN [No. Records] BETWEEN 1 AND 2 THEN '1-2' WHEN [No. Records] BETWEEN 3 AND 4 THEN '3-4' WHEN [No. Records] >= 5 THEN '5+' END = @RecordRange
写法2:使用多条件分支匹配
SELECT [No. Records], [Student Name] FROM 你的数据源表名 WHERE (@RecordRange = '1-2' AND [No. Records] BETWEEN 1 AND 2) OR (@RecordRange = '3-4' AND [No. Records] BETWEEN 3 AND 4) OR (@RecordRange = '5+' AND [No. Records] >= 5)
步骤3:验证报表效果
预览报表,选择对应的区间参数,即可看到符合条件的学生数据被筛选出来。
内容的提问来源于stack exchange,提问作者Dion
相关产品推荐
相关产品推荐

