SQL2005报表服务教程(3).docx_第1页
SQL2005报表服务教程(3).docx_第2页
SQL2005报表服务教程(3).docx_第3页
SQL2005报表服务教程(3).docx_第4页
SQL2005报表服务教程(3).docx_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL2005报表服务教程(3)医手/2010-03-24报表设计补充报表参数如果选中了“多值”,就可以如下图般输入多个值:多个值将会按下面的形式来表示:还可以设定可用值和默认值。可用值的设定有点像HTML里面的列表框。分文本和值。标签不是必须设置的。用户用起来就是这样子的:也可以设置可用值或默认值是来自某个数据集:如果要引用参数的第2项,可以这样:多值参数很适合于用在IN运算上:在筛选器:在查询语句:需要注意的是,在表达式编辑器,双击参数得到的是:你需要手工把“(0)”删除。自定义排序数据集是这样的:SELECT ProductID AS ID, Name AS 产品名, ProductNumber AS 型号, Color AS 颜色, StandardCost AS 成本, ListPrice AS 批发价, ModifiedDate AS 修改日期FROM Production.Product这是布局:筛选器:我们现在需要一个参数来表示按哪个字段来排序:因为这个参数是不需要用户手工输入的。因此可以选中“隐藏”复选框。设置这个参数的默认值为“ID”。我们还需要一个参数来表示排序的方向:设置这个参数的默认值为“ASC”。下面设置表的排序:表达式是这样的:=iif(Parameters!SortDirection.Value=ASC,Fields(Parameters!SortField.Value).Value,)=iif(Parameters!SortDirection.Value=DESC,Fields(Parameters!SortField.Value).Value,)这里用到了奇怪的表达方式:Fields(Parameters!SortField.Value).Value。注意:Fields后面没有“!”。最后要做的是点击表头的时候把参数设置好,然后重新载入报表。以“产品名”为例:设置“产品名”表头的文本框属性:设置导航为跳至当前报表,然后点击“参数”按钮。按下图设置参数:动态分组建一个这样的表:筛选器依然是top 10。添加一个参数:给表添加一个分组:再修改一下表:第一列的表头为:=Parameters!GroupBy.Value第一列的组头为:=Fields(Parameters!GroupBy.Value).Value默认是按颜色分组,用户可以改为按成本分组:动态字段和动态列动态字段可以添加一个自定义字段,由报表参数来确定映射到哪个字段。动态列可以选中表控件的整列,在属性面板设置列的Hidden属性:让列的显示由报表参数来控制。下面的ShowColumn参数为多值参数:=Array.IndexOf(Parameters!ShowColumn.Value,成本)0记录按列显示如上图所示,一条记录显示为一列,有多少条记录就显示为多少列。列不固定的表,很容易联想到矩阵。使用下面的查询语句:SELECT TOP (4) Title, FirstName, EmailAddress, PhoneFROM Person.Contact拖一个矩阵过来:在“行”里面随便写点什么;选一个能唯一标识记录的字段,例如“Phone”,拖到“列”;拖一个列表控件到“数据”。分别在“行”和“列”单元格上按右键,设置可见性为隐藏。选中第一列,在属性面板设置宽为0cm。类似地设置第一行的高为0cm。把要显示的内容拖到列表控件上:报表管理器这一章的内容介绍得不是很全面。因为有很多东西是显而易见的。这里主要介绍一些出乎意料的操作,和一些新的概念。可以通过URL:http:/localhost/Reports/ 进入报表管理器。也可以通过SQL Server Management Studio进入报表管理器:下面讲的都是基于浏览器的报表管理器。所以很多操作都要点击“应用”或“确定”按钮后才会生效。对于Web程序员来说这已经是废话了,但我仍然会忘记点“应用”按钮。页首的两个“主文件夹”链接可以让你随时返回“主文件夹”。安全报表服务的用户只能是Windows的用户。当首次访问报表服务器或报表管理器时会要求输入服务器中的Windows用户名和密码。在修改默认的安全设置之前,一个Users组的用户登录到报表服务器是什么也不能做的。系统级点击“站点设置”,再点击“系统级角色定义”。在这里你可以看到已有的系统级角色。你可以添加一个角色,或设置一个角色能做什么不能做什么。但你不能在这里为角色添加用户囧。点击上图中的“配置站点范围的安全性”。再点击“新建角色分配”。很难想像,“新建角色分配”才是给角色添加用户的。可以输入Windows的一个用户名或一个组名,让它隶属于报表服务的一个或多个角色。项级点击“站点设置”再点击“配置项级角色定义”将可以看到已有的项级角色。你可以添加一个角色,或设置一个角色能做什么不能做什么。同样地你不能在这里为角色添加用户。点击“主文件夹”。再点击“属性”在这里可以点击“新建角色分配”来为角色添加用户。如上图所示,把“user1”添加到了“浏览者”角色。默认地,现在“user1”可以浏览“主文件夹”包括其子文件夹下的所有报表。在随意一个子文件夹的属性的安全选项卡,可以点击“编辑项安全设置”。这样,子文件夹将不再继承父级文件夹的角色分配。需要时,仍然可以“恢复到父级安全设置”。我的报表在站点设置可以启用“我的报表”。这样每个用户第一次登录时都会为他创建一个“My Reports”文件夹。有点类似于Windows的每个帐户都会有自己的“My Documents”。可以看到“My Reports”只有一个角色分配项。就是所有者的帐户隶属于“我的报表”角色。“我的报表”角色的权限是比较高的。于是各个用户可以在各自的“My Reports”文件夹自由工作。而其他用户则不能访问自己的“My Reports”。不过报表服务器的“系统管理员”还是可以查看别人的“My Reports”。当在站点设置停用“我的报表”后。用户在浏览时将看不到“My Reports”文件夹。但只要记得原来的路径,就依然可以访问里面的报表。这时你可以通过设置角色分配来阻止用户继续访问各自的“My Reports”。管理报表上传报表可以点击“上传文件”把项目中的报表文件传上来。这样居然也能用。如果报表用到了共享数据源,那么就还要上传共享数据源文件。共享数据源文件通常上传到专门的目录里。 也可以在上传后,进入报表的属性页,重新选择共享数据源。点“浏览”按钮进去选择好数据源,再点“确定”按钮就会回到这个属性页。我经常会忘记还要点击这个页面最下面的“应用”按钮,所作的设置才会生效。移动报表如果你要把报表或文件夹移动到其他文件夹。你要先打开报表,或进到要移动的文件夹里面去。总之,你要保证下图最大的字体显示的是你要操作的对象。然后点击属性。这时你就可以删除或移动报表了。链接报表在属性页可以看到“创建链接报表”按钮。链接报表相当于程序的一个快捷方式。在快捷方式我不知道能不能给程序设置命令行参数。但链接报表是可以给报表设置报表参数的。但创建链接报表时并不会让你输入报表参数的值。因为对于有报表参数的报表或链接报表,在它的属性页会有参数选项卡。在那里你可以指定报表参数的值。历史(快照)在“历史记录”选项卡,可以为报表创建快照。被拍下快照的其实是数据集而不是报表页的内容。所以在快照里,各种交互功能仍然可以正常使用。计划(定时器)在站点设置页的最下面可以管理整个服务器共享的计划:使用计划需要SQL Server Agent的支持:这是一个计划:把计划理解为定时器是很有好处的。因为它只定义了什么情况下就是时间到了。时间到了该做什么则没有定义。计划是这样用的:那么只要“A计划”认为时间到了,就会为Report1创建快照。存储用于运行报表的凭据上图中,其实有那个警告在的话,快照是创建不了的。凭据就是连接数据库的用户名和密码。在报表服器上设置一下报表的数据源的用户名和密码,再记得点“应用”按钮就OK了。又或者在项目中创建数据源时,勾选“保存密码”复选框。凭据就会被保存到报表文件。订阅订阅就是时间到了,就自动把报表发到你的邮箱,或是自动存放到某个共享文件夹,也可以自动把报表打印出来。如果希望报表服务器能够发邮件,就要给它配一个可以发邮件的邮箱帐户:点击“新建订阅”或“新建数据驱动订阅”,按提示一步步做,就可以完成订阅了。如果接受订阅的人数是不确定的,他们的信息是由数据库记录的,那么需要选择“新建数据驱动订阅”。不同的人可以从同一个报表获得各自想要的数据形式。这就是报表参数的妙处。同一个报表的不同订阅可以为报表参数设置不同的值。URL访问报表服务如果你安装了报表服务,你可以用这个网址访问你的报表服务:http:/localhost/ReportServer/进去后,就能浏览各个目录和里面的报表了。打开报表时会在地址栏会看到“%2f”。它是“/”的url编码。有时会报找不到执行操作之类的的错误。关掉浏览器重来即可。但重启IIS是无效的。URL参数报表参数报表参数可以直接当作url参数来写。例如,报表有个参数是ProductID。要设置它的值为992。可以直接在地址栏加上:“&ProductID=992”。rs前缀rs后面可以跟:command一些命令format输出格式snapshot显示快照例如:rs:Command=Render还可以是:ListChildren, GetResourceContents, GetDataSourceContents。rs:format=pdf还可以是:html4.0, mhtml, image, excel, csv, xml, null。rs:snapshot=2010-03-22T07:39:42这个快照ID我是从报表管理器点击快照后,从地址栏复制的。rc前缀设定报表查看器的样子,例如:rc:parameters=falserc:outputformat=jpegdsu和dsp前缀数据源的用户名和密码,语法是:dsu|dsp:datasourcename=value报表模型能让最终用户设计自己的报表貌似是个好主意。但最终用户对于连接数据库和查询语句可能一窍不通。又或者你根本不想让最终用户直接查看数据库。解决的办法是,你先为最终用户设计好数据集。为这里的“数据集”换个高深点的名字,叫“报表模型”。要创建报表模型,需要专门建一个报表模型项目。然后为项目添加数据源:再添加数据源视图:把需要用到的表都添加过来:如果表很多,不方便放在一起建立关系,可以新建关系图。在一个关系图中发生的关系变化,其他的关系图也会同步变化。把一组相关的表拖到工作区。如果在关系图中不想要某张表,可以选择隐藏表:如果是按Delete键删掉,则所有关系图中都不再有这张表。可以添加、删除、编辑关系,这里的关系不会影响数据库里面的关系。表可以是简单地引用数据库中的表,也可以改成用查询语句作为中转站。下面添加报表模型:按提示一步步做,就能生成报表模型了。报表模型的文件名将会当作报表生成器的数据源名。最后部署一下,报表模型就算是OK了。报表生成器报表生成器是一个智能客户端,只有IE支持,可从下面的网址打开:http:/localhost/ReportServer/ReportBuilder/ReportBuilder.application最终客户端需要安装.NET 2.0才能使用报表生成器。打开报表生成器后,先在报表生成器的右侧选择数据源,这里的数据源是指报表模型。然后是选择报表布局:报表生成器制作的报表,只能有一张表,或只有一个矩阵,或只有一个图表。数据源和布局都选好后,点“确定”按钮。刚开始表格是只有一列的,再拖一个字段过来,可以在左边或右边增加一列。最郁闷的莫过于属性面板没有了。你只能很细心地在工具栏寻找你想要的图标。又或者是使用那少得可怜的右键菜单。做好后,保存一下。只能保存在报表服务器上。做出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论