在SQL Server 2008中制作报表

数据库 SQL Server
在许多公司里,制作报表是个重要的工作。企业中的主管、业务分析师、经理、和不断增长的信息工作人员依赖于易理解的报表中获得的及时和准确的信息来有效的进行他们的工作。SQL Server 2008报表服务包含全面的报表制作工具,以及一些创新的报表格式,可以轻松的创建提供信息的报表,并采用对于你的公司来说最有效的格式,提供给雇员所需要的信息。

在许多公司里,制作报表是个重要的工作。企业中的主管、业务分析师、经理、和不断增长的信息工作人员依赖于易理解的报表中获得的及时和准确的信息来有效的进行他们的工作。SQL Server 2008报表服务包含全面的报表制作工具,以及一些创新的报表格式,可以轻松的创建提供信息的报表,并采用对于你的公司来说最有效的格式,提供给雇员所需要的信息。

使用报表开发工具

在大多数公司里,有两组截然不同的人创建报表;习惯于工作在全面的开发环境中的熟练的商业智能解决方案开发人员,和不熟悉数据库架构设计、并需要通过直观的报表设计环境的商业用户,这种直观的报表设计环境需要将底层复杂的技术进行抽象。
SQL Server 2008满足了这两种需要,它提供了为满足这两种用户的需求而特别设计的直接的报表开发工具。这使得开发人员可以创建用于整个企业的复杂的报表解决方案,同时使得商业用户可以很容易的专注于与他们的业务领域相关的专门的数据。

报表设计器

报表设计器为开发人员和高级报表制作人员提供了一个非常灵活和高效的报表制作环境,如图1所示。报表设计器是SQL Server商业智能开发套件的一个组件,SQL Server商业智能开发套件是一个基于Microsoft Visual Studio的通用开发界面的商业智能开发环境。这个设计界面使得开发人员可以很容易的为一个报表定义从多个数据源而来的数据集、设计报表的布局,然后在将它部署到报表服务器上之前直接在设计环境中预览报表。开发人员使用报表向导可以快速并容易地创建报表,他们也可以通过使用报表设计器中的可视化的设计环境建立更广泛的报表。内置的查询设计器简化了报表所使用的数据集的提取工作,并且可以直接拖拉的设计界面使得可以很容易的布置报表元素用于显示。当一个开发人员完成了一个报表,他们可以预览这个报表,然后将其直接从报表设计器部署到报表服务器上。

图1

图1:报表设计器

报表生成器

让开发人员可以开发强大的、可以部署给上千名用户的报表是非常有价值的,并且为全公司带来了一致的、专业设计的报表。然而,有时个别商业用户需要能够修改报表或甚至是创建他们自己的有特殊要求的报表。报表生成器是一个易于使用,专注于业务的报表查询工具,它通过报表模型抽象了后台的业务数据,报表模型反映了业务实体例如客户、产品、销售,等等。报表生成器如图2所示。通过创建一个模型反映这个面向业务的数据视图,报表生成器使得商业用户可以创建强大的报表而不需要了解后台数据库结构或查询语句的全面知识。
图
图2:报表生成器

#p#

访问用于创建报表的数据源

大多数公司将数据分布在多个应用程序和数据库中。为了对业绩的进行充分理解,用户需要一个可以从公司的多个异构的数据源提取数据的报表解决方案。例如,公司里的销售主管可能需要一个结合了从会计部门的Oracle数据库提取的数据和从基于Microsoft SQL Server的CRM 应用获得的客户数据的报表。SQL Server 2008报表服务支持访问用于报表创建的多个数据源,包括SQL Server关系数据库、SQL Server分析服务、Oracle、DB2和 Hyperion Essbase;而且报表制作可以将从多个数据源获得的数据结合到一个单独的报表中。此外,有了SQL Server 2008报表服务,报表制作人员可以从SQL Server关系数据库、SQL Server分析服务多维数据集和Oracle数据库生成要和报表生成器一起使用的报表模型。

创建引人注目的报表

商业用户要求能够灵活地查看和显示不同类型、不同格式的数据。报表服务满足了这一需求,它提供了一组强大的引人注目的报表制作特性,包括多个显示和参数选项、交互能力、丰富的文本格式、和许多绘制图表的功能。
查看和与报表交互时,用户有不同的需求和期望,而且一个报表格式对某种类型的数据可能很适用,但可能不适合于其它类型的数据。SQL Server 报表服务支持一些显示选项,使你创建的报表采取最适合用户需要的显示形式。
SQL Server 报表服务使用数据显示类型来定义报表中的数据的显示。你可以使用下面的数据显示类型来显示数据:

列表。一个随意形式的数据显示。

图表。图形格式,它以图表的形式显示数据。

表。表格格式,在这种格式下,数据按行和列显示。你可以创建具有层次结构的一些行来反映你所有的数据分组和显示分组。

矩阵。这是一个支持行和列分组的格式,它可以在行和列的交叉单元格里显示合计的总数据,类似于枢轴表或交叉表。

Tablix. 一个混合了表和矩阵的格式,随着SQL Server 2008报表服务的发布而推出。

Tablix

如上面所提到的,SQL Server 2008推出了一个新的数据显示类型,叫做Tablix 。正如名字所显示的,Tablix 是表和矩阵数据类型的最佳功能的结合。Tablix 使你可以创建一个灵活的具有多个行和列的分组布局的报表,可以很容易的建立通用的报表显示,而对于使用目前的市场中可用的报表制作工具来说,这些新功能是很难或不可能完成的。有了Tablix ,你可以建立的报表包括以下内容:

固定的和动态的行和列在一个表里,一个报表可以有动态的行,在这些行里可以有重复和内嵌的组,但是列是固定的。在一个矩阵里,一个报表可以有动态的行和列,但是不能包含固定的行和列。有了Tablix ,这些限制就没有了,报表既可以包含动态的行和列,也可以包含固定的行和列。

在行和列上都可以进行随机嵌套在之前的报表服务的版本中,当用户使用表的时候,只可以对行进行随机嵌套。随着Tablix的推出,随机嵌套在行和列上都可以使用了。

可选择省略行和列的头因为Tablix 提供了表和矩阵的所有有用的功能,报表制作者可以省略行和列的头。这个技术在先前只能用在矩阵里,但有了Tablix ,它也可以用在表上了。

在每一级上有多个并行的行和列在同一个报表里应用多个并行的行和列的能力是一个新的独特的设计特性,它可以显著的改善报表中信息的显示方式。例如,当设计一个销售报表时,报表制作者可以选择让一个显示年的列具有一个动态的层次关系,它之后有一个动态的产品列,如下面的插图所示。注意这两个层级关系虽然相邻显示,但却是各自独立的,同时共享同一行的数据值。

地区销售报表

年份

产品

2005

2006

桌子

椅子

华盛顿州

西雅图

50

60

20

30

斯波坎市

30

40

10

20

俄勒冈州

波特兰

40

50

10

10

尤金

20

30

25

5

图标

大量复杂的文本格式的数据对于用户来说是很难理解的。随着在报表服务中对新的可视化能力的大量投入,SQL Server 2008提供了一个增强了的制图引擎,其中包括许多丰富的图表,使得决策者可以以一种友好的格式来查看数据,并可以立即使他们看到这个大图。报表服务提供给用户许多图表类型,包括传统的条状图、区域图、列、环状图、线、和饼图。报表服务2008还包括对区域评测类型图表的支持,有多图表区域和图例、全距图、极区图、雷达图、锥形图、漏斗图。图表的增强,例如注释和对大型数据的支持,为你的报表环境提供了更好的灵活性。

交互功能

SQL Server 2008报表服务提供了一些报表设计功能使得开发人员可以创建具有高度动态性的报表,这些报表为用户提供了更加深入的数据交互以及显示的能力。可以添加到报表中的交互式元素包括:

参数。给报表添加参数使得在报表被处理的时候,用户可以提供他指定的值以便过滤报表中显示的信息。例如,一个用户可以为一个销售报表提供一个区域参数值,使得只查看在指定区域的销售记录。参数帮助报表制作者用一个报表获得更广泛的用户群,并提供给用户更灵活和交互性更强的体验。

交互式排序。对报表应用排序功能使得用户可以按报表所包含的任一列数据按升序或降序排列。例如,一个用户查看一个包含销售信息的报表,他可能先按日期排列数据,然后按销售数量排序。

操作。开发人员可以给报表添加链接,使得用户可以执行动作,例如跳转到报表中的另一部分、打开一个外部网页、或打开另一个相关的报表以便执行钻透分析。例如,一个报表可能列出了本月订单的订单号、客户名称和销售数量。报表开发人员可以添加一个钻透动作到这个报表中以便用户点击了某一订单的订单号之后,可以打开一个显示这个订单细节的报表。

文档结构图。用户使用一个文档结构图轻松的操纵报表。文档结构图在报表中显示为一个侧面面板,用户可以使用它包含的层次链接移动到报表的各个部分。

子报表。开发人员可以将一个报表内嵌到另一个报表之中作为一个子报表;报表服务的一个强大功能是让开发人员可以将一个报表中的信息直接作为另一个报表的一部分来显示。例如,一个开发人员可能创建一个显示公司内所有销售区域的报表,而它有一个子报表显示每一个区域的销售情况。

【编辑推荐】

  1. SQL Server 2008数据集成服务简介
  2. 增强SQL Server 2008的可管理性
  3. 如何提高SQL Server 2008可用性
责任编辑:yangsai 来源: MSDN
相关推荐

2009-04-16 17:24:56

报表处理报表内嵌SQL Server

2009-04-16 17:11:39

管理报表配置报表SQL Server

2010-07-20 09:15:03

SQL Server

2009-02-16 16:10:49

安全审计安装SQL Server

2009-07-04 00:50:38

2011-08-17 18:12:48

2009-04-16 17:44:31

2009-04-16 18:15:19

动作审核审核活动SQL Server

2010-07-07 14:24:42

SQL Server

2013-03-13 09:53:50

SQL Server

2011-03-24 10:19:58

SQL Server2CPU性能监控

2009-06-22 10:22:57

SQL Server

2011-08-19 11:00:54

SQL Server WaitFor命令

2011-08-19 10:13:34

SQL Server Values新用途

2011-08-19 10:24:46

SQL Server Top新用途

2010-10-14 09:32:52

SQL Server

2012-04-16 09:55:38

SQL Server

2012-04-06 10:13:08

SQLSQL Server

2011-08-19 10:40:27

SQL Server Merge命令

2009-04-16 17:55:15

扩展热插拔SQL Server
点赞
收藏

51CTO技术栈公众号