![性能優(yōu)化和體系結(jié)構(gòu)oracle reports培訓(xùn)教程5656_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/9/e15f9ff0-dcfe-4df6-9161-223b728735df/e15f9ff0-dcfe-4df6-9161-223b728735df1.gif)
![性能優(yōu)化和體系結(jié)構(gòu)oracle reports培訓(xùn)教程5656_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/9/e15f9ff0-dcfe-4df6-9161-223b728735df/e15f9ff0-dcfe-4df6-9161-223b728735df2.gif)
![性能優(yōu)化和體系結(jié)構(gòu)oracle reports培訓(xùn)教程5656_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/9/e15f9ff0-dcfe-4df6-9161-223b728735df/e15f9ff0-dcfe-4df6-9161-223b728735df3.gif)
![性能優(yōu)化和體系結(jié)構(gòu)oracle reports培訓(xùn)教程5656_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/9/e15f9ff0-dcfe-4df6-9161-223b728735df/e15f9ff0-dcfe-4df6-9161-223b728735df4.gif)
![性能優(yōu)化和體系結(jié)構(gòu)oracle reports培訓(xùn)教程5656_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/9/e15f9ff0-dcfe-4df6-9161-223b728735df/e15f9ff0-dcfe-4df6-9161-223b728735df5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Oracle Reports 培訓(xùn)HAND作者:創(chuàng)建日期:最近修改日期: 文檔編號:版本:孟軍2000 年 11 月 28 日2000 年 11 月 28 日MD060 1審批人:審批人 1 審批人 2 拷貝數(shù) 文檔控制更改瀏覽者分發(fā)ii拷貝數(shù)職位1資料管理員1項目經(jīng)理職位日期作者版本說明2000/02/21孟軍1沒有以前的版本目錄文檔控制ii綜述4Oracle Reports概述4Oracle Reports 的版本4Oracle Reports 的安裝4建立并運行一個簡單的報表4建立報表4編譯運行報表4習題4數(shù)據(jù)模型(Date Model)4功能及構(gòu)成4數(shù)據(jù)模型編輯器4.4組4列4數(shù)據(jù)連接
2、4參數(shù)4布局( Layout)4布局功能4布局模型編輯器4報表區(qū)域4基本布局對象4幾種缺省的報表布局風格4參數(shù)表格( Parameter Form)4建立用戶自定義的參數(shù)表格4報表觸發(fā)器(Report Triggers)4觸發(fā)器的觸發(fā)時機及用途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運行權(quán)限賦給相應(yīng)的職責4iv綜述本文檔為Oralce Reports 培訓(xùn)文檔,僅限于Hand 培訓(xùn)使用。本文檔以實用為目的,并未包括 Oracle Reports 的所有方面。本次培訓(xùn)的目的,是通過兩天的 Oracle Reports 培訓(xùn),可以使大家了解Oracle Reports的基本概念,學會用 Oracle Reports 來設(shè)計簡單的報表去解決實際的需求。5Oracle Reports 概述Oracle Reports是 Oracle 關(guān)系數(shù)據(jù)庫系統(tǒng)提供的一個功能強大、易于使用的報表定義工具軟件,它用于開發(fā)、顯示和打印結(jié)果報表。使用 Oracle Reports的應(yīng)用開發(fā)應(yīng)當
4、熟悉SQL 和 PL/SQL。Oracle Reports的應(yīng)用分為兩步:第一步,由應(yīng)用開發(fā)使用Oracle Reports來編制各種報表程序,應(yīng)用開發(fā)在定義報表應(yīng)用以前應(yīng)先了解實際的需求,然后將以上需求抽向成Oracle Reports 的相應(yīng)對象,并填入到 Oracle Reports 的設(shè)計界面中。第二步,即由最終用戶運行應(yīng)用開發(fā)所定義的各種報表程序,填入實際的運行參數(shù),從 Oracle 數(shù)據(jù)庫中檢索數(shù)據(jù),生成并打印實際的報表。6Oracle Reports 的版本Oracle Reports最常用的版本主要有兩個,一個是 Developer 2000 1.6 中包含的 Oracle R
5、eports 2.5,它是開發(fā)Oracle Applications 11 版所用的版本;另一個版本是Oracle Forms & Reports 6I 中包含的 Oracle Reports 6 I,它是開發(fā)Oracle Applications 11 I 所用的版本。下面兩圖分別是 Oracle Reports 2.5 和Oracle Reports 6I 的界面7Oracle Reports 的安裝Oracle的安裝方法大體類似,下面以 Oracle Reports2.5 的安裝為例,介紹 OracleReports的安裝:1、 將Oracle Reports 的安裝光盤放入光驅(qū)
6、中, Oracle 安裝程序會自動運行,然后選擇要使用的語言,填入公司名稱和 Oracle 當前根目錄,按“確定”按鈕進入下一步;2、 出現(xiàn)安裝管理器窗口后,在左邊窗口選擇 Developer/2000-Reports 2.5 組件后點擊“安裝” 按鈕進行安裝,安裝程序會自動分析還需安裝的其它組件并進行安裝,安裝完成后安裝程序。83、 進入Oracle安裝目錄下的 network/admin 目錄,修改 SQLNET.ORA 文件和TNSNAMES.ORA 文件,配置 SQL*NET 使得Oracle Reports可以連上 Oracle 數(shù)據(jù)庫。下面是兩個文件的樣例:文件: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數(shù)據(jù)庫,如果可以連通,說明 Oracle Reports 安裝成功。10建立并運行一個簡單的報表我們先以一個最簡單的報表為例,說明 Oracle Reports的開發(fā)流程。建立報表我們的例子是當前用戶下的對象,包括表、視圖以及同義詞。1、編寫的 SQL 語句。當前用戶下所有的對象可以在系統(tǒng)的一個 VIEW “CAT”中查出,這個 VIEW 結(jié)構(gòu)如下:SQL> desc cat;列名可空值否類型-TABLE_NAMENOT NULLVARCHAR2(30)TABLE_TYPEVARCHAR2(11)所以
9、我們要寫的很簡單:SELECT TABLE_NAME,TABLE_TYPEFROM CAT;2、打開 Reports Designer,連接數(shù)據(jù)庫;由“開始程序Developer 2000 for NT Reports Designer ”打開“ReportsDesigner”;選擇菜單“ FileConnect”連接數(shù)據(jù)庫,在數(shù)據(jù)庫連接串,點擊“Connect ”連接數(shù)據(jù)庫??騼?nèi)填入用戶名、口令及3、創(chuàng)建數(shù)據(jù)模型(Date Model)雙擊“Date Model”進入數(shù)據(jù)模型設(shè)計器;點擊左邊工具欄上的 “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”圖標,出現(xiàn)報表參數(shù)窗口;點擊“運行報表(Run Report)”,測試剛才創(chuàng)建的報表。編譯運行報表我們用 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” 連接數(shù)據(jù)庫; 選擇“FileRun” 并選中要運行報表的 rep 文件,出現(xiàn)參數(shù)窗口, 填寫需要的參數(shù)后選擇“Run Report ” 報表運行出來,可以選擇“Print”打印報表。除了手工通過“Reports R untime”來運行報表外,我們也可以建一個 Windows 的快捷方式來直接運行報表,快捷方式的
13、樣例如下:C:ORANTBIN R25RUN32.EXE d:test1.rdf system/managermeng_prod另外,我們也可以在 Forms 上直接調(diào)用報表;或者把報表安裝在application上,在Application 里面來運行報表;或者通過 Report Server,用Web 方式來運行報表。這些方式,在這里就不做詳細的介紹。習題建立并運行一個簡單的報表16數(shù)據(jù)模型(Date Model)本章首先介紹數(shù)據(jù)模型的功能及購成,以及編緝數(shù)據(jù)模型的數(shù)據(jù)模型編輯器,然后分 別介紹構(gòu)成數(shù)據(jù)模型的五個部分:(Queries)、組(Groups)、列(Columns )、連接(
14、Links)和參數(shù)( Parameter)功能及構(gòu)成數(shù)據(jù)模型用于定義一個報表中使用的數(shù)據(jù)及數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)可以是數(shù)據(jù)庫表中的 原始數(shù)據(jù),也可以是經(jīng)過加工后的數(shù)據(jù),如工資的總和等。從數(shù)據(jù)庫中檢索出的數(shù)據(jù) 是否在報表輸出中顯示,也是在數(shù)據(jù)模型中定義的。數(shù)據(jù)模型由五部分對象組成:(Queries)、組(Groups )、列(Columns)、連接(Links)和參數(shù)( Parameter) 。下面的章切將詳細介紹這五種對象。數(shù)據(jù)模型編輯器打開數(shù)據(jù)模型編輯器有三種方式打開數(shù)據(jù)模型編輯器的方法:l選擇“工具”上的“報表編輯器”,打開“報表編輯器”窗口。在“報表編輯 器”窗口中,再單擊“數(shù)據(jù)模型”小圖標
15、, 進入:“報表編輯器數(shù)據(jù)模型”窗口。l雙擊對象導(dǎo)航器中的“數(shù)據(jù)模型結(jié)點圖標, 進入:“報表編輯器數(shù)據(jù)模型”窗口。17l在“窗口”菜單上選擇一個含有數(shù)據(jù)模型的窗口。組成數(shù)據(jù)模型編輯器由以下部分組成:繪圖區(qū):在繪圖區(qū)中可以以圖形方式對對象進行創(chuàng)建、修改、和刪除操作。但是在這里只能看到對象間的相對位置關(guān)系,如果想看對象的具體設(shè)置,必須打開對象的 屬性框。工具條:工具條提供了一些對數(shù)據(jù)模型及其對象進行操作的工具。其中包括有從“報 表編輯器數(shù)據(jù)模型”窗口轉(zhuǎn)移到:“報表編輯器布局模型”窗口或“報表編輯器參數(shù)表格”窗口的工具。注意,數(shù)據(jù)模型編輯器、布局編輯器和參數(shù)表格編輯器都 屬于報表編輯器,一次只能打開
16、其中一個,可以通過工具條在三者窗口間切換。實際上就是一條 SQL SELECT 語句,它決定了從數(shù)據(jù)庫中指定的表或視圖中取哪些行和列。通過輸出時顯示。所取得的數(shù)據(jù)可被用于計算、排序、集合運算等,并可以在報表內(nèi)部和外部報表中的可分為兩種:內(nèi)部和外部。兩者的區(qū)別在于外部可以被其他報表多次,而內(nèi)部不能被其他報表參考,只能被其所屬的報表。單報表和多報表根據(jù)報表中的個數(shù)可以將報表分為單報表和多報表。單報表報表的常見格式有列表式( Tabular)、只有一個的報表稱為單報表。單式(Mailing Label)、信封式( Form Letter)以及分組式。單報表雖然只有一個,但可以多次顯示數(shù)據(jù),并且可以用
17、不同的格式顯示。多報表含有多個的報表稱為多報表。多個相互之單可以有關(guān)聯(lián),稱為相關(guān)的多報表;也可以沒有關(guān)聯(lián),稱為不相關(guān)的多報表。相關(guān)的多報表多個之間相互關(guān)聯(lián),一般用于主從式報表,也就是說,報表的一部分數(shù)據(jù)決定了報表的另一部分數(shù)據(jù)。取出前一部分數(shù)據(jù)的稱為主, 取出后一部分的稱為從,主的每一條都將引起從的執(zhí)行, 從只檢索與主匹配的那些。兩個之間通過定義數(shù)據(jù)連接產(chǎn)生。不相關(guān)的多報表多個之間沒有關(guān)聯(lián),Oracle Reports將是一系列不相關(guān)的數(shù)據(jù)。地為每一個獲取數(shù)據(jù),顯示出來的之間運行的先后次序由數(shù)據(jù)模型中的先上后下,先左后右,所以放在左上角的次序決定。在數(shù)據(jù)模型中, 最先執(zhí)行。次序是18組將一個的
18、數(shù)據(jù)分成幾個集合,每個集合稱為組。組有過濾數(shù)據(jù)的功能,通過組可以對的結(jié)果進行過濾。在缺省的情況下,Oracle Reports 為數(shù)據(jù)模型中的每一個產(chǎn)生一個組,取名取成查詢的名稱。名稱以“q_”開頭,而組名以“g_ ”開頭。例如,名稱為“q_emp”,則 Oracle Reports為其產(chǎn)生的缺省組名為“g_emp”。組的名稱可以修改,但若在組建立以后改變的名稱,其組名隨著相應(yīng)改變。用戶定義組可用于以下三種情況:產(chǎn)生分組報表;產(chǎn)生矩陣報表;產(chǎn)生子匯總。組過濾器組過濾器允許有條件的選擇由檢索出來的數(shù)據(jù),通過組過濾器過濾結(jié)果。Oracle Reports封裝過濾器:Oracle Reports 封
19、裝過濾器允許指定在一個組中希望檢索的數(shù),在報表開發(fā)過程中可以使用封裝過濾器來限制數(shù)據(jù)。Oracle Reports 軟件包中有兩個封裝過濾器:First Filter ,只顯示組內(nèi)前 n 條;Last Filter,只顯示組內(nèi)后n 條。應(yīng)用一個封裝過濾器的步驟如下:雙擊組對象,打開組對象屬性選項板;選擇過濾器 類型,可選擇“無”、“前幾個”、“后幾個”和“ PL/SQL”;選擇“ 前幾個”或者“后幾個”則會出現(xiàn)“的數(shù)值”,在該項中填入所要過濾的數(shù)目。用戶定義過濾器:用戶可以定義自己的過濾器來限制在特定條件下的 戶定義的過濾器是通過編寫 PL/SQL 代碼建立的。的檢索。用建立用戶定義過濾器的步
20、驟如下:雙擊組對象,打開組對象屬性選項板;選擇過濾器 類型為“PL/SQL”,則會出現(xiàn)“PL/SQL 過濾器”;單擊“PL/SQL 過濾器”按鈕,彈出“ PL/SQL程序單元編輯器”,輸入 PL/SQL 程序,編譯通過后。組的層次結(jié)構(gòu)數(shù)據(jù)模型中組的層次決定了在缺省布局框中組的次序,同時也決定了在缺省布局中組的次序,但這不是最終的報表格式,因為可以對缺省的顯示格式進行修改。在數(shù)據(jù)模型編輯器中若沒有數(shù)據(jù)連接,則組的層次是由組在數(shù)據(jù)模型編輯器中的位置 從左至右,從上至下決定的。在數(shù)據(jù)模型編輯器中若有數(shù)據(jù)連接,則組的層次可以由 數(shù)據(jù)連接描述。列報表的列表示報表的數(shù)據(jù)。在定義了從數(shù)據(jù)庫檢索數(shù)據(jù)的后,可能
21、需要進一步調(diào)整報表,增加的列,而這些列可以用作報表的數(shù)據(jù),執(zhí)行總計匯總等功能。列的類型Oracle Reports中的列可以分為兩類,缺省列和用戶定義列。、1、缺省列Oracle Reports為SELECT語句中的每一項都建立一個列,因為它們直接對應(yīng)從數(shù)據(jù)庫中檢索出來的各個列,所以缺省列也叫數(shù)據(jù)庫列。列的數(shù)據(jù)類型、寬度都可以直接從數(shù)據(jù)庫的數(shù)據(jù)字典中獲得。19Oracle Reports除了支持典型的數(shù)據(jù)類型的列(如字符型、數(shù)值型、日期型)以外,還支持圖型列。圖型列的值可能是:直接在數(shù)據(jù)庫中的圖型:這種列的數(shù)據(jù)類型通常是 RAW 或 LONG RAW。在這種情況下,需在列的屬性選項板中指明圖形
22、格式。文件名或者是圖型的 URL:這種列的數(shù)據(jù)類型通常是 REF,列中的值對應(yīng)于用指針指向一個存在操作系統(tǒng)中的文件,報表輸出時會根據(jù)指針將文件內(nèi)容輸出,在這種情況 下,需在列的屬性選項板中將“Read from File”設(shè)置為“Yes”并輸入文件名。文件名前可以帶有路徑,若文件名前沒有帶有路徑, 則Oracle Reports 會按照其路徑搜索順序查找文件??梢酝ㄟ^Report Builder 的環(huán)境變量 REPORT30_PATH 來設(shè)置搜索路徑。注意,若列的屬性選項板中“Read from File”被置為“No ”并且輸 入了文件名,則報表最后輸出的只會是文件名,而是文件內(nèi)容。Orac
23、le Reports支持多種圖形格式,包括 BMP、CALS、CGM、GIF、JFIF 、PCD、PCX、PICT、RA S、TIFF 等。2、用戶定義列用戶可在特定的組內(nèi)或報表一級建立列。在特定的組內(nèi)建立的列稱為組一級的列,該 列與組內(nèi)的其他列有相同的顯示頻度。而報表一級的列只在整個報表中顯示一次。用 戶定義列分為三種類型:公式列、占位列和匯總列。(1)公式列(Formula Column): 公式列是對其他列執(zhí)行一個用戶定義的計算。例如,公式“:SAL*1.2”中對“SAL”列進行計算。而“:SAL+:COMM”則是對一 條兩個列“SAL”和“COMM”進行計算。建立公式列的方法是用 PL
24、/SQL語句寫一個函數(shù),從一個或多個列中計算結(jié)果,該列的缺省名為“CF_n ”。建立公式列的具體步驟如下:在數(shù)據(jù)模型編輯器中單擊:“公式列”小圖標。如果要 在組中建一個公式列,則在畫布的空白區(qū)域內(nèi)單擊一下鼠標左鍵,如果要建一個報表 一級的公式列,則在畫布的空白區(qū)域內(nèi)單擊一下鼠標左鍵,會生成一個公式列對象; 雙擊該公式列對象,彈出其屬性選項板;雙擊屬性選項板中的“PL/SQL 公式”項, 彈出“程序單無編輯器”;在“程序單元編輯器”中為公式項用PL/SQL 語句書寫一個計算公式并編譯通過。(2)占位列( Placeholder Column):占位列的值和數(shù)據(jù)類型是通過 PL/SQL 語句設(shè)置的
25、,該列的缺省名為“CP_n”。當需要有選擇地設(shè)置一個列的值時(例如,在每次出現(xiàn)第 n 個時,或每次出現(xiàn)包含有特殊值的時)占位列非常有用??梢栽谝韵聨讉€地方設(shè)置占位列的值:在 Before Reports的報表觸發(fā)器中( 如果占位列是一個報表級的列);在報表級的公式列中(如果占位列是一個報表級的列);在占位列組或占位列組下面的公式中(為組中的每一條設(shè)一次值)。占位列的用途:在公式列的 PL/SQL 代碼中計算出的一些值可以分配給不同的占位列;利用占位列保存中間值。例如,當前檢索出的最高工資對應(yīng)的。(3)匯總列( Summary Column):匯總列是對其他列的數(shù)據(jù)執(zhí)行計算。Oracle Rep
26、orts為匯總列提供的計算函數(shù)有:總和、平均值、最小值、最大值、計數(shù)、第一 個、最后一個、( 總計)、標準差、方差。建立一個公式列的具體步驟如下:在數(shù)據(jù)模型編輯器中單擊“ 匯總列”小圖標,如果要在組中建立一個匯總列,則在組中你希望該列所在的位置上單擊一下鼠標左鍵,如 果要建一個報表一級的匯總列,則在畫布的空白區(qū)域內(nèi)單擊一下鼠標左鍵, 會生成一個匯總列;雙擊該匯總列對象,彈出其屬性選項板;從屬性選項板中的“匯總”項下的“功能”子項的下拉列表中選擇所需的計算公式;在“源” 子項中選擇要匯總的列名;在“重設(shè)于”子項中選擇匯總的頻度,即是就整個報表做一次匯總還是每一頁做 一次匯總,或者每一組做一次匯總
27、;當“功能”子項被選為“ (總計)” 時,“計20算于”項有用,其值為計算“(總計)”的匯總列時的組名 。該項只對“ (總計)”有用。列的屬性選項板以下分別介紹列的公共屬性,以及公式列、占位列和匯總列的各自特殊屬性。1、 公共屬性在用戶定義列的屬性選項板中,有許多屬性是相同的。以下是公共屬性:名稱(Name):列的名稱,不超過 30 個字節(jié)。對于數(shù)據(jù)庫列,即為的 SELECT語句中列的列名,對于公式列,其名稱為“CF_n”, 對于占位列,其名稱為“CP_n”,對于匯總列,其名稱為“CS_n”。其中 n 是整數(shù)。備注(Comment):為列所作的注釋, 不超過 64K。數(shù)據(jù)類型(Datatype
28、):列中數(shù)據(jù)的類型,有Character、Date、Long、Long Raw 、Number、Raw、Ref、Varchar、Varchar2 等。對于數(shù)據(jù)庫列,其數(shù)據(jù)直接從數(shù)據(jù)庫的數(shù)據(jù)字共中繼承;對于公式列和占位列,其缺省數(shù)據(jù)類型為 Num ber;對于匯總列,如果其執(zhí)行的是計數(shù)運算,則數(shù)據(jù)類型為 Number,否則與其參與計算的列的類型相同。寬度(Width): 列值所能占據(jù)的最大字符數(shù)??諘r的值(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、計” 時才有用。計算百分比是用總數(shù)去除一個值。這項屬性定義用于百分比計算的總數(shù)。重設(shè)于(Reset At):確定何時匯總列上的值會被重置為零,從而可重新計算下一個子合計??梢栽O(shè)為頁、報表或某一組名,分別表示在該頁、報表或組上該匯總列的值會 被重置為零。有值列表可供選擇。單元次序( Product Order):只適用于矩陣報表中的列。由于在矩陣表中有很多組, 這些組可以按不同的順序求值。因此,在矩陣表中建立匯總列時,就需用 Product Order 屬性告訴 Oracle Reports先求哪個組的值,再求哪個組的值。21數(shù)據(jù)連接數(shù)據(jù)連接用于發(fā)建立兩個據(jù)連接。數(shù)據(jù)之間的關(guān)系。兩個之間的連線即
31、表示了一個數(shù)數(shù)據(jù)連接的工作原理數(shù)據(jù)連接通過主鍵和外部鍵定義了兩個之間的主/從關(guān)系。主/從關(guān)系中父的每一條。的產(chǎn)生都會引起子的執(zhí)行,子只檢索滿足在連接中指定的條件的通常情況下,兩個之間的連接是等值連接,但也可以采用 SQL 語句(如WHERE、HAVING、START WITH 等)建立非等值連接。當一個帶有數(shù)據(jù)連接的報表執(zhí)行時,該數(shù)據(jù)連接就被轉(zhuǎn)換成一個SQL 子句,并添加到子的后面。子根據(jù)父的主鏈值執(zhí)行。建立數(shù)據(jù)連接有兩種方法:一種是手動建立的數(shù)據(jù)連接,一種是自動建立的數(shù)據(jù)連 接。建立一個手動連接建立一個手動連接的步驟如下:在數(shù)據(jù)模型編輯器中選擇:“ 數(shù)據(jù)連接”小圖標;單擊父的主鏈列或外部鍵列
32、,并拖動鼠標到子的主鏈或外部鍵列,使它們之間建立一條連線。連線總是從父到子的;雙擊連線對象,彈出其屬性選項板;,即完成數(shù)據(jù)連接的建立。在屬性選項板中設(shè)置連接對象的屬性,然后建立一個自動數(shù)據(jù)連接如果在中,兩個基表之間已經(jīng)建立了主/外鍵約束關(guān)系,則可在數(shù)據(jù)模型編輯器中 建立一個自動數(shù)據(jù)連接。建立一個自動數(shù)據(jù)連接的步驟如下:在數(shù)據(jù)模型編輯器中選擇:“數(shù)據(jù)連接”小圖標;單擊父,并拖動鼠標到子上,系統(tǒng)會自動顯示父和子之間是依據(jù)哪 個列建立連接的;雙擊連接對象,彈出其屬性選項板;對屬性進行適當調(diào)整之后。數(shù)據(jù)的屬性選項板數(shù)據(jù)連接的屬性選項板含有以下幾項屬性SQL 子句:有“HAVING ”、“START W
33、ITH”和“WHERE”子句。條件:有“ =”、“<” 、“<=”、“>”、“>=”、“<>”、“相似”、“不相似”。父級組、父級列、子、子級列:表明連接關(guān)系的數(shù)據(jù)來源,它們的值是只讀的。22參數(shù)參數(shù)是報表變量,在報表運行過程中,用戶可以為其指定不同的值。參數(shù)主要用于在 運行過程中修改 SELECT語句和設(shè)置 PL/SQL變量。Oracle Reports 中的參數(shù)分為兩類:系統(tǒng)參數(shù)和用戶參數(shù)。下面分別給予介紹系統(tǒng)參數(shù)系統(tǒng)參數(shù)又稱缺省參數(shù)。Oracle Reports允許為每一個報表修改標準的運行設(shè)置,系統(tǒng)參數(shù)共有11 個,每個系統(tǒng)參數(shù)都有一個缺省值,系統(tǒng)參
34、數(shù)的值可以修改,但不能刪除也不能重命名系統(tǒng)參數(shù)。用戶參數(shù)用戶參數(shù)是用戶建立的一個對象,該對象用于保存在運行時用戶可以改變的值。在一個的任何地方都可以用戶的參數(shù),用戶參數(shù)主要用于以下幾個方面:在 SELECT語名的WHERE 子句中用參數(shù)替代常數(shù)作限制值。用參數(shù)替代 SELECT語句的,包括選擇列、表,甚至整個 SELECT 語句。在 SELECT列表中用參數(shù)替換一個單列或一個表達式。23系統(tǒng)參數(shù)功能取值缺省值BACKGROUN D是否為報表分離出一個進程Yes、No NoCOPIES報表輸出到打印機的份數(shù)任何整數(shù)1CURRENTY貨幣用什么符號,如“¥”最多四個字符DECIMAL小數(shù)點的符號,
35、如“.”任何單個字符DESFOMAT輸出設(shè)備的格式,如:打印機DfltDflt、Pslan80DfltDESNAME輸出設(shè)備的名字,如:文件名、打印機名DESTYPE輸出結(jié)果送到什么地方,如屏幕、文件、郵件、打印機等Fil、Screen、PrinterScreenMODE報表運行的模式,如:字符界面、圖形界面等Bitmap、CharacterDefaultORIENTATIN打印報表輸出時的打印方向, 如:Landscape 、PortraitLandscape 、PortraitLandsca pe 、PortraitPRINT JOB當運行一個報表時是否顯示“PRINT JOB”框YES、
36、NO YESTHOUSANDS千位數(shù)的符號,如“,”任何單個字符參數(shù)的參數(shù)的方法分為兩種:連接和置換。1、 連接連接主要用于替換SQL 語句和 PL/SQL 塊中的一個值或表達式。使用連接方法是在要的參數(shù)前加上“:”號。的連接的使用受以下限制不能在 SELECT語句中替換列名不能在 FROM 從句中使用連接不能替代保留的單詞和子句。如果用戶未事先建立連接的參數(shù),則 Oracle Reports 會缺省地在對象導(dǎo)航器的用戶參數(shù)下加入該參數(shù)。2、 置換置換可以用參數(shù)替代 SELECT語句的,如替換列名、FROM 子句、WHERE 子句、GROUP BY 子句、ORDER BY 子句、HAVING
37、子句、CONNECT BY子句、START WITH 子句等。使用置換號。的方法是在要的參數(shù)前加上“&”符注意:不能在 PL/SQL 中使用置換,但可以在 PL/SQL中使用連接。和連接不同的是,對于置換的參數(shù),用戶必須事先在對象導(dǎo)航器中建立,并且在屬性選項板中為其輸入初始化值,Oracle Reports缺省地建立該參數(shù)。3、 連接和置換的比較值列表為參數(shù)值建立值列表,這樣,在運行時用戶就可以從該值列表中選擇一個有效值???以限制用戶只能選擇值列表中的值,也可以允許用戶輸入其他的值。對于連接的參數(shù),值列表可以是一個不能修改的靜態(tài)的值列表,也可以是在運行時從數(shù)據(jù)庫中動態(tài)地選擇值的動態(tài)值
38、列表。對于置換的參數(shù),值列表只能是靜態(tài)的。24類型方式用途是否建立缺省參數(shù)連接:用于替換子句 WHERE、GROUP BY、ORDER BY 、HAVING、CONNECT BY、START WITH 中的單個值或表達式是,當不存在該參數(shù)時由系統(tǒng)缺省建立置換&替換 SELECT語句中的任意部分否,用戶必須事先建立該參數(shù)25布局(Layout)數(shù)據(jù)模型只是定義了要顯示的數(shù)據(jù)及數(shù)據(jù)之間的關(guān)系,至于這些數(shù)據(jù)將以什么樣的形 式顯示在用戶面前則沒有定義,布局的功能就是要確定報表的表現(xiàn)形式。下面分別介紹布局的功能、報表區(qū)域、基本布局對象和幾種缺省的報表布局風格。布局功能布局的功能是定義報表的格式,
39、包括數(shù)據(jù)文本及圖形的位置和顯示格式。26布局模型編輯器布局模型編輯器是定義和修改布局模型對象的窗口,如下圖所示:報表區(qū)域在布局模型編輯器中將報表的布局分為四個區(qū)域:表頭區(qū)域、表尾區(qū)域、主體區(qū)域和 頁邊距區(qū)域。這四個區(qū)域也會作為對象導(dǎo)航器的節(jié)點顯示在“ 對象導(dǎo)航器” 窗口上。表頭區(qū)域( Header)表頭區(qū)域在報表每一頁的開頭顯示一次,表頭區(qū)域可以包含文本、圖形、數(shù)據(jù)及其運 算。表尾區(qū)域表尾區(qū)域在報表每一頁的結(jié)尾處顯示一次。表尾區(qū)域可以包含 文本、圖形、數(shù)據(jù)及其運算。27報表編輯器布局模型主體(Body)和邊距(Margin)區(qū)域主體和邊距區(qū)域出現(xiàn)在表頭和表尾之間,是報表的主要部分。當?shù)谝淮芜M入
40、一個表的布局模型編輯窗口時,所處的位置就對應(yīng)著報表的主體和邊距區(qū)域。主體區(qū)域包 含報表的主要文本、圖形、數(shù)據(jù)及其運算。邊距區(qū)域可以包含文本、圖形、頁碼、頁 總數(shù)等信息。基本布局對象在布局模型編輯器中,可以定義報表輸出的格式,具體的說是通過定義和修改布局對 象來實現(xiàn)的,Oracle Reports中的基本布局對象有框架(Frames)、重復(fù)框架(Repeating Frames)、域(Fields )、圖文( Boilerplate )、(Anchors)、按鈕(Buttons)、OLE2 對象、Oracle Graphics 對象。在布局模型編輯器中,每個對象的大小、相對位置、格式、顏色和字體
41、都以圖形化的格式直觀地顯現(xiàn)在布局模型編輯 器窗口的繪畫區(qū)中。這些布局對象的定義和編輯也是在繪畫區(qū)中進行的。在繪畫區(qū) 中,Oracle Reports 使用不同的圖形和箭頭來代表不同類型的對象和它們的屬性。下面分別介紹這幾種布局對象。框架(Frames)框架用來其它布局對象。一個框架可以包含任何布局對象,包括其它的框架。框架的打印次數(shù)與它所的對象的打印次數(shù)一樣,框架與無關(guān)??蚣艿挠猛究蚣艿闹饕猛救缦拢喊褜ο蠼M織在一起,以保證在打印時它們之間的相對位置;避免覆蓋其他對象和被其他對象覆蓋;將報表劃分為幾個部分。例如,在每一頁的頂部采用列表式的報表格式,而在底部采 用鉅陣式的報表格式;確保一些對象總
42、是在相同的頁中。框架的類型框架分為兩種類型:缺省框架和用戶定義框架。缺省框架:當接受缺省的布局模型時,Oracle Reports會自動生成包含對象的框架。缺省框架名形式為“M_n”,其中 n 為整數(shù)。缺省框架又可分為兩種:垂直可變的組框架和固定的框架 。例如,當創(chuàng)建最初缺省的布局模型時,Oracle Reports 產(chǎn)生一個整個布局模型的組框架, 這個組框架在的框架通常是圖文對象( Boilerplate)建立垂直方向上是可伸縮的。而固定的,例如列的標題。用戶定義框架用戶定義的框架是在布局模型編輯器中通過“框架”工具建立的,建立框架的步驟如 下:在布局模型編輯器的工具欄中選中“框架”工具;在
43、布局模型編輯器的繪畫區(qū)中拖出 一個方框區(qū)域;雙擊該方框區(qū)域,彈出其屬性選項板;調(diào)整屬性,如垂直、水平距 離,是否可擴展、可壓縮等;關(guān)閉屬性選項板,接受調(diào)整后的屬性。28框架的重要屬性用參數(shù)替代 SELECT語句的,包括選擇列、表,甚至整個 SELECT 語句。重復(fù)框架(Reporting Frames)重復(fù)框架主要用于顯示由一個組檢索出來的多行數(shù)據(jù)的對象。一個重復(fù)框架可以包含任何布局對象,也可以包括其它的重復(fù)框架。重復(fù)框架是與相關(guān)的,它為一個組的每一條及其所關(guān)聯(lián)的數(shù)據(jù)模型對象都打印一次。使用重復(fù)框架可以控制層的顯示和格式,比如:的打印方向、的空隙、邊框線、顏色、字體等。重復(fù)框架的箭頭方向指明了
44、重復(fù)框架重復(fù)的方向。嵌套的重復(fù)框架常常用于建立主/從表和分組表重復(fù)框架的類型重復(fù)框架分為兩種類型,缺省的重復(fù)框架和用戶定義的重復(fù)框架。缺省的重復(fù)框架當接受缺省的布局模型時,Oracle Reports會自動地為數(shù)據(jù)模型中的每一個組生成一個重復(fù)框架,并且為組中的每一列都對應(yīng)安排一個域,放在重復(fù)框架內(nèi)。用戶定義的重復(fù)框架用戶定義的重復(fù)框架是在布局模型編輯器中通過“重復(fù)框架” 工具建立的。建立重復(fù)框架的步驟如下:在布局模型編輯器的工具欄中選中“重復(fù)框架”工具;在布局模型編輯器的繪畫區(qū)中 拖出一個方框區(qū)域;雙擊該方框區(qū)域,彈出其屬性選項板;調(diào)整屬性設(shè)置; 關(guān)閉屬性選項板,接收調(diào)整后的屬性,完成定義重復(fù)
45、框架。重復(fù)框架中的幾個重要屬性源(Source):每一個重復(fù)框架必須有一個源 組作為其數(shù)據(jù)來源,在重復(fù)框架中每一條源數(shù)據(jù)顯示一次;打印方向( Print Drection) :重復(fù)框架中的打印方向,有:橫向、縱向、橫向/縱向、縱向/橫向;um Record per Page) :在邏輯頁上顯示的重復(fù)框架每頁的最大數(shù)(的最大數(shù)目,可以通過該屬性改善報表的可看性。例如,希望在每個邏輯頁上只顯示 三條,則將該屬性設(shè)置為 3。該屬性的取值可以為正整數(shù)和空,若為空,則盡可能在一個邏輯頁上顯示最大數(shù)目的。最小孤立數(shù)(Minimum Widow Records):必須在一張邏輯頁上顯示的最少記錄數(shù)。若從邏輯
46、頁的指置開始放不下此屬性中給出的數(shù),則將從下一張邏輯頁開始顯示。例兩個的重復(fù)框架按縱向打印,第二個重復(fù)框架位于第一頁的底部,但第一頁上僅有打印兩條的空間了,為了使報表看起來更美觀,我們希望第二個重復(fù)框架換置為 3。能從第二頁開始打印,這時就需要將“最小孤立數(shù)”設(shè)列模式(Column Mode):用于控制如何為重復(fù)框架中的提取數(shù)據(jù)和格式化數(shù)據(jù)。這個屬性有兩個選項:“是”和“否”。若選“是”,則允許在上一個重復(fù)框架的沒有打完之前就打印下一個重復(fù)框架的。例如,若設(shè)置“列模式”為是,則雖然2 直到第二頁才打完,但3 卻可以開始在第一頁上打印了。若設(shè)置:“列模式”為“否”,則3 只能等到2 打印完后,才
47、開始在第二頁上打印。29水平框架間隔:重復(fù)框架音的水平間隔。當打印方向為“ 縱向”或“縱向/橫向” 時,該屬性的設(shè)置無效。垂直框架間隔:重復(fù)框架間的垂直距離。當打印方向為“ 橫向”或“橫向/縱向” 時,該屬性的設(shè)置無效。域 (Fields)域是用來放置參數(shù)、列、頁號、當前日期等值的地方。例如一個參數(shù)或列沒有對應(yīng)的 域,那么它的值在報表輸出時顯示。當生成一個缺省布局模型時,Oracle Reports 會自動地為每一個列建立一個域,并將這些域排放在重復(fù)框架中。1 域的類型域有兩種類型:缺省域和用戶定義域,當接愛缺省的布局模型時,Oracle Reports會自動地為每一列產(chǎn)生一個域,并將這些域排
48、放在重復(fù)框架中。每一個域的屬性都是缺省生成的,但是可以修改。用戶定義域用戶可以根據(jù)需要定義一些域來顯示諸如頁號、日期等信息。用戶定義的域是在布局模型編輯器中通過:“域”工具建立的。建立域的步驟如下:在布局模型編輯器的工具欄中選中“域”工具;在布局模型編輯器的繪畫區(qū)中畫出一 個足夠存此域值大小的方框區(qū)域;雙擊該方框區(qū)域,彈出其屬性選項板;調(diào)整屬性設(shè) 置;關(guān)閉屬性選項板,接受調(diào)整后的屬性,即完成域定義;在布局模型編輯器中為該 域添加文字信息。域的數(shù)據(jù)來源域的數(shù)據(jù)來源有三種:在數(shù)據(jù)模型中定義的一個列或參數(shù);系統(tǒng)變量:包括當前日期(¤t date)、頁碼( &logical
49、 page number)、面板數(shù)值(&panel number)、物理頁碼(&physucal page number)、總記頁(&total logical pages)、總記面版(&total panel)、總計物理頁(&total physical pages);系統(tǒng)參數(shù)(如 Copies、Background 等)。域的屬性:源:域值的來源。源數(shù)據(jù)來源:源的數(shù)據(jù)類型,此屬性為只讀??梢暤模喝粼O(shè)置為“否”,則表示該域不被格式化。這一屬性公用于那些在圖文對象中的域,通常用于格式信件式報表。若想一個“可視的”屬性設(shè)置為“否”的域,可以在圖文對象中輸入
50、“&fieldname ”。格式掩碼:定義以何種格式顯示在域中的日期和數(shù)值。有值列表可供選擇, 但是字符型的域沒有該屬性。編頁碼:當域的源列是頁碼、物理頁碼、總記頁、總記物理頁之一時,可以使用該屬性來定義如何計算頁號。當擊:編頁碼按鈕,出現(xiàn)“編頁碼”框。圖文(Boilerplate)圖文是一個獲取不到但又要在報表中輸出的對象,如文本、線條、圖形等??梢允褂脠D文對象來改變報表的外觀,例如建立報表的頁頭、增加圖形等。30圖文的類形圖文有兩種類型:缺省的圖文和用戶定義的圖文。用戶定義的圖文又分為兩種,一種 是建立一個新的圖文,一種是從外部文件輸入的圖文。缺省的圖文當接受缺省的布局模型時,Or
51、acle Reports會自動地為每個域生成一個列標題。對于某些報表類型,Oracle Reports會在列標題下加一條下劃線。建立一個新的圖文一個新的圖文是在布局模型編輯器中通過圖文工具建立的。建立一個新的圖文的步驟 如下:在布局模型編輯器的工具欄中選中一個:圖文工具;在布局模型編輯器的繪畫區(qū)中單 擊要顯示圖文的地方;輸入文本或圖形信息;雙擊圖文對象, 彈出其屬性選項板;調(diào)整屬性設(shè)置;關(guān)閉屬性選項板,接受調(diào)整后的屬性,即完成圖文定義。從外部文件輸入圖文采用圖文對象來顯示一個外部的文本文件或圖形文件的內(nèi)容。有兩種方式輸入圖文: 用“導(dǎo)入”工具輸入一個文件內(nèi)容。這樣外部文件的內(nèi)容就會成為報表的固
52、定圖文, 圖文的內(nèi)容不能隨著以后外部文件的內(nèi)容的改變而改變。用“ 導(dǎo)入”工具輸入一個文件內(nèi)容的步驟如下:選擇“文件”菜單的“導(dǎo)入”命令,然后選擇如表26-1 所示的四種文件類型之一。彈出輸入文件的框。用“瀏覽”按鈕為文件,并指定文件格式和文件數(shù)量。單擊“ok”按鈕,接受并此框。“導(dǎo)入”的 4 種文件類型連接一個文件。連聯(lián)接一個文件,只是建立了一個指針,指向要連接的文件, 并不將文件的內(nèi)容輸入到圖文對象中,所以在每一次運行報表時,都動態(tài)地將文件內(nèi)容輸入到圖文對象中, 因此,圖文對象中的內(nèi)容是動態(tài)的,會隨著文件內(nèi)容的改變而改變,采用這種方式,能保證報表的輸出總是反映最新的內(nèi)容,這種方式是在布局模型
53、編輯中通過“ 件”工具建立的。文連接一上個文件的步驟如下:在布局模型編輯器的工具欄中“文件”工具。在布局模型編輯器的繪畫區(qū)中要顯示圖文的地方畫出一個方框。雙擊該方框,彈出其屬性選項板。31選擇文 件 類 型圖形劃線格式。GMG 或者Oracle 劃線格式圖像圖像文件文本文本文件調(diào)色板編輯器的彩色繪圖板調(diào)整屬性設(shè)置。在“源文件格式”項指定文件格式(文本、圖像、GGM 、Oracle 圖形格式、圖像 URL),用“源文件名”按鈕指定文件名及其路徑。關(guān)閉屬性板,接受調(diào)整后的屬性。(Anchors)是用于確定報表輸出時子對象相對于其父對象的水平和直位置。由于在運行報表時,有些布局會發(fā)生變化,所以需要用來定義一個對象相對于另一個對象的位置。例如,對于一個水平方向大小可變的重復(fù)框架,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店協(xié)議價格合同
- 工程設(shè)計與勘察合同
- 幼兒園房屋出租合同
- 中小企業(yè)用工合同范文
- 采購合同標準范本
- 指定車輛租賃合同書
- led燈具購銷合同范文
- 爐渣銷售合同
- 單元樓裝修合同樓房裝修合同
- 承包合同如何寫
- 2024年美國智能馬桶和馬桶蓋市場現(xiàn)狀及上下游分析報告
- 中國成人暴發(fā)性心肌炎診斷和治療指南(2023版)解讀
- 復(fù)產(chǎn)復(fù)工六個一
- 招商引資項目落地工作方案
- 商業(yè)綜合體投資計劃書
- 《鋼鐵是怎樣煉成的》練習題(含答案)
- 急診酒精中毒護理查房
- 施耐德低壓電器選型
- 碳纖維加固定額B013
- 脊柱外科進修匯報
- 測繪工程產(chǎn)品價格表匯編
評論
0/150
提交評論