夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> sql2016_sql2012_sql2015_sql2008
SQL Server 2008报表服务详解
夜鹰教程网 来源:www.yyjcw.com 日期:2016-10-31 20:01:07
报表服务支持快照报表的创建,快照报表是按照一个预先计划的时间间隔进行渲染,然后用于用户查看。快照类似于缓存报表;主要的区别是快照通常是按照一个计划定期的创建的。像缓存报表一样,快照可以通过定期生成复杂或耗时的报表来提高报表性能,并使得用户可以查看预先生成的快照而不是按需生成报表。快照报表还是一个可维护历史报表的有用的方法,因为每一个报表实例都反映了快照产生时的数据情况。
【IT专家网独家】一、导言

  尽管公司经常采集和存储大量的数据,但是有时还是难以详尽地显示数据,而且也很难提供对商业中将发生什么的洞察以使商业决策者为公司作出相应的和及时的决策。

  为了能作出有效的商业决策,公司内从业务经理到信息工作人员的所有层级的用户需要能很容易的访问到直接提供信息的综合了从企业内多个数据源获得的数据的报表。在大多数公司里,这些报表需要结合详细的数字和基于文本的报表,这些报表提供了对公司活动的全面的说明和图形化的可视化,它帮助使得可以更好的查看趋势和进行比较。

  报表服务为公司提供了满足各种各样的报表场景的能力。

  · 管理报表生成。也经常用作企业报表生成——支持创建涵盖了业务的所有方面的报表,并可在整个企业范围内发送报表,使每个雇员都可以及时的访问到与他们的业务领域相关的信息,并使他们可以作出更好的决策。

  · 即席报表生成。使用户可以创建他们自己的报表,并使他们快速灵活的获得他们需要的信息,并且是以他们需要的格式,而不必提交请求和等待报表开发人员来为他们创建报表。

  · 内嵌的报表。使公司可以将报表直接内嵌到商业应用程序和web门户网站中,使得用户可以在他们的业务处理过程中使用这些报表。与Microsoft Office SharePoint Server 2007的深度集成还使得公司可以通过一个中央库来发送报表,或直接在SharePoint中使用用于轻度渲染报表的web部分,使得能够轻松的创建仪表盘。在这种方式下,公司可以将整个公司的所有关键的商业数据,包括结构化的和非结构化的放在一个中央存储地址,为信息访问提供了一个共同的体验,以便用户可以浏览到主要的业务执行信息。

  这篇白皮书描述了SQL Server 2008报表服务怎样提供了一个全面的基于服务器的平台来很容易的支持这一广泛的报表需求。

  二、制作报表

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

  使用报表开发工具

  在大多数公司里,有两组截然不同的人创建报表;习惯于工作在全面的开发环境中的熟练的商业智能解决方案开发人员,和不熟悉数据库架构设计、并需要一个抽象了后台的技术复杂性的直接的报表设计环境的商业用户。

  SQL Server 2008满足了这两种需要,它提供了为满足这两种用户的需求而特别设计的直接的报表开发工具。这使得开发人员可以创建用于整个企业的复杂的报表解决方案,同时使得商业用户可以很容易的专注于与他们的业务领域相关的专门的数据。

  •   报表设计器(Report Designer )

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

  图1: 报表设计器

报表生成器(Report Builder)

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


  图2:报表生成器

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

  大多数公司在它的多个应用程序和数据库中具有数据。为了获得对业务执行的充分理解,用户需要一个可以从公司的多个异构的数据源提取数据的报表解决方案。例如,公司里的销售主管可能需要一个结合了从会计部门的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

桌子

椅子

Washington

Seattle

50

60

20

30

Spokane

30

40

10

20

Oregon

Portland

40

50

10

10

Eugene

20

30

25

