报表设计基础知识

若要创建一个基本报表,必须指定要在报表中包括的数据、如何在报表页上组织报表以及希望用户如何查看报表。

基本报表的组成部分

报表具有页眉、表体和页脚。报表还具有一个包括了页眉和页脚的默认页面大小。可以在页眉和页脚中放置图像、文本框和线条等报表项。表体中包含报表数据。可以在表体中放置任何类型的报表项,包括表、矩阵、列表、图表和仪表。可将报表数据链接到设计图面上的报表项。处理报表时,报表数据项和布局项将结合在一起。查看报表时,会将结合在一起的数据和布局元素发送到报表呈现器。呈现器动态地确定每个页面上能够容纳的数据量。报表参数用于指定将在报表中使用的数据,将相关报表连接在一起以及更改报表显示。

在 Reporting Services 中,可以将报表项放置在报表的任何位置,而不是只能放置在“数据带”。您可以并列放置具有不同数据集的数据区域。某些报表项还可以包含其他报表项。有关详细信息,请参阅使用数据区域添加其他报表项

指定报表数据

报表使用以下类型的报表数据:带有字段集合的报表数据集(通过对数据源运行查询并以行和列的形式返回数据,此处的列名提供了默认的字段集合)、Reporting Services 提供的内置字段、报表中使用的图像以及报表参数。可在“报表数据”窗格中组织报表数据。报表数据通过报表表达式链接到报表布局元素。可以使用内置的库编写表达式,也可以使用各种 Visual Basic.NET Framework 类进行编写。有关详细信息,请参阅连接到报表数据使用报表表达式

如果数据集查询包括变量,会自动为数据集创建查询参数,并为报表自动创建对应的报表参数。用户运行报表时,可以键入或选择值以自定义他们感兴趣的报表数据。有关详细信息,请参阅使用参数控制报表数据

教程的示例数据使用 AdventureWorks OLTP 数据库中的数据。有关详细信息,请参阅 Reporting Services 示例

组织报表页中的报表数据

报表使用各种报表项来组织报表页上的数据。在工具箱中可以找到各报表项。将报表项拖至报表设计图面,然后将报表数据从“报表数据”窗格拖到设计图面中的报表项上。设计图面不是“所见即所得”的。在处理报表时,报表项的初始布局位置可能会发生更改。下面的列表说明了不同报表项的典型用法:

  • 文本框。用于标题、日期戳和报表名称。已经链接数据和布局项的文本框中会显示占位符文本。占位符文本是基础报表表达式的显示文本。处理报表时会将报表数据代入报表表达式并用计算出的值替代占位符文本。

  • 表、矩阵。用于显示报表数据集中的表格格式数据或交叉表数据。表和矩阵是 Tablix 数据区域的模板,为报表数据集中的数据提供了一个起始网格布局。

  • 图表。用于以图形方式显示报表数据集中的数据。您还可以在 Tablix 数据区域内嵌套图表。

  • 仪表。用于以可视图像的方式显示位于某个值范围之内的单个值。

  • 列表。用于创建与网页上的表单类似的自由格式布局。列表是 Tablix 数据区域的模板,为报表数据集中的数据提供了一个起始布局。

  • 图像。用于将现有图像添加到报表。

  • 子报表。用作另一个报表的占位符。要包括在父报表中的子报表必须单独进行设计并发布到报表服务器。

  • 直线、矩形。使用直线和矩形作为图形元素。还可以将矩形用作其他报表项的容器。使用矩形有助于控制呈现报表时类似数据区域这样的报表项在报表页中的显示方式。

典型的报表使用 Tablix 数据区域。将字段从“报表数据”窗格中拖放到数据区域的 Tablix 单元格中,或者拖放到“分组”窗格中以定义所选数据区域的组。

预览或导出报表

使用**“预览”运行报表时,报表创作客户端在本地处理报表并以 HTML 格式显示所呈现的报表。Reporting Services 扩展插件负责执行其中的大部分工作:使用数据处理扩展插件基于数据源的类型检索数据,使用呈现扩展插件基于所选格式提供报表输出。若要以其他呈现格式查看报表,请使用工具栏上的“导出”**按钮。处理数据和呈现报表的方式因扩展插件而异。有关详细信息,请参阅了解呈现行为

如果要将报表发布(或者说“部署”)到报表服务器,必须接受或更改默认的部署属性。报表服务器负责处理和呈现报表。然后,可以使用报表管理器浏览到报表服务器上的报表位置来查看报表,例如,https://localhost/reports/reportname。

分页

报表中的分页由报表页大小以及报表项上的分页符确定。支持页大小的呈现扩展插件(如图像和 PDF)可设置报表中数据的格式,以使每页正好容纳合适的数据。不支持页大小的呈现扩展插件将报表中以分页符分隔的所有数据呈现在一页上。不支持页大小的一些扩展插件可能使用软分页符。HTML 呈现扩展插件就是如此。软分页符的位置由页大小确定,但是与支持页大小的呈现扩展插件所放置的分页符位置不完全相同。支持报表项分页符的所有呈现扩展插件均在报表中的每个分页符后另起一页。有关在报表设计器中使用页大小和分页符的详细信息,请参阅了解 Reporting Services 中的分页方式

改进报表设计

通常,在设计报表时需要在“设计”和“预览”选项卡之间来回切换,然后再运行报表以查看在报表查看器中的呈现结果。为了改善报表的显示效果或性能表现,您通常可以在以下方面对报表进行更改: