关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »SQL Server 2005报表设计:最佳实践和指导(1)

    SQL Server 2005报表设计:最佳实践和指导(1)

    2015-11-23 00:00:00 出处:ITJS
    分享

    应用于:Microsoft® SQL Server™ 2005 报表服务

    目录

    关于这篇文档 

    数据区域

    在我们的报表中我们第一个选择就是选择数据区域类型。报表服务提供了下列数据区域类型:

    ◆表格

    列表适用于创建表单的自由表单数据区域。你可以通过嵌套列表来分组数据。

    聚合函数和范围

    报表服务提供了许多聚合函数可以在报表中创建总和或其他聚合。

    每个汇总函数支持一个定义汇总范围的范围参数。范围可以通过分组名称,数据集或数据区域来指定。数据区域或分组必须直接或间接包含聚合函数指定的报表项。

    假如你忽略了范围,聚合范围是报表项所在的分组或数据区域中最里面的分组。

    在指定Excel报表中使用表格代替列表

    表格使用固定的列宽。这很好的满足Excel报表中的表格格式。当渲染为Excel时,报表中的报表项会像我们期望一样排列。

    与表格相比,列表是一种自由表单的风格。列表中的报表项将被放置在工作表中像对于在报表中的位置。这样会导致意想不到的结果。假如你的报表中使用了列表,要确认渲染成Excel的结果是可以接受的。

    即使使用表格,假如在你的报表中页眉跨越多个列,Excel渲染扩展可能合并单元格或引入新的列。这样会在Excel电子表格中影响数据的排序和操作。假如你计划将报表渲染为Excel,请设法确认报表项排列能将单元格合并减到最小。

    长报表的最大页数

    为了预防生成Excel产生错误,你应该注意冗长报表的页数。报表中的每页都会变成Excel中的一个工作表。然而,每一个工作簿中为了限制对内存的使用,会有一个最大的工作表数量。假如报表页面超过了这个限制,Excel会生成一个错误。

    渲染为Excel时的颜色差异

    支持一套预定义的颜色。当你渲染报表时,Excel渲染扩展将报表中的颜色应设成Excel支持颜色中最接近的颜色。

    图像

    图像渲染扩展可以将报表渲染成位图或图元文件。默认情况下,它将数据渲染成TIFF格式。然而他也可以生成被GDI+支持的任何格式,包括BMP,EMF,GIF,JPEG和PNG。

    在报表服务器中图像渲染处理在一个虚拟的页面中进行,并在这个页面创建图像。结果,在任何客户端上,基于图像的报表在字体和布局上看起来都是一样的。

    避免空白页

    有时当你将报表输出到例如PDF或打印机这样的物理页面是,你可能会看到有空白页面。通常,当报表正文超过纸面尺寸是会发生这种情况。

    为了确认所有的内容适合于单一的纸张,正文加上页边的空白应该小于预定义好的纸面宽度。文本框和其他的报表项可以导致正文宽度超过纸面宽度,即使当超出部分的内容不可见。另外,报表项水平的增长(矩阵数据区域和图片自动设置为Autosize或Fit)可以导致正文宽度的增长。

    使用分页提高大报表的性能

    假如不去为一个返回大量数据的报表设置页面大小或分页符,一些报表格式将会尝试将报表渲染成单页。

    例如,Excel没有默认的固定页面宽度。所以,假如你有一个很大的报表,Excel将尝试将其渲染成一个工作表。通常,使用分页符可提高用户访问报表时的性能,因为当渲染报表剩余部分时,用户可以查看报表的第一页。

    使用筛选器代替查询参数

    报表服务有几种方法动态的过滤报表内容:

    ◆当返回丛数据源获取数据时使用查询参数过滤数据。

     

         

          SalesOrderID

          =Fields!SalesOrderID.Value

     

    在一个报表中的表格中在指定行后添加分页符

    你可以使用Ceiling 函数在表格中将行分组,并在每个分组后插入分页符。

    Ceiling函数返回不小于输入参数的最小值。例如,每隔30行添加一个分页符,你应该使用下列表达式分组:

    =Ceiling(RowNumber(Nothing)/30)

    在RDL中描述分组应该类似于下列描述:

          

        

              =Ceiling(RowNumber(Nothing)/30)

          true

     

    在页眉和页脚中添加全局变量值

    在表6中显示了Globals对象的成员,这些可以在报表的表达式中使用。

    表6

    名称

    类型

    描述

    PageNumber

    Integer

    当前页数。仅在报表的页眉和页脚中使用。

    TotalPages

    Integer

    报表的总页数。仅在报表的页眉和页脚中使用。

    ExecutionTime

    DateTime

    报表开始执行得日期和时间。

    ReportFolder

    String

    包含报表的文件夹的路径,例如salesreportsbudgeting 或c:salesbudget

    ReportName

    String

    报表的名称,例如 currentbudget.

    你可以在报表的页眉或页脚中使用表达式显示报表名称和执行时间。时间通过.NET提供的短日期格式。例如:

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

    同样也可以利用文本框将报表的当前页数和总页数显示在页眉:

    =Globals.PageNumber & " of " & Globals.TotalPages

    在页眉中显示报表项

    在长报表中你可能会希望在页眉中添加报表正文中的文字。例如,一个姓名地址录在页眉重要显示当页中出现的第一个和最后一个名字。

    为了实现这个功能,你可以在页眉上添加一个文本框,并使用First函数。为了在页面上显示第一次出现的LastName值,表达式应该类似于如下所示:

    =First (ReportItems!LastName.Value)

    同样的,使用表达式函数Last 可以提供在页面上显示LastName 文本框的最后一个值 。例如

    =Last (ReportItems!LastName.Value)

    创建带有条件格式的钻取连接

    报表服务可以通过拥护和报表的交互在报表中隐藏或显示报表项。

    你可以使用这种功能在报表中创建钻取连接。例如,通过点击某个区域,用户可以从汇总视图中钻取数据的详细信息。

    接下来,为包含该分组的文本框创建触发开关项。然后当用户点击该文本框,隐含的数据变成可见的或数据不显示。

    结论

    Microsoft SQL Server 2005 报表服务提供了多种报表设计的选择。本文提供了一些常规的指导方针和报表设计技巧,但是只涉及了部分该产品的功能。为了获取更多的设计信息和产品功能,请参考SQL Server 2005 联机丛书。

    更多信息:http://www.microsoft.com/sql/ 

    应用于:Microsoft® SQL Server™ 2005 报表服务

    目录

    关于这篇文档 

    表格通过一行接一行的方式表现数据。列是固定的你无法扩展,但是行可以向下展开。因此,当表格增长时,它将数据向下展开。你也可以在表格内将数据分组。

    列表适用于创建表单的自由表单数据区域。你可以通过嵌套列表来分组数据。

     

         

          SalesOrderID

          =Fields!SalesOrderID.Value

     

    在一个报表中的表格中在指定行后添加分页符

    你可以使用Ceiling 函数在表格中将行分组,并在每个分组后插入分页符。

    Ceiling函数返回不小于输入参数的最小值。例如,每隔30行添加一个分页符,你应该使用下列表达式分组:

    =Ceiling(RowNumber(Nothing)/30)

    在RDL中描述分组应该类似于下列描述:

          

        

              =Ceiling(RowNumber(Nothing)/30)

          true

     

    在页眉和页脚中添加全局变量值

    在表6中显示了Globals对象的成员,这些可以在报表的表达式中使用。

    表6

    名称

    类型

    描述

    PageNumber

    Integer

    当前页数。仅在报表的页眉和页脚中使用。

    TotalPages

    Integer

    报表的总页数。仅在报表的页眉和页脚中使用。

    ExecutionTime

    DateTime

    报表开始执行得日期和时间。

    ReportFolder

    String

    包含报表的文件夹的路径,例如salesreportsbudgeting 或c:salesbudget

    ReportName

    String

    报表的名称,例如 currentbudget.

    你可以在报表的页眉或页脚中使用表达式显示报表名称和执行时间。时间通过.NET提供的短日期格式。例如:

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

    同样也可以利用文本框将报表的当前页数和总页数显示在页眉:

    =Globals.PageNumber & " of " & Globals.TotalPages

    在页眉中显示报表项

    在长报表中你可能会希望在页眉中添加报表正文中的文字。例如,一个姓名地址录在页眉重要显示当页中出现的第一个和最后一个名字。

    为了实现这个功能,你可以在页眉上添加一个文本框,并使用First函数。为了在页面上显示第一次出现的LastName值,表达式应该类似于如下所示:

    =First (ReportItems!LastName.Value)

    同样的,使用表达式函数Last 可以提供在页面上显示LastName 文本框的最后一个值 。例如

    =Last (ReportItems!LastName.Value)

    创建带有条件格式的钻取连接

    报表服务可以通过拥护和报表的交互在报表中隐藏或显示报表项。

    你可以使用这种功能在报表中创建钻取连接。例如,通过点击某个区域,用户可以从汇总视图中钻取数据的详细信息。

    接下来,为包含该分组的文本框创建触发开关项。然后当用户点击该文本框,隐含的数据变成可见的或数据不显示。

    结论

    Microsoft SQL Server 2005 报表服务提供了多种报表设计的选择。本文提供了一些常规的指导方针和报表设计技巧,但是只涉及了部分该产品的功能。为了获取更多的设计信息和产品功能,请参考SQL Server 2005 联机丛书。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。