性能优化和体系结构oracle reports培训教程5656_第1页
性能优化和体系结构oracle reports培训教程5656_第2页
性能优化和体系结构oracle reports培训教程5656_第3页
性能优化和体系结构oracle reports培训教程5656_第4页
性能优化和体系结构oracle reports培训教程5656_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、Oracle Reports 培训HAND作者:创建日期:最近修改日期: 文档编号:版本:孟军2000 年 11 月 28 日2000 年 11 月 28 日MD060 1审批人:审批人 1 审批人 2 拷贝数 文档控制更改浏览者分发ii拷贝数职位1资料管理员1项目经理职位日期作者版本说明2000/02/21孟军1没有以前的版本目录文档控制ii综述4Oracle Reports概述4Oracle Reports 的版本4Oracle Reports 的安装4建立并运行一个简单的报表4建立报表4编译运行报表4习题4数据模型(Date Model)4功能及构成4数据模型编辑器4.4组4列4数据连接

2、4参数4布局( Layout)4布局功能4布局模型编辑器4报表区域4基本布局对象4几种缺省的报表布局风格4参数表格( Parameter Form)4建立用户自定义的参数表格4报表触发器(Report Triggers)4触发器的触发时机及用途4习题4程序单元( Program Units)4附加的程序库(Attached Libraries)4建立 PL/SQL程序库4连接 PL/SQL程序库4习题4矩阵式报表4建立矩阵式报表的需求4单矩阵式报表4iii多矩阵式报表4Reports 在Applications 下的安装4编制 Report4在Application中Reports4将Repo

3、rts运行权限赋给相应的职责4iv综述本文档为Oralce Reports 培训文档,仅限于Hand 培训使用。本文档以实用为目的,并未包括 Oracle Reports 的所有方面。本次培训的目的,是通过两天的 Oracle Reports 培训,可以使大家了解Oracle Reports的基本概念,学会用 Oracle Reports 来设计简单的报表去解决实际的需求。5Oracle Reports 概述Oracle Reports是 Oracle 关系数据库系统提供的一个功能强大、易于使用的报表定义工具软件,它用于开发、显示和打印结果报表。使用 Oracle Reports的应用开发应当

4、熟悉SQL 和 PL/SQL。Oracle Reports的应用分为两步:第一步,由应用开发使用Oracle Reports来编制各种报表程序,应用开发在定义报表应用以前应先了解实际的需求,然后将以上需求抽向成Oracle Reports 的相应对象,并填入到 Oracle Reports 的设计界面中。第二步,即由最终用户运行应用开发所定义的各种报表程序,填入实际的运行参数,从 Oracle 数据库中检索数据,生成并打印实际的报表。6Oracle Reports 的版本Oracle Reports最常用的版本主要有两个,一个是 Developer 2000 1.6 中包含的 Oracle R

5、eports 2.5,它是开发Oracle Applications 11 版所用的版本;另一个版本是Oracle Forms & Reports 6I 中包含的 Oracle Reports 6 I,它是开发Oracle Applications 11 I 所用的版本。下面两图分别是 Oracle Reports 2.5 和Oracle Reports 6I 的界面7Oracle Reports 的安装Oracle的安装方法大体类似,下面以 Oracle Reports2.5 的安装为例,介绍 OracleReports的安装:1、 将Oracle Reports 的安装光盘放入光驱

6、中, Oracle 安装程序会自动运行,然后选择要使用的语言,填入公司名称和 Oracle 当前根目录,按“确定”按钮进入下一步;2、 出现安装管理器窗口后,在左边窗口选择 Developer/2000-Reports 2.5 组件后点击“安装” 按钮进行安装,安装程序会自动分析还需安装的其它组件并进行安装,安装完成后安装程序。83、 进入Oracle安装目录下的 network/admin 目录,修改 SQLNET.ORA 文件和TNSNAMES.ORA 文件,配置 SQL*NET 使得Oracle Reports可以连上 Oracle 数据库。下面是两个文件的样例:文件:SQLNET.OR

