Reporting Services 钻取报表、子报表
一、钻取报表
1、概念
钻取报表是指用户通过单击其他报表中的链接打开的报表。钻取报表通常包含某原始汇总报表中所包含的某项的详细信息。
例如,在此图中,销售额汇总报表列出了销售订单和总额。当用户单击该汇总列表中的某个订单编号后,便会打开另一个包含此订单详细信息的报表。

在用户单击主报表中用于打开钻取报表的链接之前,不会检索钻取报表中的数据。如果必须同时检索主报表和钻取报表的数据,请考虑使用子报表。
2、添加钻取操作
① 在“设计”视图中,右键单击要添加链接的文本框、图像或图表,然后单击“属性”。
② 在项的“属性”对话框中,单击“操作”。
③ 选择“转到报表”。其他部分将显示在此选项的对话框中。
④ 在“指定报表”中,单击“浏览”以查找要跳转到的报表,或键入报表的名称。也可以单击表达式 (fx) 按钮为该报表名创建表达式。
对于本机模式和 SharePoint 集成模式,钻取报表的路径格式有所不同。如果浏览到报表,则将提供正确格式的路径。有关详细信息,请参阅指定外部项的路径(Report Builder 3.0 和 SSRS)。
如果必须为钻取报表指定参数,请执行下一个步骤。
⑤ 在“使用这些参数运行报表”中,单击“添加”。将向参数网格添加一个新行。