5

 

  图表

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

  交互功能

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

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

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

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

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

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

  三、管理报表服务

  管理员可以以两种模式之一来管理一个SQL Server 2008解决方案;本地模式和SharePoint 集成模式。当运行在本地模式时,管理员可以使用一组全面的管理和配置工具,它们提供了一个覆盖所有SQL Server 2008技术的统一的体验。数据库管理员可以利用SQL Server 管理套件来集成一个报表服务实例的管理和SQL Server数据库引擎管理,并且通过使用SQL Server配置管理器MMC snap-in(管理单元)创建一个定制的Microsoft管理控制台,这样就可以提供给系统管理员报表服务的服务管理了。

  当运行在SharePoint 集成模式下时管理员可以利用SharePoint 的集成管理功能和受益于SharePoint中直接在这两个服务器组件上的一个单独的集成管理体验。

  扩展管理能力

  报表管理器(Report Manager) ,如图3所示,它是一个基于Web 的工具,它可以用在本地模式下通过Web访问和管理报表服务。有了报表管理器 ,管理员可以执行很多的任务,包括从任何机器上通过一个浏览器查看和管理报表和订阅、配置报表处理选项、和配置安全。


  图3: 报表管理器(Report Manager)

配置一个报表服务实例

  使用SQL Server安装程序安装报表服务时,选择默认的配置会自动进行用于报表服务的整个配置过程。然而,许多公司经常在首次安装之后添加和改变报表服务配置选项,;例如部署一个报表服务解决方案作为一个可扩展的网络场。报表服务配置管理器,如图4所示,使得管理员可以很轻松的执行每一个要求配置一个报表服务部署的任务,这使得降低了停机时间和加快了报表解决方案的生成。


  图4: 报表服务配置管理器(Reporting Services Configuration Manager)

  Microsoft Office SharePoint Services集成

  SharePoint 集成模式提供了通过一个SharePoint站点对报表服务器内容的访问和操作。SharePoint 集成提供了共享存储、共享安全、和相同的站点来访问所有的业务文档,包括报表、报表模型、和共享数据源。文档协作和管理功能,例如将报表锁定或提交以用于修改,通知对报表的更改,和SharePoint的工作流能力可以为你的报表环境提供更好的说明性和灵活性。此外,报表可以直接嵌入到SharePoint 页面上为用户提供无缝的、连贯的报表体验。

  保护报表服务

  安全总是数据管理员首要考虑的问题。报表服务提供了基于灵活角色的安全授予管理权利和对共享的数据源、报表、文件夹、和资源的访问的保护。管理员可以使用内置的和定制的角色定义来很好的调整他们的报表环境的安全性。一个用户可以随着不同的项目而属于不同的角色类型。例如,一个用户可以是他们部门所管理的报表的内容管理员角色的成员,同时也可以是为公司内另一个部门所开发的报表的浏览角色的成员。

  管理员通过SharePoint集成可以进一步增强安全管理。当报表服务运行在SharePoint 集成模式下时,SharePoint 权利可以用于管理SharePoint库中的报表和文件夹。

  四、发送报表

  公司认识到对更多的用户群提供商业智能所带来的收益;使得更多的用户可以基于过去只对一少部分的业务分析师开放的信息制定决策和执行任务。今天所面临的一个挑战是要将这个数据发送给几千名可以受益于对这个数据的访问的商业用户。SQL Server 2008报表服务具有有效的发送格式丰富的报表给需要它们的用户的能力。

  高性能的报表处理

  在许多报表解决方案中,巨大的报表会消耗报表服务器的可用内存,从而使得其它较小的报表执行失败。SQL Server 2008报表服务包含一个可扩展的报表引擎,它限制了内存的使用和与非内存限制的报表的冲突。报表性能也通过按需处理和基于实时的渲染而得到了优化。

  缓存

  报表服务通过提供了报表的缓存进一步提高了性能。通过缓存经常使用相同的参数值进行访问的报表,公司可以降低渲染报表所需要的处理费用。在报表处理之后,缓存拷贝就可以用于其他后来访问同一个报表的用户而不需要再作任何处理。有了这个方法,如果多个用户打开这个报表,只有第一个请求会产生报表处理过程。然后这个报表被缓存起来,其余的用户查看到的是这个缓存的报表。

