Oracle报表创建、修改及其功能介绍Microsoft认证考试

文章作者 100test 发表时间 2010:04:28 21:18:45
来源 100Test.Com百考试题网


  Oracle报表具有一些很强的特性,可以容易地浏览数据,但是需要对表单做一些额外的工作。尤其是,报表擅长于显示小计——甚至是在多层次上。即使组织机构选择在线浏览数据,但报表仍是创建数据的细节及合计数据的有用工具。

  一、创建和修改Oracle报表

  1.报表开发器介绍

  报表的原来目的是创建数据的打印清单,给决策人提供信息。现在,决策人更喜欢在一个网站上直接处理数据,而完全不用打印纸。在许多情况下,你可以使用表单为决策人检索数据提供一个互动环境。Oracle Developer Suite包括了一个报表开发器工具,并带有帮助你建立基本报表的向导。

  2.Oracle报表的类型

  在试图建立报表前,需要了解报表使用的主要布局。主要的报表类型有表格式报表(tabular report)或简单列表、控制中断或分组报表(group report)、矩阵式报表(matrix report)或交叉表、邮件标签(mailing label)。图10-1示出一个表格式报表的例子。表格式报表是数据的简单列表,如果表中包含数值数据,则底部通常有小计。这种报表易于创建和阅读。但是,对于体面一点的在线访问,这种报表不特别有用。几年前,经理们需要打印出巨长的数据清单放在手边做参考。现在简单到只要发布一个查询,就可获得所需的数据或合计的简短列表。但是,你仍需要能制作这些报表。仅记住,它们应该一直被排列好。

  3.建立和修改Oracle报表

  Oracle提供了一个报表向导,可帮助你创建大多数常见的报表。总的来说,它做了一件好事;但是你仍不得不修改报表并多次整理它,直到它们更专业化为止。首先面对的挑战之一是避免在一行上放置一切内容。如果你试图将太多的内容填入一个页面,则报表向导会有麻烦。首先试着缩小字体,将更多的数据压缩进报表中。但报表几乎不工作,你必须返回来手工修改它。最好打住,让向导先用尽可能少的项建立报表。如果你后来想要增加更多的项,可以一个一个地加入,同时检查添加是否恰当。

  二、增强Oracle报表的功能

  前面,我们已经对向导创建的基本报表做过一些变动。但是,有些报表需要做的工作比这要多的多。尤其是矩阵式报表,它难以建立模板,因此通常需要更多的功能增强。主要问题是标准模板是为带有纵向(portrait)布局的报表设计的,并且只显示有限数量的列。而矩阵式报表有多个列并可延伸到多个页面。为了说明此过程,你将使用向导创建一个矩阵式报表,按月份和按代理对销售额求和。

  为了使查询更简单,报表将计算要价的合计——它不是最终的销售价。如果你想要的是最终销售价,可以编写一个查询从CustAgentList表中提取最后的BidPrice,并通过联结ListID,将该查询添加到报表中。但是,本章主要关心的是报表编写器,而上述查询则稍有些复杂,且令人分心。因此,使用AskingPrice来简化此问题,以便你只启动向导:

  (1) 启动Report Builder并使用向导创建题为Sales by Month and Agent的矩阵式报表。只选择简单的Matrix报表。你不需要给该报表添加分组。矩阵组为每个组创建不同的矩阵;该Oracle报表只需要一个矩阵。

  (2) 从Agents、Listings和SaleStatus表中创建一个查询。设置条件为已售房产的清单(即,SaleStatus.SaleStatus = Sold)。按代理的姓和名排序。小心选择并提取:LastName、FirstName和AskingPrice。

  现在进入棘手部分。经理想要该报表按月份显示合计,月份显示在报表顶部代理显示在左下角。Listing表包括两个日期。为了简单起见,可以使用EndListDate。(如果你花时间建立查询来获得实际的销售价,还会获得实际的销售日期,不过在这里并不是关键)。问题是该日期是一个实际的日子,而你需要的只是月份。答案是创建一个新列,使用TO_CHAR(date, MM)函数将该日期转换为相应的月份。

  (3) 建立该查询时有一个Define Column按钮,你可以使用它添加一个新列。但是它不能实际保存该列的描述,因此,简单直接地编辑SQL并用SaleMonth别名添加该列通常更容易。

  (4) 为了定义矩阵,你必须告诉向导在行、列和矩阵单元中显示的字段。首先,选择行的字段。如本例的图10-13所示,选取LastName和FirstName字段。因为该报表不使用组,所以这两个字段都属于Level 1。

  (5) 同样,选择新的SaleMonth字段作为列。在下一个向导屏上,选择AskingPrice列并单击Sum按钮,告诉Reports Builder计算每个销售代理每月的要价总和。类似地,在合计屏上,选取SumAskingPrice并计算其Sum获得行和列的合计。

  (6) 在标签屏中,通过增加空间并设置为大写字母,整理标签。但是,你需要使列变窄,以便设置Month标签,而不是Sale Month。默认的宽度眼下应该比较窄。在模板屏上,必须选择No template选项。

  出矩阵式报表的初始Paper Design视图。尽管它包含了所有希望的数据,但稍微简单了些并有点难以阅读。注意,该报表很稀疏,因为在该时间周期内只有8次销售活动。如果你想看到有更多数据的Oracle报表,可以改变查询条件,将Sold改为For Sale,但眼下我们还是使用这个小报表。

  为了使报表看上去类似于分组报表,应该在左上角添加徽标。像以前那样,使用Insert|Image菜单选项并调整徽标的尺寸。

  编辑特别推荐:

  110个oracle常用函数总结



相关文章


Oracle认证体系全攻略Oracle认证考试
Oracleescape转义符的用法的介绍Oracle认证考试
Oracle备份文件导入到SQL中的方法Oracle认证考试
删除Oracle中奇怪的表名称BIN$…的方法Oracle认证考试
Oracle报表创建、修改及其功能介绍Microsoft认证考试
Oracle对树形结构按级次排序SQLMicrosoft认证考试
OraclePL_SQL基础知识及其相关概念Oracle认证考试
设置listener的安全机制Oracle认证考试
oracle里long类型Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