-->在“名称”文本框中,单击下拉列表或键入钻取报表中的报表参数的名称。
注意
参数列表中的名称必须与目标报表中的期望参数完全匹配。例如,参数名称必须大小写格式匹配。如果名称不匹配,或者并未列出某个预期的参数,则钻取报表将出错。
-->在“值”中,键入或选择要传递给钻取报表中的参数的值。
注意
值可以包含其计算结果将传递到报表参数的表达式。值列表中的表达式包括当前报表的字段列表。
⑥ (可选)对于文本框,通过更改功能区的“主文件夹”选项卡上的文本颜色和效果有助于向用户指示该文本是一个链接。
⑦ 若要测试该链接,请运行报表,然后单击对其设置此链接的报表项。
二、子报表
1、概念
子报表是在主报表的表体中显示其他报表的报表项。从概念上说,报表中的子报表类似于网页中的框架。子报表用于在报表中嵌入另一个报表。任何报表都可以用作子报表。显示为子报表的报表存储在报表服务器上,通常与父报表在同一文件夹中。您可以设计父报表,以便向子报表传递参数。可以在数据区域中重复子报表,使用参数在子报表的每个实例中筛选数据。
2、添加子报表
① 在“插入”选项卡上,单击“子报表”。
② 在设计图面上,单击报表上的某个位置,然后拖动一个框调整到所需子报表大小。也可以单击设计图面来创建默认大小的子报表。
③ 右键单击子报表,然后单击“子报表属性”。
④ 在“子报表属性”对话框的“名称”文本框中键入名称,或接受默认值。该名称在报表中必须是唯一的。默认情况下,会分配一个常规名称,例如 Subreport1 或 Subreport2。
⑤ 在“将此报表用作子报表”框中,单击“浏览”,或者键入报表的名称。应当优先单击“浏览”,因为将自动指定子报表的路径。可以通过多种方式指定报表。有关详细信息,请参阅指定外部项的路径(Report Builder 3.0 和 SSRS)。
⑥ (可选)为“去掉分页符上的边框”单击“是”,使得在子报表跨多个页时不在子报表中间呈现边框。
⑦ 单击“确定”。
3、添加参数(指定传递给子报表的参数)
① 在“设计”视图中,右键单击子报表,然后单击“子报表属性”。
② 在“子报表属性”对话框中,单击“参数”。
③ 单击“添加”。将向参数网格添加一个新行。
④ 在“名称”文本框中,键入子报表中参数的名称或者从列表框中选择该名称。该名称必须与子报表中的报表参数的名称(而不是查询参数的名称)相匹配。
⑤ 在“值”列表框中,键入或选择要传递给子报表的值。此值可以是静态文本、引用字段的表达式或主报表中的其他对象。
注意
在报表生成器中,如果“参数”列表中缺少某参数并且子报表具有定义的默认值,将会正确处理子报表。
在报表设计器中,子报表所需的所有参数都必须包括在“参数”列表中。如果缺少必需的参数,子报表将不会在主报表中正确显示。
⑥ 重复步骤 3-5 指定每个子报表参数的名称和值。
⑦ 若要删除子报表参数,请单击参数网格中的相应参数,然后单击“删除”。
⑧ 若要更改子报表参数的顺序,请单击相应参数,再单击上移按钮或下移按钮。
⑨ 更改子报表参数的顺序不会影响子报表的处理。
Reporting Services 钻取报表、子报表的更多相关文章
- Reporting Services 配置工具
使用 Reporting Services 配置管理器可配置 Reporting Services 安装.如果使用“仅文件”选项安装报表服务器,则必须使用此工具来配置服务器,才能使用该服务器.如果使用 ...
- 【Reporting Services 报表开发】— 交互式报表
我们知道,界面是人与系统间的对话方式,当使用者面对的是冷冰冰的界面,不但会造成使用者对于系统的热情减低,也会因为不便而产生诸多抱怨.尤其像报表时企业内几乎每日都会使用到的工具,因此,如何让使用者可以再 ...
- 【Reporting Services 报表开发】— 数据表的使用
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH3 二.在报表文件 ...
- 【Reporting Services 报表开发】— 矩阵的使用
矩阵,相较于数据表示一维的数据,只能指定固定的数据列,来呈现动态的明细数据行,所以,它可以说是种二维的数据展现形式,让我们能够很容易地从数据行和数据集的交替中查看对应的汇总信息.像SQL Server ...
- 【HOW】如何限制Reporting Services报表导出功能中格式选项
Reporting Services报表导出功能中缺省会提供多种导出格式选项,但很多情况下不需要全部的格式选项,因此需要对这些选项进行限制.下面我们以SQL Server 2008 R2为例来说明对这 ...
- 【HOW】如何通过URL给Reporting Services报表传递参数
[本地模式Reporting Services] 参见官方文档:http://msdn.microsoft.com/en-us/library/ms154042.aspx 示例:http://serv ...
- 实现SQL Server 2008 Reporting Services匿名访问报表有两种方法
一.通过修改SQL Server 2008的配置文件,去掉Windows的验证. 1.首先我们找到SQL安装目录下的两个Web.config配置文件,默认安装目录分别是(C:\Program File ...
- 代码导出Reporting Services报表文件
背景部分 使用Reporting Services很容易制作和发布我们需要的报表,报表效果也还不错 不过如果报表数据过大或报表数量过多,打开及查看报表感觉可能就是另外一回事了 好在Reporting ...
- 【Reporting Services 报表开发】— 页码编列
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH4 二.在报表文件 ...
随机推荐
- mysql_convert_table_format 批量修改表引擎
[root@server-mysql bin]# mysql_convert_table_format --help Conversion of a MySQL tables to other sto ...
- bitset使用
17.10使用序列1.2.3.5.8.13.21初始化一个bitset,将这些位置置位.对另一个bitset进行默认初始化,并编写一小段程序将其恰当的位置位. #include<iostream ...
- Java Interview Reference Guide--reference
Part 1 http://techmytalk.com/2014/01/24/java-interview-reference-guide-part-1/ Posted on January 24, ...
- Servlet中文乱码解决方法
程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件. 字节流和字符流的区别: 在Java.io包中操作文件内容的主要有两大类:字节流.字符流,两类都分为输入和输出操作. 在字节流中输 ...
- Spring AOP体系学习总结:
二.Spring AOP体系学习总结: 要理解AOP整体的逻辑需要理解一下Advice,Pointcut,Advisor的概念以及他们的关系. Advice是为Spring Bean提供增强逻辑的接口 ...
- CSS常见问题及兼容性
CSS常见问题 1 (IE6,7)H5标签兼容 解决方法1:(只显示核心代码) 1<script> ; ; ; ;;;};;;;;;;; ...
- 学习java随笔第六篇:数组
一维数组 创建一维数组并输出 public class OneDimensionalArray { public static void main(String argas[]) { int i[]= ...
- Javascript基础学习(3)_对象和数组
一.对象是一种无序的属性集合,每个属性都有自己的名字和值. 1.创建对象 花括号内逗号分隔 var person = { "Name" : "LiCheng", ...
- iOS开发进阶-实现多线程的3种方法
相关文章链接: 1.多线程简介 2.实现多线程的3种方法 ......待续 前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验.我们务必要把耗时的操作放到别的线程中去执行,千万不要 ...
- JavaScript中Ajax的get和post请求
AJAX = 异步 JavaScript和XML(Asynchronous JavaScript and XML) 作用:在不重新加载整个网页的情况下,对网页的某部分进行更新. 两种请求方式: 1 ...