教程:创建基本报表Reportingservers

教程:创建基本报表

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

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0215b1243,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 创建报表服务器项目

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

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

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

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

5. 名称中,键入 Tutorial

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl03f627dcf,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl03img,"; </script> 创建新的报表定义文件

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

注意:

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

2. 添加新项中,单击报表

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

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

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

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0453ab17c,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl04img,"; </script> 下一个任务

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

2 课:设置连接信息 

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0267e837f,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 设置连接

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 将添加到数据集窗格中。

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl07fdba0d6,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl07img,"; </script> 下一个任务

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

3 课:定义报表查询 

已更新: 2005 12 5

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl03c5928a3,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl03img,"; </script> 若要为报表数据定义 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 窗格的查询。请注意,用于启用通用查询设计器的切换按钮已选中。如果要改用图形查询设计器,则可单击此按钮。

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl052ee70b3,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl05img,"; </script> 下一个任务

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

4 课:添加表数据区域 

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0233edf0a,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 向报表布局中添加表数据区域和字段

1. 单击布局选项卡。

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

注意:

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

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

注意:

如果数据集窗口不可见,请单击视图菜单中的数据集

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

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

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

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

注意:

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

以下关系图显示已由下列字段填充的表数据区域:OrderDateSalesOrderNumber TotalDue

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl036717981,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl03img,"; </script> 下一个任务

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

5 课:预览基本报表 

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl02a50dff8,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 预览报表

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

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl03b3a18bf,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl03img,"; </script> 下一课

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

教程:向基本报表中添加分组、排序和格式设置 

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

1 课:打开教程项目 

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl03a98d16f,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl03img,"; </script> 打开现有报表项目

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

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

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

4. 单击 Tutorial.rptproj,再单击打开

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

注意:

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

2 课:添加组 

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl023c7b660,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 将组添加到表格报表

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

注意:

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

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

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

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

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

3 课:添加新建列 

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl02d2544a6,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 向报表的表数据区域添加列

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

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

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

复制代码

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

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

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0271218ce,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 对报告中的详细信息数据排序

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

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

注意:

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

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

4. 单击确定

5 课:添加小计 

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

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

复制代码

=Sum(Fields!TotalDue.Value)

6 课:应用格式和样式 

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0285d7fee,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 日期格式

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl03724ec56,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl03img,"; </script> 设置日期字段格式

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

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

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl04c10374d,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl04img,"; </script> 货币格式

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl058bd8684,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl05img,"; </script> 设置货币字段格式

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

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

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0646edde3,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl06img,"; </script> 文本样式和列宽

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

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl0750cb7ea,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl07img,"; </script> 设置表格表头格式

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

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

注意:

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

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

7 课:发布已更新的报表 

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

·             单击预览选项卡。

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl026c1fca4,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 发布报表

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。单击销售订单即可查看该报表。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值