代码改变世界

教程:创建基本报表Reportingservers

2009-11-06 08:27  观海看云  阅读(386)  评论(0编辑  收藏  举报

第 1 课:创建报表服务器项目 

若要在 SQL Server 中创建报表,必须先创建报表服务器项目以用于保存报表定义 (.rdl) 文件和报表所需的其他任何资源文件。然后,您将创建实际的报表定义文件、定义报表的数据源、定义数据集并定义报表布局。运行报表时,将检索实际数据并将其与布局相结合,然后呈现在屏幕上,以便执行导出、打印或保存操作。

在本课中,您将了解如何在 Business Intelligence Development Studio 中创建报表服务器项目。报表服务器项目用于创建在报表服务器中运行的报表。

创建报表服务器项目

1. 单击“开始”,依次指向“程序”和 Microsoft SQL Server 2005,再单击 Business Intelligence Development Studio。

2. 在“文件”菜单上,指向“新建”,再单击“项目”。

3. 在“项目类型”列表中,单击“商业智能项目”。

4. 在“模板”列表中,单击“报表服务器项目”。

5. 在“名称”中,键入 Tutorial。

6. 单击“确定”以创建项目。

解决方案资源管理器中将显示 Tutorial 项目。

创建新的报表定义文件

1. 在解决方案资源管理器中,右键单击“报表”,指向“添加”,再单击“新建项”。

注意:
 
如果解决方案资源管理器窗口不可见,请单击“视图”菜单中的“解决方案资源管理器”。
 

2. 在“添加新项”中,单击“报表”。

下面的关系图显示了“添加新项”对话框,该对话框用于向项目中添加报表和其他项。


3. 在“名称”中,键入 Sales Orders.rdl,再单击“添加”。

此时报表设计器将打开,并在“数据”视图中显示新的 .rdl 文件。

报表设计器是运行在 Business Intelligence Development Studio 中的 Reporting Services 组件。它包含三个视图:“数据”、“布局”和“预览”。单击各个选项卡可更改视图。

在“数据”视图中定义数据。在“布局”视图中定义报表布局。可以在“预览”视图中运行报表并查看其外观。

下一个任务

您已经成功创建了 Tutorial 报表项目,并向该报表项目添加了报表定义 (.rdl) 文件。接下来,您将指定要用于报表的数据源。 See 第 2 课:设置连接信息.

第 2 课:设置连接信息 

将报表添加到教程项目后,您需要定义一个可向报表提供数据的数据源。在 Reporting Service 中,您在报表中使用的数据包含在“数据集”中。数据集包括一个指向数据源的指针和将由报表使用的查询。

在本教程中,将使用 AdventureWorks 示例数据库作为数据源。本教程假定此数据库位于本地计算机上安装的 SQL Server 数据库引擎的默认实例中。

设置连接

1. 在“数据”选项卡中,展开页面顶部“数据集”下拉列表的内容,并选择“新建数据集”。此时,将显示“数据源”对话框。

2. 在“名称”中,键入 AdventureWorks。

3. 在“类型”中,选择 Microsoft SQL Server。

4. 在“连接字符串”中,键入以下内容:

复制代码

Data source=(local); initial catalog=AdventureWorks

该连接字符串假定 Business Intelligence Development Studio、报表服务器和 AdventureWorks 数据库都已安装在本地计算机中,并且您拥有登录 AdventureWorks 数据库的权限。

如果使用的是具有高级服务或命名实例的 SQL Server 2005 Express Edition,则连接字符串必须包括实例信息:

复制代码

Data source=localhost\SQLEXPRESS; initial catalog=AdventureWorks

有关连接字符串的详细信息,请参阅连接数据源和数据源(“常规”选项卡,报表设计器)。

5. 单击“确定”。AdventureWorks 将添加到“数据集”窗格中。

下面的关系图阐释了“数据源”对话框,这是一个用于指定到数据源的连接的对话框。


下一个任务

您已成功定义了到 AdventureWorks 示例数据库的连接。下一步,将创建报表。请参阅第 3 课:定义报表查询。

第 3 课:定义报表查询 

已更新: 2005 年 12 月 5 日

定义了数据源之后,报表设计器将创建一个数据集,并显示可用于设计查询的通用查询设计器。在本教程中,您将创建一个查询,用于从数据库中检索销售订单信息。

通用查询设计器是默认的查询设计工具,因为它能处理复杂的 Transact-SQL 语句,并且直到运行报表时才对语句进行格式设置或验证。但是,如果您比较熟悉图形查询设计器,则可使用此工具代替通用查询设计器。查询设计器工具栏上的切换按钮可用来在工具之间进行切换。有关查询设计器的详细信息,请参阅 Reporting Services 中的查询设计工具。

若要为报表数据定义 Transact-SQL 查询,请执行以下操作:

1. 将以下查询键入(或复制并粘贴)到通用查询设计器的 SQL 窗格中,SQL 窗格是设计工具中最上层的窗格。上述步骤下面所列的关系图显示了应该指定查询的位置。

复制代码

SELECT S.OrderDate, S.SalesOrderNumber, S.TotalDue, C.FirstName, C.LastName FROM HumanResources.Employee E INNER JOIN Person.Contact C ON E.ContactID = C.ContactID INNER JOIN Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID

2. 若要查看查询的结果,请单击查询设计器工具栏上的“运行”(!) 按钮。

以下关系图显示了通用查询设计器,其中包含已复制到 SQL 窗格的查询。请注意,用于启用通用查询设计器的切换按钮已选中。如果要改用图形查询设计器,则可单击此按钮。


下一个任务

您已成功指定了一个用于检索报表数据的查询。接下来将创建报表布局。请参阅第 4 课:添加表数据区域。

第 4 课:添加表数据区域 

定义查询后,您可以开始定义报表布局。报表布局包括表、文本框、图像和要在报表中包括的其他项。在 Reporting Service 中,包含基础数据集中重复数据行的项是数据区域。可通过将数据区域和其他报表项拖放到“布局”选项卡的设计图面上来创建报表布局。一旦添加了数据区域,即可选择要添加到每个数据区域的字段。

向报表布局中添加表数据区域和字段

1. 单击“布局”选项卡。

2. 在“工具箱”中,单击“表”,再单击设计图面。报表设计器将在设计图面的宽度内绘制一个具有三列的表。

注意:
 
此时,“工具箱”可能显示为设计区域左侧的一个选项卡。若要打开“工具箱”,请将指针移到“工具箱”选项卡上。如果“工具箱”不可见,请单击“视图”菜单中的“工具箱”。
 

3. 在“数据库”窗口中,展开报表数据集以显示字段。

注意:
 
如果“数据集”窗口不可见,请单击“视图”菜单中的“数据集”。
 

4. 将 OrderDate 字段从“数据集”窗口拖到此表第一列的中间行(详细信息行)中。

当将字段拖到中间单元时,会发生两件事。首先,详细信息单元将包含下面的文本:"=Fields!OrderDate.Value"。该文本是为 OrderDate 字段指定数据值的字段表达式。添加到详细信息行的字段始终被指定为表达式。其次,列标题值自动放置在紧邻字段表达式上面的第一行。默认情况下,该列是字段的名称。

5. 将 SalesOrderNumber 字段从“数据集”窗口拖到此表第二列的中间行(详细信息行)中。

6. 将 TotalDue 字段从“数据集”窗口拖到此表第三列的中间行(详细信息行)中。

注意:
 
您在本教程的查询中不会使用所有字段,某些字段将在后续的教程中使用。
 

以下关系图显示已由下列字段填充的表数据区域:OrderDate、SalesOrderNumber 和 TotalDue。


下一个任务

您已成功定义了报表布局。下一步,您将预览报表以查看它的外观。请参阅第 5 课:预览基本报表。

第 5 课:预览基本报表 

在本教程的这一部分,您可以预览表的内容。通过预览报表,您可以不必执行将报表发布到报表服务器的其他步骤,而轻松查看报表的外观。

预览报表

1. 保存报表项目。在“文件”菜单中,单击“全部保存”。

2. 单击“预览”选项卡。报表设计器将运行此报表,并将其显示在预览视图中。

下图在“预览”窗口中显示此报表。


下一课

此步骤将结束本教程“创建基本报表”。若要向该报表添加更多功能,请在另一个教程:教程:向基本报表中添加分组、排序和格式设置中对该报表继续执行操作。

教程:向基本报表中添加分组、排序和格式设置 
本教程旨在帮助您利用报表设计过程中的其他功能(基于在上一个教程中创建的基本表报表)。在本教程中,您将执行以下操作:打开报表项目,向表添加分组和排序,向表添加新列,添加小计,提供一些格式设置,预览报表以及将报表发布到报表服务器。

第 1 课:打开教程项目 

本教程以在上一个教程中创建的“销售订单”报表为基础。如果您已经打开此报表,请跳过以下步骤:有关上一个教程的详细信息,请参阅教程:创建基本报表。

打开现有报表项目

1. 单击“开始”,依次指向“程序”、Microsoft SQL Server 2005,再单击 Business Intelligence Development Studio。

2. 在“文件”菜单中,指向“打开”,再单击“项目/解决方案”。

3. 导航到在上一个教程中创建的项目文件的位置。该项目应该位于“教程”文件夹中。

4. 单击 Tutorial.rptproj,再单击“打开”。

5. 在解决方案资源管理器窗口中,双击 Sales Orders.rdl 可打开此报表。如有必要,单击“布局”选项卡,以在“布局”视图中打开此报表。

注意:
 
如果“解决方案资源管理器”窗口不可见,请单击“视图”菜单中的“解决方案资源管理器”。
 


第 2 课:添加组 

您可以将组添加到按销售人员对数据进行分组和排序的表。通过添加组,可以将销售信息组织到数据的逻辑单元中,以便显示每个销售人员的销售数据。可以将组添加到表、矩阵以及列表中。

将组添加到表格报表

1. 在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。有关表的各部分的详细信息,请参阅使用表数据区域。

注意:
 
句柄是显示在表的上方和旁边的灰框。您可以使用句柄对列、行和表本身执行各种操作。穿过表顶部上下拉伸的句柄是列句柄。沿着表一侧拉伸的句柄是行句柄。列句柄和行句柄的交汇处是角部句柄。
 

2. 右键单击任一行的句柄,再单击“插入组”。

3. 在“常规”选项卡上,对于“分组方式”,选择第一行的 =Fields!LastName.Value 和第二行的 =Fields!FirstName.Value”。此操作将按销售人员的姓名对数据进行分组。


4. 在“排序”选项卡上,对于“排序方式”,选择第一行的 =Fields!LastName.Value 和第二行的 =Fields!FirstName.Value”,其中每一个选项都按“升序”排序。此操作将按销售人员的姓名对分组进行排序。


5. 单击“确定”。组头和组尾这两个新行将添加到此表中。

第 3 课:添加新建列 

您可以在表中添加一列,以显示销售人员的姓名。

向报表的表数据区域添加列

1. 单击表,以便在此表的上方和旁边显示列句柄和行句柄。

2. 在第一列 (Order Date) 上,右键单击句柄,再单击“在左侧插入列”。

3. 单击新列中的第二个单元,然后键入以下表达式。第二个单元应该位于在前面的步骤中添加的新组的行中:

复制代码

=Fields!FirstName.Value & " " & Fields!LastName.Value

4. 单击第一列中的第一个单元,然后键入 Sales Person。这是表格表头中列的标签。


第 4 课:对详细信息数据排序 

可以对表中的详细信息数据排序,从而对每个组中的数据排序。排序顺序用于按订单日期列出各个销售人员的各项销售数据。

对报告中的详细信息数据排序

1. 在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。

2. 右键单击角部句柄,再单击“属性”按钮。

注意:
 
角部句柄是指列句柄和行句柄交汇处的句柄。
 

3. 在“排序”选项卡的“排序方式”中,选择 =Fields!OrderDate.Value。此时将按订单日期对详细信息数据排序。

4. 单击“确定”。


第 5 课:添加小计 

您可以向报表添加聚合函数。以下步骤将添加按销售人员统计的小计。

·             单击最后一列(应付款总计)中的第四个单元格,然后键入以下表达式:

复制代码

=Sum(Fields!TotalDue.Value)


第 6 课:应用格式和样式 

您可以执行其他任务来整理报表,使其更便于阅读。

日期格式

默认情况下,OrderDate 字段显示日期和时间信息。您可以添加格式设置,以便只显示日期。

设置日期字段格式

1. 右键单击带 OrderDate 字段表达式的单元格,再单击“属性”。“文本框属性”对话框随即显示。

2. 打开“格式”选项卡,单击浏览按钮(以省略号按钮标签表示),以便打开“选择格式”对话框。

3. 对于“格式”,请依次选择“标准”、“日期”,然后选择列表中的第三个示例(短日期)。

4. 单击“确定”,关闭“选择格式”对话框,然后再次单击“确定”,关闭“文本框属性”对话框。


货币格式

TotalDue 字段显示常规数字。添加格式设置以便用货币格式显示数字。

设置货币字段格式

1. 右键单击带 TotalDue 字段表达式的单元格,然后单击“属性”。

2. 打开“格式”选项卡,单击浏览按钮(以省略号按钮标签表示),以便打开“选择格式”对话框。

3. 对于“格式”,请依次选择“标准”、“货币”,单击“确定”,然后再次单击“确定”,关闭“文本框属性”对话框。


文本样式和列宽

您还可以向表格表头添加样式,以将它们与报表中的数据行区分开来,并调整列的宽度。

设置表格表头格式

1. 单击表,以便在此表的上方和旁边显示列句柄和行句柄。

2. 选择第一行、第二行和第四行(包含列标题标签的行、组头行和组尾行)的行句柄,然后在格式设置工具栏上,单击“粗体”(“B”) 按钮。

注意:
 
若要选择多个项,请按住 Ctrl 键,同时单击各个项。
 

3. 指向列句柄之间的行,使游标变为双箭头。拖动列,调整到所需大小。


第 7 课:发布已更新的报表 

使用“预览”可在报表发布到报表服务器之前对其进行检查。预览报表之后,您可以在“布局”视图中进一步修改或者将其发布到报表服务器。在发布报表之前,您必须切换到“生产”配置并设置报表服务器的位置。

·             单击“预览”选项卡。


发布报表

1. 在解决方案资源管理器窗口中,右键单击“教程”项目,再单击“属性”。

注意:
 
如果“解决方案资源管理器”窗口不可见,请在“视图”菜单上,单击“解决方案资源管理器”。
 

2. 单击配置管理器。

3. 在配置管理器对话框的“活动的解决方案配置”中,选择“生产”。

4. 单击“关闭”。

下图显示了“配置管理器”对话框。单击“关闭”后,您将返回到项目“属性页”对话框。


5. 在“教程属性页”对话框的 TargetServerURL 中,键入报表服务器的虚拟目录;例如 http://servername/reportserver。(这是报表服务器的虚拟目录,而不是报表管理器的虚拟目录。)

注意:
 
如果报表服务器与报表设计器在同一计算机上,您可以使用 localhost 作为服务器名,例如 http://localhost/reportserver 或 http://localhost/reportserver$SQLEXPRESS。有关报表服务器名称的详细信息,请参阅配置报表服务器虚拟目录。
 

6. 如果“调试”属性节点尚未打开,请将其展开以显示 StartItem 属性。单击 StartItem 旁边的文本框,并从下拉列表中选择报表 SalesOrder.rdl。

7. 单击“确定”。

8. 保存报表项目。在“文件”菜单上,单击“全部保存”。

9. 发布报表。在“调试”菜单上,单击“开始执行(不调试)”。

10. 发布完成后,报表设计器将打开 Internet Explorer。单击“销售订单”即可查看该报表。