快照

  报表服务支持快照报表的创建,快照报表是按照一个预先计划的时间间隔进行渲染,然后用于用户查看。快照类似于缓存报表;主要的区别是快照通常是按照一个计划定期的创建的。像缓存报表一样,快照可以通过定期生成复杂或耗时的报表来提高报表性能,并使得用户可以查看预先生成的快照而不是按需生成报表。快照报表还是一个可维护历史报表的有用的方法,因为每一个报表实例都反映了快照产生时的数据情况。

  多种文件格式

  用户需要能够访问和共享采用他们最熟悉的格式的报表。报表服务2008支持渲染最常见的文件格式,包括HTML、PDF、CSV、XML和图像 (TIFF),并提供了在Microsoft Office Word中的新的渲染和在Microsoft Office Excel 中的改进的渲染。Microsoft Office格式的报表是完全可编辑的,使用户可以基于这些报表创建定制的文档。

  通过订阅发送报表

  报表服务支持标准的和数据驱动的订阅,使得可以自动发送报表给正确的用户,直接将报表通过电子邮件发送给每一个用户或者发送给用户一个文件共享,用户从这里可以获得报表。用户可以使用标准的订阅,使报表基于一个定制时间表和明确指定的报表参数的值进行发送。集中管理数据驱动的订阅在运行时从一个外部数据源获得订阅属性,它使得可以发送相同的报表给多个用户,而每一个都具有它们各自的报表参数和渲染格式要求。

  默认情况下,报表可以通过电子邮件发送给订阅人或文件共享提供给订阅人。开发人员可以通过增加额外的将报表发送到其它地方的发送扩展来增强环境。

  将报表嵌入到商业应用中

  通过使用ReportViewer控件可以将报表内嵌到商业应用程序中;这是Visual Studio提供的一个报表服务控件。这个控件使你可以在一个.NET应用中显示报表,例如一个ASP.NET网页或一个Windows桌面应用程序。

  ReportViewer控件支持本地模式,这种模式下报表在客户端应用程序中进行处理,ReportViewer控件还支持远程模式,这种模式下报表运行在一个远程报表服务的报表服务器上。一个小公司开始的时候可以采用能力比较受限的本地模式执行,而随着公司的使用增加和报表需求的增加可以升级到完全的报表服务综合执行。

  许多公司使用SharePoint解决方案来推动雇员、合作伙伴、甚至是和客户间的协同工作。配置报表服务运行在SharePoint集成模式下使得用户可以发布或上传报表、报表模式、资源和共享的数据源文件到一个SharePoint库。这使得你可以通过创建从报表服务显示报表的报表仪表盘将报表内置到你的基于SharePoint的网络解决方案。

  五、总结

  SQL Server 2008报表服务提供了一个全面的企业报表解决方案,这个解决方案为成千上万的用户提供报表,在他们需要的时候和需要的地方。这些报表可以将在企业中存在的多个不同数据源的数据放在一起,并以丰富的渲染格式将这些报表发送给企业内外的用户。

复制链接 网友评论 收藏本文 关闭此页
上一条: SQL Server数据库常用的T-SQL命令…  下一条: sql2012简体中文版下载
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
牛人是怎样处理海量数据的
MYSQL与MSSQL UPDATE两表更新语法…
SQL SERVER常用日期函数的详解
随机查询ORDER BY NEWID()
批量插入数据 延时 SQL
用sql转换汉字为拼音
定时同步服务器上的数据
SQL Server 2008与SQL Server 200…
在XP下安装SQL Server2000 清除安…
SQL触发器实例
Mssql触发器学习例子之UPDATE触发…
两表连接的SQL语句
写一个HTML代码或C++代码分析器是…
分页存储过程!
普通行列转换 SQL(1)
  最近更新
SQL命令:增加字段、修改字段、修…
sql 中的 indexOf 与 lastIndexOf…
SQL中使用正则表达式提取或者过滤…
什么是BI?
Mongodb是一种比较常见的NOSQL数据…
SQL2008 提示评估期已过的解决方法…
存在属性(Directory, Compressed)…
属性不匹配directory,archive
sql2012安装图解教程
一条sql语句批量插入多条记录
sql2016下载
sql server2008 r2 密钥
sql2016安装密钥
sql2016安装图解教程
sql server 2012提示评估期已过的…

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3