报表类型
在 Reporting Services 中,可以通过各种方式使用报表。本主题介绍用于描述各种类型的报表以及报表的创建和使用方式的术语。单个报表可以具有来自多种类型的特征,例如,快照报表可以参数化,即席报表可以因其所基于的报表模型而结合点击链接型报表功能,子报表可以是链接报表。
使用 Reporting Services,可以创建以下类型的报表:
参数化报表
链接报表
快照报表
缓存报表
即席报表
点击链接型报表
明细报表
钻取报表
子报表
报表外观、处理和传递术语
有几种考虑报表类型的方法。您可以像考虑数据在报表中的显示方式一样来考虑它。在 Reporting Services 中,数据在报表中的外观取决于您所使用的数据区域的类型;例如,表格报表和图表报表使用不同的数据区域。有关如何显示数据的详细信息,请参阅数据区域和地图(Report Builder 3.0 和 SSRS)。同样,报表中可用的功能取决于输出格式;例如,诸如钻取报表等交互功能在基于 Web 的导出格式中可用,但是并非在所有基于图像的导出格式中都可用。报表的最终输出格式会影响可在报表中包括的功能。有关各种导出格式的设计注意事项的详细信息,请参阅导出报表(Report Builder 3.0 和 SSRS)。
还有一些与报表所在处理阶段相关联的术语。有关报表定义、发布的报表和呈现的报表之间的区别的详细信息,请参阅报表、报表部件和报表定义(Report Builder 3.0 和 SSRS)。最后,有关报表计划和按需报表的信息,请参阅计划报表、共享数据集和订阅。
参数化报表
参数化报表使用输入值来完成报表或数据的处理。利用参数化报表,您可以通过在报表运行时设置的值来更改报表的输出。参数化报表常用于钻取报表、链接报表和子报表,将报表与相关数据连接在一起并进行筛选。
使用参数
可在数据集查询中使用参数来选择报表数据,筛选查询返回的结果集,或设置用于显示或隐藏部分报表的布局属性。还可以指定级联参数,用于填充一系列相关的下拉参数列表。例如,“区域”参数值的下拉列表可以用来填充“市县”参数值的下拉列表。
通过将具体的参数与各链接报表对应,您可以将参数用于链接报表,从而更改结果。例如,可以创建一个显示所有区域销售情况的区域销售报表,然后使用一个与各链接报表有关的参数来筛选特定区域的数据。具体的参数值可以与报表存储在一起,从而免去用户键入这些值的麻烦。
在运行时,并非报表中的所有参数都是可见的。报表作者、报表服务器管理员或内容管理员可以指定使用哪些值,并可隐藏报表的输入字段。
查询参数和报表参数
Reporting Services 支持两种参数:查询参数和报表参数。在数据处理期间使用“查询参数”可以选择或筛选数据。查询参数是在数据处理扩展插件的语法中指定的。如果指定了查询参数,则必须由用户或默认属性提供相应的值,才能完成检索报表数据的 SELECT 语句或存储过程。在报表处理期间使用“报表参数”可以显示数据的另一种形式。报表参数通常用于筛选大型记录集,不过,根据报表中使用的查询和表达式的情况,也可以有其他用途。报表参数与查询参数的不同之处在于,报表参数是在报表中定义的并由报表服务器处理,而查询参数定义为数据集查询的一部分并且在数据库服务器上处理。有关详细信息,请参阅参数(Report Builder 3.0 和 SSRS)和设置已发布报表的参数属性。
链接报表
链接报表是提供对现有报表的访问点的报表服务器项。从概念上说,它与用于运行程序或打开文件的程序快捷方式类似。
链接报表是从现有报表派生的,保留原始报表的报表定义。链接报表始终会继承原始报表的报表布局和数据源属性。所有其他属性和设置都可以与原始报表不同,其中包括安全性、参数、位置、订阅和计划。
如果希望创建现有报表的其他版本,则可以在报表服务器上创建链接报表。例如,可以使用一个区域销售额报表来为所有销售区域创建区域特定的报表。
虽然链接报表通常基于参数化报表,但并不一定需要使用参数化报表。无论何时希望使用不同的设置部署现有报表,都可以创建链接报表。有关详细信息,请参阅添加、修改和删除链接报表。
快照报表
报表快照是包含在特定时间点所检索到的布局信息以及查询结果的报表。与按需运行报表(在选择该报表时可获得最新的查询结果)不同,报表快照按计划进行处理,再保存到报表服务器中。当您选择报表快照进行查看时,报表服务器将在报表服务器数据库中检索存储的报表,然后显示快照创建时报表的数据和布局。
报表快照不以特定的呈现格式进行保存。相反,将以用户或应用程序发出请求时的最终查看格式(如 HTML)来呈现报表快照。延迟呈现会使快照具有可移植性。报表可以采用适用于请求设备或 Web 浏览器的正确格式呈现。
报表快照有三种用途:
报表历史记录。通过创建一系列报表快照,您可以生成一个显示数据随时间变化情况的报表历史记录。
一致性。需要为必须使用相同数据集的多个用户提供一致结果时,可使用报表快照。使用可变数据的按需运行报表每分钟都会生成不同的结果。相反,报表快照则可用来针对包含同一时间点数据的其他报表或分析工具进行有效比较。
性能。通过计划在非高峰期运行大型报表,可以在业务峰值时段降低对报表服务器的处理影响。
有关创建报表快照的详细信息,请参阅设置报表处理属性。
缓存报表
缓存报表是已处理报表的保存副本。缓存报表用于通过减少对报表处理器的处理请求的数目并减少检索大型报表所需的时间来提高性能。这些报表有一个强制过期期限,通常以分钟为单位。有关如何使用缓存报表的详细信息,请参阅 Reporting Services 中的报表缓存功能。
点击链接型报表
点击链接型报表是指当单击基于模型的报表中包含的交互数据时,从报表模型显示相关数据的报表。这些报表由报表服务器基于报表模型中包含的信息生成。模型创建者确定哪些字段是交互式的,以及在打开点击链接型报表时返回哪些字段。这些字段的设置不能在报表创作工具中更改。
自动生成点击链接型报表。但是,可以改为对显示的交互数据项创建模型的备用自定义报表。自定义报表是标准 Reporting Services 报表。有关详细信息,请参阅使用点击链接型报表。
明细报表
明细报表最初隐藏复杂性,令用户可以切换按条件隐藏报表项,以控制其希望看到的数据量。明细报表必须检索可在报表中显示的所有可能数据。有关详细信息,请参阅通过添加明细隐藏和显示报表项(Report Builder 3.0 和 SSRS)。
对于具有大量数据的报表,请考虑改为使用钻取报表。
钻取报表
钻取报表是标准报表,可以在原始报表中通过文本框上的超链接进行访问。钻取报表用于处理主要报表,是对报表项(如占位符文本或图表)执行钻取操作的目标主报表会显示摘要信息,如在矩阵或图表中。矩阵或图表中定义的操作提供对报表的钻取链接,基于主报表中的聚合显示更多详细信息。钻取报表可以按参数筛选,但不一定非要这样做。钻取报表与子报表的不同之处在于该报表不会显示在原始报表中,但是可单独打开。钻取报表与点击链接型报表的不同之处在于它们不会从数据源自动生成,而是保存在报表服务器上的自定义报表。它们与明细报表的不同之处在于,它们可以仅为指定参数或为数据集查询检索报表数据。有关详细信息,请参阅钻取报表(Report Builder 3.0 和 SSRS)。
子报表
子报表是在主报表的表体中显示其他报表的报表。从概念上说,子报表类似于网页中的框架。子报表用于在报表中嵌入另一个报表。任何报表都可以用作子报表。子报表可以使用与主报表不同的数据源。子报表所显示的报表存储在报表服务器上,通常与父报表在同一文件夹中。您可以设置父报表,以便向子报表传递参数。
尽管可以使用参数筛选子报表每个实例的数据,以在数据区域内重复子报表,但子报表通常与主报表一起使用,作为摘要簿或作为相关报表集合的容器。有关详细信息,请参阅子报表(Report Builder 3.0 和 SSRS)。
对于具有多个子报表实例的报表,请考虑改为使用钻取报表。