SSRS 2012 参数化报表 -- 设置报表参数
2015-01-31 14:30
357 查看
SSRS 2012 参数化报表 -- 设置报表参数
其实企业里大多数报表都是重复的报表项目,有的是结构一样,但是数据内容不同,有的是时间范围不同(日报、周报、月报、季报、年报),解决这种多重分析角度的最有效方法就是导入多维度分析,不过,对很多企业来说,传统的固定报表还是使用者最习惯的展示平台,此时,可以用SSRS中的报表参数技术,让分析者自行输入要查询的条件,动态地生成对应的报表。但是,参数化报表并不能取代多维度分析(On-Line Analytical Processing,OLAP),因为参数化报表是每次输入查询条件以产生新的数据集,数据集是在查询时或是报表生成时才进行存取计算,而没有经过事前汇总,所以,在使用时还是需要注意查询的效率。如果数据量多大,建议先设计多维度分析Cube后再利用SSRS存取。
设置报表参数
参数化报表就是利用可变动的参数来取代固定的字段值,同时在界面中能够让使用者自行输入或是变更参数的内容。SSRS中使用两种不同类型的参数:“查询参数”以及“报表参数”。查询参数是定义在数据集层的变量(影响查询),用来影响SSRS内的数据集,因此查询参数会随着使用的数据提供者而会有不同。以SQL Server为例,数据库查询参数类似“@参数名称”,至于Oracle则会是“:参数名称”。报表参数是定义在报表层的标量(影响报表使用者界面),用以显示在前端界面供使用者选择,通常报表参数会自动对应至查询参数,但是,报表参数值的格式都是固定利用“Parameters!参数名称.Value”来作代表。
参数化报表实例
步骤1:
先打开“Report Data”窗口(可以从工具栏“View”、“Report Data”打开)。右击该报表所使用的数据集,选择“Query”,即可开启查询设计工具,请在查询设计工具上输入带有@YEAR参数查询条件的查询语句,单击“OK”按钮后,即会发现在报表数据窗口的“Parameters”下产生了一个名为“@YEAR”的新报表参数。
注意:参数名称是有区分大小写的。
步骤2:
刚才,我们在WHERE条件加入了查询参数的筛选条件,请注意数据来源为SQL Server时,在此输入查询参数的前面请加上@符号,才可以被识别为查询参数,不然会发生错误。保存此查询语句时,系统会自动产生一个同名的报表参数(除非这个名称的报表参数已经被人使用了)。
步骤3:
请在报表数据窗口的“Parameters”处右击,选择“Parameter Properties”。
步骤4:
在此将此参数的提示修改为“销售年度”,以及将数据类型切换为整数即可。当切换至报表预览画面时,会在报表上方看到一个文本框,当我们在文本框中输入“2010”并单击右侧“查看报表”时,此时,系统会将输入的报表参数“2010”带入数据集的查询参数所在的WHERE条件中,以产生2010年的销售数字结果。
但是,像参数化报表这种便利的功能就像潘多拉的盒子,一开启了就收不回来,使用者只会一直冒出更多的需求,当然,身为报表开发者也只能照单全收,尽量满足使用者天马行空的需求。
本文出自 “SQL Server Deep Dives” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1610264
相关文章推荐
- SSRS 2012 参数化报表 -- 级联式参数设置
- SSRS 2012 参数化报表 -- 下拉参数菜单
- SSRS 2012 参数化报表 -- 日期参数
- SSRS 2012 参数化报表 -- 复选参数
- SSRS 2012 参数化报表 -- 利用拼接字符串来取代查询参数
- SSRS中报表参数设置注意事项
- [AX]AX2012 SSRS报表参数的验证
- [AX]AX2012 对SSRS报表参数分组
- SSRS 2012 报表基本结构与设置
- SSRS 如何设置报表参数的日期为当前日期
- SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表
- 水晶报表设置子报表存储过程参数(JAVA)
- Crystal Report子报表与主报表公用参数设置
- java 代码设置birt报表参数
- SSRS:ASP.NET中引用报表远程认证之ReportServerCredentials属性的设置
- [AX]AX2012 SSRS报表使用Report Data Provider Class作为数据集
- 如何给报表参数设置动态默认值
- [AX]AX2012 SSRS报表使用AX Enum Provider
- [AX]AX2012 SSRS报表使用Report Data Method