7、ATRACE_LEVEL_CLIENT = OFFnames.directory_path = (TNSNAMES)names.default_domain = worldname.default_zone = world文件:TNSNAMES.ORASSE.world =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = 10.7.100.7)(Port = 1521)9)(CONNECT_DATA = (SID = ora816)4、修改完后进入Reports Desig

8、ner,选择 File/Connect菜单,填入用户名,口令和连接串,连按 Oracle数据库,如果可以连通,说明 Oracle Reports 安装成功。10建立并运行一个简单的报表我们先以一个最简单的报表为例,说明 Oracle Reports的开发流程。建立报表我们的例子是当前用户下的对象,包括表、视图以及同义词。1、编写的 SQL 语句。当前用户下所有的对象可以在系统的一个 VIEW “CAT”中查出,这个 VIEW 结构如下:SQL> desc cat;列名可空值否类型-TABLE_NAMENOT NULLVARCHAR2(30)TABLE_TYPEVARCHAR2(11)所以

9、我们要写的很简单:SELECT TABLE_NAME,TABLE_TYPEFROM CAT;2、打开 Reports Designer,连接数据库;由“开始程序Developer 2000 for NT Reports Designer ”打开“ReportsDesigner”;选择菜单“ FileConnect”连接数据库,在数据库连接串,点击“Connect ”连接数据库。框内填入用户名、口令及3、创建数据模型(Date Model)双击“Date Model”进入数据模型设计器;点击左边工具栏上的 “SQL”图标,并在中间空白处点一下,建立一个“Q_1”;双击“Q_1”进入“Q_1”的编

10、辑框,在“Select Statement”中写入我们刚才所写的语句:SELECT TABLE_NAME,TABLE_TYPE11FROM CAT;选择“ OK”,这样就建立了一个简单的。4、建立布局( Layout)在“Date Model”窗口中,点击上面工具条上的“Default Layout”图标, 建立缺省的布局;在 Style 页面中选择“ Tabular ”类型;12在“Data/Selection”页面中“Report”选择 Down 类型,修改列(Column)“TABLE_NAME”型”;(Label)为“名称”,修改“TABLE_TYPE ”的为“ 类选择 OK,建立缺省

11、的报表布局;135、保存报表文件选择菜单“FileSave”,保存刚才建立的报表为 test1.rdf。146、测试运行报表在“对象浏览器(Object Navigator)”窗口中,点击“Run”图标,出现报表参数窗口;点击“运行报表(Run Report)”,测试刚才创建的报表。编译运行报表我们用 Oracle Reports 建立的报表源文件是 rdf 文件,要在客户端运行报表,需要把报表编译为rep 文件。 1、编译报表在“Object Navigator”窗口下选中要编译的报表,选择菜单“File Administration Generate”,再确定要生成的 rdf 文件的名称和

12、要置,就会把报表编译为rep 文件。在这里,我们编译好的文件为test1.rep。的位152、运行报表选择菜单“开始程序Developer 2000 for NTReports Runtime”打开“报表运行器(Reports Runtime)”;选择菜单“File Connect” 连接数据库; 选择“FileRun” 并选中要运行报表的 rep 文件,出现参数窗口, 填写需要的参数后选择“Run Report ” 报表运行出来,可以选择“Print”打印报表。除了手工通过“Reports R untime”来运行报表外,我们也可以建一个 Windows 的快捷方式来直接运行报表,快捷方式的

13、样例如下:C:ORANTBIN R25RUN32.EXE d:test1.rdf system/managermeng_prod另外,我们也可以在 Forms 上直接调用报表;或者把报表安装在application上,在Application 里面来运行报表;或者通过 Report Server,用Web 方式来运行报表。这些方式,在这里就不做详细的介绍。习题建立并运行一个简单的报表16数据模型(Date Model)本章首先介绍数据模型的功能及购成,以及编缉数据模型的数据模型编辑器,然后分 别介绍构成数据模型的五个部分:(Queries)、组(Groups)、列(Columns )、连接(

14、Links)和参数( Parameter)功能及构成数据模型用于定义一个报表中使用的数据及数据结构,这些数据可以是数据库表中的 原始数据,也可以是经过加工后的数据,如工资的总和等。从数据库中检索出的数据 是否在报表输出中显示,也是在数据模型中定义的。数据模型由五部分对象组成:(Queries)、组(Groups )、列(Columns)、连接(Links)和参数( Parameter) 。下面的章切将详细介绍这五种对象。数据模型编辑器打开数据模型编辑器有三种方式打开数据模型编辑器的方法:l选择“工具”上的“报表编辑器”,打开“报表编辑器”窗口。在“报表编辑 器”窗口中,再单击“数据模型”小图标

15、, 进入:“报表编辑器数据模型”窗口。l双击对象导航器中的“数据模型结点图标, 进入:“报表编辑器数据模型”窗口。17l在“窗口”菜单上选择一个含有数据模型的窗口。组成数据模型编辑器由以下部分组成:绘图区:在绘图区中可以以图形方式对对象进行创建、修改、和删除操作。但是在这里只能看到对象间的相对位置关系,如果想看对象的具体设置,必须打开对象的 属性框。工具条:工具条提供了一些对数据模型及其对象进行操作的工具。其中包括有从“报 表编辑器数据模型”窗口转移到:“报表编辑器布局模型”窗口或“报表编辑器参数表格”窗口的工具。注意,数据模型编辑器、布局编辑器和参数表格编辑器都 属于报表编辑器,一次只能打开

16、其中一个,可以通过工具条在三者窗口间切换。实际上就是一条 SQL SELECT 语句,它决定了从数据库中指定的表或视图中取哪些行和列。通过输出时显示。所取得的数据可被用于计算、排序、集合运算等,并可以在报表内部和外部报表中的可分为两种:内部和外部。两者的区别在于外部可以被其他报表多次,而内部不能被其他报表参考,只能被其所属的报表。单报表和多报表根据报表中的个数可以将报表分为单报表和多报表。单报表报表的常见格式有列表式( Tabular)、只有一个的报表称为单报表。单式(Mailing Label)、信封式( Form Letter)以及分组式。单报表虽然只有一个,但可以多次显示数据,并且可以用

17、不同的格式显示。多报表含有多个的报表称为多报表。多个相互之单可以有关联,称为相关的多报表;也可以没有关联,称为不相关的多报表。相关的多报表多个之间相互关联,一般用于主从式报表,也就是说,报表的一部分数据决定了报表的另一部分数据。取出前一部分数据的称为主, 取出后一部分的称为从,主的每一条都将引起从的执行, 从只检索与主匹配的那些。两个之间通过定义数据连接产生。不相关的多报表多个之间没有关联,Oracle Reports将是一系列不相关的数据。地为每一个获取数据,显示出来的之间运行的先后次序由数据模型中的先上后下,先左后右,所以放在左上角的次序决定。在数据模型中, 最先执行。次序是18组将一个的

18、数据分成几个集合,每个集合称为组。组有过滤数据的功能,通过组可以对的结果进行过滤。在缺省的情况下,Oracle Reports 为数据模型中的每一个产生一个组,取名取成查询的名称。名称以“q_”开头,而组名以“g_ ”开头。例如,名称为“q_emp”,则 Oracle Reports为其产生的缺省组名为“g_emp”。组的名称可以修改,但若在组建立以后改变的名称,其组名随着相应改变。用户定义组可用于以下三种情况:产生分组报表;产生矩阵报表;产生子汇总。组过滤器组过滤器允许有条件的选择由检索出来的数据,通过组过滤器过滤结果。Oracle Reports封装过滤器:Oracle Reports 封

19、装过滤器允许指定在一个组中希望检索的数,在报表开发过程中可以使用封装过滤器来限制数据。Oracle Reports 软件包中有两个封装过滤器:First Filter ,只显示组内前 n 条;Last Filter,只显示组内后n 条。应用一个封装过滤器的步骤如下:双击组对象,打开组对象属性选项板;选择过滤器 类型,可选择“无”、“前几个”、“后几个”和“ PL/SQL”;选择“ 前几个”或者“后几个”则会出现“的数值”,在该项中填入所要过滤的数目。用户定义过滤器:用户可以定义自己的过滤器来限制在特定条件下的 户定义的过滤器是通过编写 PL/SQL 代码建立的。的检索。用建立用户定义过滤器的步

20、骤如下:双击组对象,打开组对象属性选项板;选择过滤器 类型为“PL/SQL”,则会出现“PL/SQL 过滤器”;单击“PL/SQL 过滤器”按钮,弹出“ PL/SQL程序单元编辑器”,输入 PL/SQL 程序,编译通过后。组的层次结构数据模型中组的层次决定了在缺省布局框中组的次序,同时也决定了在缺省布局中组的次序,但这不是最终的报表格式,因为可以对缺省的显示格式进行修改。在数据模型编辑器中若没有数据连接,则组的层次是由组在数据模型编辑器中的位置 从左至右,从上至下决定的。在数据模型编辑器中若有数据连接,则组的层次可以由 数据连接描述。列报表的列表示报表的数据。在定义了从数据库检索数据的后,可能

21、需要进一步调整报表,增加的列,而这些列可以用作报表的数据,执行总计汇总等功能。列的类型Oracle Reports中的列可以分为两类,缺省列和用户定义列。、1、缺省列Oracle Reports为SELECT语句中的每一项都建立一个列,因为它们直接对应从数据库中检索出来的各个列,所以缺省列也叫数据库列。列的数据类型、宽度都可以直接从数据库的数据字典中获得。19Oracle Reports除了支持典型的数据类型的列(如字符型、数值型、日期型)以外,还支持图型列。图型列的值可能是:直接在数据库中的图型:这种列的数据类型通常是 RAW 或 LONG RAW。在这种情况下,需在列的属性选项板中指明图形

22、格式。文件名或者是图型的 URL:这种列的数据类型通常是 REF,列中的值对应于用指针指向一个存在操作系统中的文件,报表输出时会根据指针将文件内容输出,在这种情况 下,需在列的属性选项板中将“Read from File”设置为“Yes”并输入文件名。文件名前可以带有路径,若文件名前没有带有路径, 则Oracle Reports 会按照其路径搜索顺序查找文件。可以通过Report Builder 的环境变量 REPORT30_PATH 来设置搜索路径。注意,若列的属性选项板中“Read from File”被置为“No ”并且输 入了文件名,则报表最后输出的只会是文件名,而是文件内容。Orac

23、le Reports支持多种图形格式,包括 BMP、CALS、CGM、GIF、JFIF 、PCD、PCX、PICT、RA S、TIFF 等。2、用户定义列用户可在特定的组内或报表一级建立列。在特定的组内建立的列称为组一级的列,该 列与组内的其他列有相同的显示频度。而报表一级的列只在整个报表中显示一次。用 户定义列分为三种类型:公式列、占位列和汇总列。(1)公式列(Formula Column): 公式列是对其他列执行一个用户定义的计算。例如,公式“:SAL*1.2”中对“SAL”列进行计算。而“:SAL+:COMM”则是对一 条两个列“SAL”和“COMM”进行计算。建立公式列的方法是用 PL

24、/SQL语句写一个函数,从一个或多个列中计算结果,该列的缺省名为“CF_n ”。建立公式列的具体步骤如下:在数据模型编辑器中单击:“公式列”小图标。如果要 在组中建一个公式列,则在画布的空白区域内单击一下鼠标左键,如果要建一个报表 一级的公式列,则在画布的空白区域内单击一下鼠标左键,会生成一个公式列对象; 双击该公式列对象,弹出其属性选项板;双击属性选项板中的“PL/SQL 公式”项, 弹出“程序单无编辑器”;在“程序单元编辑器”中为公式项用PL/SQL 语句书写一个计算公式并编译通过。(2)占位列( Placeholder Column):占位列的值和数据类型是通过 PL/SQL 语句设置的

25、,该列的缺省名为“CP_n”。当需要有选择地设置一个列的值时(例如,在每次出现第 n 个时,或每次出现包含有特殊值的时)占位列非常有用。可以在以下几个地方设置占位列的值:在 Before Reports的报表触发器中( 如果占位列是一个报表级的列);在报表级的公式列中(如果占位列是一个报表级的列);在占位列组或占位列组下面的公式中(为组中的每一条设一次值)。占位列的用途:在公式列的 PL/SQL 代码中计算出的一些值可以分配给不同的占位列;利用占位列保存中间值。例如,当前检索出的最高工资对应的。(3)汇总列( Summary Column):汇总列是对其他列的数据执行计算。Oracle Rep

26、orts为汇总列提供的计算函数有:总和、平均值、最小值、最大值、计数、第一 个、最后一个、( 总计)、标准差、方差。建立一个公式列的具体步骤如下:在数据模型编辑器中单击“ 汇总列”小图标,如果要在组中建立一个汇总列,则在组中你希望该列所在的位置上单击一下鼠标左键,如 果要建一个报表一级的汇总列,则在画布的空白区域内单击一下鼠标左键, 会生成一个汇总列;双击该汇总列对象,弹出其属性选项板;从属性选项板中的“汇总”项下的“功能”子项的下拉列表中选择所需的计算公式;在“源” 子项中选择要汇总的列名;在“重设于”子项中选择汇总的频度,即是就整个报表做一次汇总还是每一页做 一次汇总,或者每一组做一次汇总

27、;当“功能”子项被选为“ (总计)” 时,“计20算于”项有用,其值为计算“(总计)”的汇总列时的组名 。该项只对“ (总计)”有用。列的属性选项板以下分别介绍列的公共属性,以及公式列、占位列和汇总列的各自特殊属性。1、 公共属性在用户定义列的属性选项板中,有许多属性是相同的。以下是公共属性:名称(Name):列的名称,不超过 30 个字节。对于数据库列,即为的 SELECT语句中列的列名,对于公式列,其名称为“CF_n”, 对于占位列,其名称为“CP_n”,对于汇总列,其名称为“CS_n”。其中 n 是整数。备注(Comment):为列所作的注释, 不超过 64K。数据类型(Datatype

28、):列中数据的类型,有Character、Date、Long、Long Raw 、Number、Raw、Ref、Varchar、Varchar2 等。对于数据库列,其数据直接从数据库的数据字共中继承;对于公式列和占位列,其缺省数据类型为 Num ber;对于汇总列,如果其执行的是计数运算,则数据类型为 Number,否则与其参与计算的列的类型相同。宽度(Width): 列值所能占据的最大字符数。空时的值(Value if Null ):用此属性的值代替空值的列值 。以上属性中,除了备注和空时的值两个属性是可选的外,其余属性必须要填写。2、 公式列的特殊属性分隔次序( Break Order):

29、给出列值的排列顺序,有三个选择:升序、降序或不排序;PL/SQL 公式(PL/SQL Formula):是一个按钮,用于弹出“PL/SQL 编辑器”。3、 占位列的特殊属性PL/SQL 公式(PL/SQL Formula):是一个按钮,用于弹出“PL/SQL 编辑器”。4、 汇总列的特殊属性功能(Function):确定对“源” 中指定的列的值进行何种形式的计算。有值列表可供选择。源(Source):指定进行运算的列的名称。在该属性中列出了所有可进行指定计算的 列名。计算于(Computer At):计算“总计”类型的汇总列时的组名。缺省值为“报表”,有值列表可供选择。这项属性只有当功能为“总

30、计” 时才有用。计算百分比是用总数去除一个值。这项属性定义用于百分比计算的总数。重设于(Reset At):确定何时汇总列上的值会被重置为零,从而可重新计算下一个子合计。可以设为页、报表或某一组名,分别表示在该页、报表或组上该汇总列的值会 被重置为零。有值列表可供选择。单元次序( Product Order):只适用于矩阵报表中的列。由于在矩阵表中有很多组, 这些组可以按不同的顺序求值。因此,在矩阵表中建立汇总列时,就需用 Product Order 属性告诉 Oracle Reports先求哪个组的值,再求哪个组的值。21数据连接数据连接用于发建立两个据连接。数据之间的关系。两个之间的连线即

31、表示了一个数数据连接的工作原理数据连接通过主键和外部键定义了两个之间的主/从关系。主/从关系中父的每一条。的产生都会引起子的执行,子只检索满足在连接中指定的条件的通常情况下,两个之间的连接是等值连接,但也可以采用 SQL 语句(如WHERE、HAVING、START WITH 等)建立非等值连接。当一个带有数据连接的报表执行时,该数据连接就被转换成一个SQL 子句,并添加到子的后面。子根据父的主链值执行。建立数据连接有两种方法:一种是手动建立的数据连接,一种是自动建立的数据连 接。建立一个手动连接建立一个手动连接的步骤如下:在数据模型编辑器中选择:“ 数据连接”小图标;单击父的主链列或外部键列

32、,并拖动鼠标到子的主链或外部键列,使它们之间建立一条连线。连线总是从父到子的;双击连线对象,弹出其属性选项板;,即完成数据连接的建立。在属性选项板中设置连接对象的属性,然后建立一个自动数据连接如果在中,两个基表之间已经建立了主/外键约束关系,则可在数据模型编辑器中 建立一个自动数据连接。建立一个自动数据连接的步骤如下:在数据模型编辑器中选择:“数据连接”小图标;单击父,并拖动鼠标到子上,系统会自动显示父和子之间是依据哪 个列建立连接的;双击连接对象,弹出其属性选项板;对属性进行适当调整之后。数据的属性选项板数据连接的属性选项板含有以下几项属性SQL 子句:有“HAVING ”、“START W

33、ITH”和“WHERE”子句。条件:有“ =”、“<” 、“<=”、“>”、“>=”、“<>”、“相似”、“不相似”。父级组、父级列、子、子级列:表明连接关系的数据来源,它们的值是只读的。22参数参数是报表变量,在报表运行过程中,用户可以为其指定不同的值。参数主要用于在 运行过程中修改 SELECT语句和设置 PL/SQL变量。Oracle Reports 中的参数分为两类:系统参数和用户参数。下面分别给予介绍系统参数系统参数又称缺省参数。Oracle Reports允许为每一个报表修改标准的运行设置,系统参数共有11 个,每个系统参数都有一个缺省值,系统参

34、数的值可以修改,但不能删除也不能重命名系统参数。用户参数用户参数是用户建立的一个对象,该对象用于保存在运行时用户可以改变的值。在一个的任何地方都可以用户的参数,用户参数主要用于以下几个方面:在 SELECT语名的WHERE 子句中用参数替代常数作限制值。用参数替代 SELECT语句的,包括选择列、表,甚至整个 SELECT 语句。在 SELECT列表中用参数替换一个单列或一个表达式。23系统参数功能取值缺省值BACKGROUN D是否为报表分离出一个进程Yes、No NoCOPIES报表输出到打印机的份数任何整数1CURRENTY货币用什么符号,如“¥”最多四个字符DECIMAL小数点的符号,

35、如“.”任何单个字符DESFOMAT输出设备的格式,如:打印机DfltDflt、Pslan80DfltDESNAME输出设备的名字,如:文件名、打印机名DESTYPE输出结果送到什么地方,如屏幕、文件、邮件、打印机等Fil、Screen、PrinterScreenMODE报表运行的模式,如:字符界面、图形界面等Bitmap、CharacterDefaultORIENTATIN打印报表输出时的打印方向, 如:Landscape 、PortraitLandscape 、PortraitLandsca pe 、PortraitPRINT JOB当运行一个报表时是否显示“PRINT JOB”框YES、

36、NO YESTHOUSANDS千位数的符号,如“,”任何单个字符参数的参数的方法分为两种:连接和置换。1、 连接连接主要用于替换SQL 语句和 PL/SQL 块中的一个值或表达式。使用连接方法是在要的参数前加上“:”号。的连接的使用受以下限制不能在 SELECT语句中替换列名不能在 FROM 从句中使用连接不能替代保留的单词和子句。如果用户未事先建立连接的参数,则 Oracle Reports 会缺省地在对象导航器的用户参数下加入该参数。2、 置换置换可以用参数替代 SELECT语句的,如替换列名、FROM 子句、WHERE 子句、GROUP BY 子句、ORDER BY 子句、HAVING

37、子句、CONNECT BY子句、START WITH 子句等。使用置换号。的方法是在要的参数前加上“&”符注意:不能在 PL/SQL 中使用置换,但可以在 PL/SQL中使用连接。和连接不同的是,对于置换的参数,用户必须事先在对象导航器中建立,并且在属性选项板中为其输入初始化值,Oracle Reports缺省地建立该参数。3、 连接和置换的比较值列表为参数值建立值列表,这样,在运行时用户就可以从该值列表中选择一个有效值。可 以限制用户只能选择值列表中的值,也可以允许用户输入其他的值。对于连接的参数,值列表可以是一个不能修改的静态的值列表,也可以是在运行时从数据库中动态地选择值的动态值

38、列表。对于置换的参数,值列表只能是静态的。24类型方式用途是否建立缺省参数连接:用于替换子句 WHERE、GROUP BY、ORDER BY 、HAVING、CONNECT BY、START WITH 中的单个值或表达式是,当不存在该参数时由系统缺省建立置换&替换 SELECT语句中的任意部分否,用户必须事先建立该参数25布局(Layout)数据模型只是定义了要显示的数据及数据之间的关系,至于这些数据将以什么样的形 式显示在用户面前则没有定义,布局的功能就是要确定报表的表现形式。下面分别介绍布局的功能、报表区域、基本布局对象和几种缺省的报表布局风格。布局功能布局的功能是定义报表的格式,

39、包括数据文本及图形的位置和显示格式。26布局模型编辑器布局模型编辑器是定义和修改布局模型对象的窗口,如下图所示:报表区域在布局模型编辑器中将报表的布局分为四个区域:表头区域、表尾区域、主体区域和 页边距区域。这四个区域也会作为对象导航器的节点显示在“ 对象导航器” 窗口上。表头区域( Header)表头区域在报表每一页的开头显示一次,表头区域可以包含文本、图形、数据及其运 算。表尾区域表尾区域在报表每一页的结尾处显示一次。表尾区域可以包含 文本、图形、数据及其运算。27报表编辑器布局模型主体(Body)和边距(Margin)区域主体和边距区域出现在表头和表尾之间,是报表的主要部分。当第一次进入

40、一个表的布局模型编辑窗口时,所处的位置就对应着报表的主体和边距区域。主体区域包 含报表的主要文本、图形、数据及其运算。边距区域可以包含文本、图形、页码、页 总数等信息。基本布局对象在布局模型编辑器中,可以定义报表输出的格式,具体的说是通过定义和修改布局对 象来实现的,Oracle Reports中的基本布局对象有框架(Frames)、重复框架(Repeating Frames)、域(Fields )、图文( Boilerplate )、(Anchors)、按钮(Buttons)、OLE2 对象、Oracle Graphics 对象。在布局模型编辑器中,每个对象的大小、相对位置、格式、颜色和字体

41、都以图形化的格式直观地显现在布局模型编辑 器窗口的绘画区中。这些布局对象的定义和编辑也是在绘画区中进行的。在绘画区 中,Oracle Reports 使用不同的图形和箭头来代表不同类型的对象和它们的属性。下面分别介绍这几种布局对象。框架(Frames)框架用来其它布局对象。一个框架可以包含任何布局对象,包括其它的框架。框架的打印次数与它所的对象的打印次数一样,框架与无关。框架的用途框架的主要用途如下:把对象组织在一起,以保证在打印时它们之间的相对位置;避免覆盖其他对象和被其他对象覆盖;将报表划分为几个部分。例如,在每一页的顶部采用列表式的报表格式,而在底部采 用钜阵式的报表格式;确保一些对象总

42、是在相同的页中。框架的类型框架分为两种类型:缺省框架和用户定义框架。缺省框架:当接受缺省的布局模型时,Oracle Reports会自动生成包含对象的框架。缺省框架名形式为“M_n”,其中 n 为整数。缺省框架又可分为两种:垂直可变的组框架和固定的框架 。例如,当创建最初缺省的布局模型时,Oracle Reports 产生一个整个布局模型的组框架, 这个组框架在的框架通常是图文对象( Boilerplate)建立垂直方向上是可伸缩的。而固定的,例如列的标题。用户定义框架用户定义的框架是在布局模型编辑器中通过“框架”工具建立的,建立框架的步骤如 下:在布局模型编辑器的工具栏中选中“框架”工具;在

43、布局模型编辑器的绘画区中拖出 一个方框区域;双击该方框区域,弹出其属性选项板;调整属性,如垂直、水平距 离,是否可扩展、可压缩等;关闭属性选项板,接受调整后的属性。28框架的重要属性用参数替代 SELECT语句的,包括选择列、表,甚至整个 SELECT 语句。重复框架(Reporting Frames)重复框架主要用于显示由一个组检索出来的多行数据的对象。一个重复框架可以包含任何布局对象,也可以包括其它的重复框架。重复框架是与相关的,它为一个组的每一条及其所关联的数据模型对象都打印一次。使用重复框架可以控制层的显示和格式,比如:的打印方向、的空隙、边框线、颜色、字体等。重复框架的箭头方向指明了

44、重复框架重复的方向。嵌套的重复框架常常用于建立主/从表和分组表重复框架的类型重复框架分为两种类型,缺省的重复框架和用户定义的重复框架。缺省的重复框架当接受缺省的布局模型时,Oracle Reports会自动地为数据模型中的每一个组生成一个重复框架,并且为组中的每一列都对应安排一个域,放在重复框架内。用户定义的重复框架用户定义的重复框架是在布局模型编辑器中通过“重复框架” 工具建立的。建立重复框架的步骤如下:在布局模型编辑器的工具栏中选中“重复框架”工具;在布局模型编辑器的绘画区中 拖出一个方框区域;双击该方框区域,弹出其属性选项板;调整属性设置; 关闭属性选项板,接收调整后的属性,完成定义重复

45、框架。重复框架中的几个重要属性源(Source):每一个重复框架必须有一个源 组作为其数据来源,在重复框架中每一条源数据显示一次;打印方向( Print Drection) :重复框架中的打印方向,有:横向、纵向、横向/纵向、纵向/横向;um Record per Page) :在逻辑页上显示的重复框架每页的最大数(的最大数目,可以通过该属性改善报表的可看性。例如,希望在每个逻辑页上只显示 三条,则将该属性设置为 3。该属性的取值可以为正整数和空,若为空,则尽可能在一个逻辑页上显示最大数目的。最小孤立数(Minimum Widow Records):必须在一张逻辑页上显示的最少记录数。若从逻辑

46、页的指置开始放不下此属性中给出的数,则将从下一张逻辑页开始显示。例两个的重复框架按纵向打印,第二个重复框架位于第一页的底部,但第一页上仅有打印两条的空间了,为了使报表看起来更美观,我们希望第二个重复框架换置为 3。能从第二页开始打印,这时就需要将“最小孤立数”设列模式(Column Mode):用于控制如何为重复框架中的提取数据和格式化数据。这个属性有两个选项:“是”和“否”。若选“是”,则允许在上一个重复框架的没有打完之前就打印下一个重复框架的。例如,若设置“列模式”为是,则虽然2 直到第二页才打完,但3 却可以开始在第一页上打印了。若设置:“列模式”为“否”,则3 只能等到2 打印完后,才

47、开始在第二页上打印。29水平框架间隔:重复框架音的水平间隔。当打印方向为“ 纵向”或“纵向/横向” 时,该属性的设置无效。垂直框架间隔:重复框架间的垂直距离。当打印方向为“ 横向”或“横向/纵向” 时,该属性的设置无效。域 (Fields)域是用来放置参数、列、页号、当前日期等值的地方。例如一个参数或列没有对应的 域,那么它的值在报表输出时显示。当生成一个缺省布局模型时,Oracle Reports 会自动地为每一个列建立一个域,并将这些域排放在重复框架中。1 域的类型域有两种类型:缺省域和用户定义域,当接爱缺省的布局模型时,Oracle Reports会自动地为每一列产生一个域,并将这些域排

48、放在重复框架中。每一个域的属性都是缺省生成的,但是可以修改。用户定义域用户可以根据需要定义一些域来显示诸如页号、日期等信息。用户定义的域是在布局模型编辑器中通过:“域”工具建立的。建立域的步骤如下:在布局模型编辑器的工具栏中选中“域”工具;在布局模型编辑器的绘画区中画出一 个足够存此域值大小的方框区域;双击该方框区域,弹出其属性选项板;调整属性设 置;关闭属性选项板,接受调整后的属性,即完成域定义;在布局模型编辑器中为该 域添加文字信息。域的数据来源域的数据来源有三种:在数据模型中定义的一个列或参数;系统变量:包括当前日期(&current date)、页码( &logical

49、 page number)、面板数值(&panel number)、物理页码(&physucal page number)、总记页(&total logical pages)、总记面版(&total panel)、总计物理页(&total physical pages);系统参数(如 Copies、Background 等)。域的属性:源:域值的来源。源数据来源:源的数据类型,此属性为只读。可视的:若设置为“否”,则表示该域不被格式化。这一属性公用于那些在图文对象中的域,通常用于格式信件式报表。若想一个“可视的”属性设置为“否”的域,可以在图文对象中输入

50、“&fieldname ”。格式掩码:定义以何种格式显示在域中的日期和数值。有值列表可供选择, 但是字符型的域没有该属性。编页码:当域的源列是页码、物理页码、总记页、总记物理页之一时,可以使用该属性来定义如何计算页号。当击:编页码按钮,出现“编页码”框。图文(Boilerplate)图文是一个获取不到但又要在报表中输出的对象,如文本、线条、图形等。可以使用图文对象来改变报表的外观,例如建立报表的页头、增加图形等。30图文的类形图文有两种类型:缺省的图文和用户定义的图文。用户定义的图文又分为两种,一种 是建立一个新的图文,一种是从外部文件输入的图文。缺省的图文当接受缺省的布局模型时,Or

51、acle Reports会自动地为每个域生成一个列标题。对于某些报表类型,Oracle Reports会在列标题下加一条下划线。建立一个新的图文一个新的图文是在布局模型编辑器中通过图文工具建立的。建立一个新的图文的步骤 如下:在布局模型编辑器的工具栏中选中一个:图文工具;在布局模型编辑器的绘画区中单 击要显示图文的地方;输入文本或图形信息;双击图文对象, 弹出其属性选项板;调整属性设置;关闭属性选项板,接受调整后的属性,即完成图文定义。从外部文件输入图文采用图文对象来显示一个外部的文本文件或图形文件的内容。有两种方式输入图文: 用“导入”工具输入一个文件内容。这样外部文件的内容就会成为报表的固

52、定图文, 图文的内容不能随着以后外部文件的内容的改变而改变。用“ 导入”工具输入一个文件内容的步骤如下:选择“文件”菜单的“导入”命令,然后选择如表26-1 所示的四种文件类型之一。弹出输入文件的框。用“浏览”按钮为文件,并指定文件格式和文件数量。单击“ok”按钮,接受并此框。“导入”的 4 种文件类型连接一个文件。连联接一个文件,只是建立了一个指针,指向要连接的文件, 并不将文件的内容输入到图文对象中,所以在每一次运行报表时,都动态地将文件内容输入到图文对象中, 因此,图文对象中的内容是动态的,会随着文件内容的改变而改变,采用这种方式,能保证报表的输出总是反映最新的内容,这种方式是在布局模型

53、编辑中通过“ 件”工具建立的。文连接一上个文件的步骤如下:在布局模型编辑器的工具栏中“文件”工具。在布局模型编辑器的绘画区中要显示图文的地方画出一个方框。双击该方框,弹出其属性选项板。31选择文 件 类 型图形划线格式。GMG 或者Oracle 划线格式图像图像文件文本文本文件调色板编辑器的彩色绘图板调整属性设置。在“源文件格式”项指定文件格式(文本、图像、GGM 、Oracle 图形格式、图像 URL),用“源文件名”按钮指定文件名及其路径。关闭属性板,接受调整后的属性。(Anchors)是用于确定报表输出时子对象相对于其父对象的水平和直位置。由于在运行报表时,有些布局会发生变化,所以需要用来定义一个对象相对于另一个对象的位置。例如,对于一个水平方向大小可变的重复框架,

温馨提示

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

评论

0/150

提交评论