35
CÁC KHÁI NIỆM TRONG REPORT BUILDER CÁC FILE CÔNG CỤ CHÍNH TRONG REPORT BUILDER Tên file Khả năng Mô tả RWBLD60 Report Builder Tạo, phát triển và là thành phần chính trong Report RWRUN60 Report Runtime Môi trường để thể nghiệm những Application R30MTS Report Server Cài đặt chuỗi lệnh điều khiển Server RWCLI60 Report Client Gửi những yêu cầu tới Server RWRQM60 Report Query Manager Quản lý và lập lịch các report trên Server DẠNG CỦA MỘT REPORT Kiểu Mô tả *.RDF Dạng File nguồn của một Report *. REP Dạng file chạy của một Report Hot key Report Editor F2 Object Navigator F3 Properties Pallete F4 PL/SQL Editor F11

Oracle Report Builder VN

Embed Size (px)

Citation preview

Page 1: Oracle Report Builder VN

CÁC KHÁI NIỆM TRONG REPORT BUILDER

CÁC FILE CÔNG CỤ CHÍNH TRONG REPORT BUILDER

Tên file Khả năng Mô tảRWBLD60 Report Builder Tạo, phát triển và là thành phần chính

trong ReportRWRUN60 Report Runtime Môi trường để thể nghiệm những

ApplicationR30MTS Report Server Cài đặt chuỗi lệnh điều khiển ServerRWCLI60 Report Client Gửi những yêu cầu tới ServerRWRQM60 Report Query Manager Quản lý và lập lịch các report trên Server

DẠNG CỦA MỘT REPORT

Kiểu Mô tả*.RDF Dạng File nguồn của một Report *. REP Dạng file chạy của một Report

Hot key

• Report Editor F2• Object Navigator F3• Properties Pallete F4• PL/SQL Editor F11

Page 2: Oracle Report Builder VN

CÁC THÀNH PHẦN VÀ KIỂU TRONG REPORT BUILDER

Có một số loại module khác nhau trong Report Builder

Kiểu Module Mô tảReport Định nghĩa các đối tượng trong ReportQuery Định nghĩa dữ liệu lấy ra cho reportTemplate Mẫu hiển thị của report được xây dựng sẵn để có thể sử dụng một cách

dễ dàng.PL/SQL Library Thư viện độc lập chứa các chương trình con PL/SQL cho phép gọi từ

Report.

Thành phần Mô tảData Model Thiết lập nên các dữ liệu cho một ReportLayout Model Xây dựng Layout Thiết kế hiển thị cho các đối tượng Live Previewer Hiển thị report như dạng mà nó sẽ được in ra để có thể chỉnh sửa đơn

giản các thành phần dữ liệu hiển thị.Parameter Form Thiết lập các tham số cần nhập vào cho report khi chạy.Properties Khai báo các thuộc tính của Report, ví dụ kích cỡ cho một trang inTriggers Các thủ tục sẽ được xử lý tại các giai đoạn khác nhau theo sự kiện khi

vận hành ReportPL/SQL Program Units

Các chương trình con PL/SQL mà có thể được gọi ra để thực hiện.

Report Data Model

Parameter Form

Layout Model

Properties TriggersPL/SQL Program units

Report Level Objects

Page 3: Oracle Report Builder VN

CÁC ĐỐI TƯỢNG TRONG DATA MODEL:

Trong đó các thành phần được mô tả như sau:Thành phần Mô tảQuery Lấy dữ liệu ra cho report.Group Tổ chức cấu trúc dữ liệu cho ReportColumns Chứa các giá trị để hiển thị ra kết quả hay là lưu các giá trị

trung gian cho việc tính toánData Link Liên kết các query theo các mối quan hệ trong cơ sở dữ liệuParameter Các tham số cho phép người sử dụng report có thể nhập vào các

giá trị khi report được vận hành

CÁC ĐỐI TƯỢNG TRONG LAYOUT MODEL

Trong đó :- Repeating Frame: Chứa các đối tượng sẽ được in lặp lại cho 1

record của group mà frame đó tham chiếu tới.- Frame : Chứa các đối tượng chỉ in ra 1 lần

Trong đó các thành phần được mô tả như sau:

Data Model

Queries

Columns Datalinks ParametersQueries

Groups

Columns

Data Model Objects

Layout Model Objects

Layout Model

Frames Repeating Frames

Fields BoilerPlate OLE2

Page 4: Oracle Report Builder VN

Thành phần Mô tảFrame Chứa một hay một nhóm các đối tượng khác nhauField Các trường chứa dữ liệu của ReportBoilerplate Chứa text hay graphic hiển thị ở bất kỳ vị trí nào trong reportOLE2 Nhúng các đối tượng OLE vào report

CÁC ĐỐI TƯỢNG TRONG PARAMETER FORM

Trong đó các đối tượng được mô tả như sau:

- Field: Chứa các giá trị tham số

- Boilerplate: Chứa text, graphic hiển thị trong Parameter Form

Parameter Form Objects

Parameter Form

BoilerplateFields

Page 5: Oracle Report Builder VN

THIẾT KẾ VÀ CHẠY REPORT

CÁC KIỂU REPORT THÔNG THƯỜNG

Có một số kiểu Report thông thường sau đây- Tabular- Master-Detail- Matrix

Tabular

Master-Detail

Danh sách lớp học

Tên lớp Khoa Giáo viên chủ nhiệm

Danh sách học sinh các lớp

Lớp :

Tên học sinh Ngày sinh Địa chỉ

Lớp :

Tên học sinh Ngày sinh Địa chỉ

Page 6: Oracle Report Builder VN

Matrix

Dữ liệu hiển thị dạng bảng trong đó cột và hàng là các Master và nội dung hiển thị trong các ô là dữ liệu Detail.

Bảng số lượng các lớp trong khoaKhoaMã lớp

Toán Lý Sinh Địa

K40 4 5K41 7K42

SỬ DỤNG DỮ LIỆU TRONG THIẾT KẾ REPORT

- Dữ liệu của trong report được kết xuất (retrieve) ra thông qua câu lệnh select (query).

- Độ phức tạp của các câu lệnh query và cách sắp xếp chúng trong report thể hiện độ phức tạp của report

KẾT QUẢ CỦA REPORT

Kết quả của một Report có thể được kết xuất ra ở 1 số thành phần sau.1. Screen: Hiển thị trên màn hình.2. Preview: Xem report trên màn hình giống như IN.3. File: Hiển thị kết quả ra 1 file theo dạng .PDF, .HTML.4. Printer: In ra report.5. Mail: Đưa report vào mail sử dụng Oralce Mail.

Page 7: Oracle Report Builder VN

REPORT WIZARD

SỬ DỤNG REPORT WIZARD

Report Wizard là một tiện ích mà Report Builder cung cấp để thiết kế report.

KHAI BÁO CÁC PHẦN SAU TRONG REPORT WIZARD

Để tạo được một Report sử dụng công cụ Layout Wizard cần xây dựng theo thứ tự các bước như sau:

1. Kiểu của Report (Style)2. Dữ liệu (Data)3. Các trường giá trị và các trường hiển thị (Field)4. Total (Các trường tính toán)5. Labels (Các nhãn hiển thị đối với mỗi trường)6. Template (Các mẫu Template có sẵn được cung cấp bởi Report Builder

TẠO REPORT TABULAR

Report được tạo ra với kiểu tabular là phổ biến nó có dạng hiển thị như một danh sách với các dòng và các cột. Sau đây là các bước chung cơ bản tạo ra một Report kiểu Tabular

Page 8: Oracle Report Builder VN

Kiểu của Report (Style)

Dữ liệu của Report

Trong phần này nhập vào câu lệnh select để xây dựng query lấy dữ liệu cho report.

Page 9: Oracle Report Builder VN

Các trường giá trị và các trường hiển thị: Cho phép chọn các trường sẽ hiển thị trong Report

Trong đó :

- Danh sách Available Fields: Là danh sách các trường đã được lựa chọn từ câu lệnh query trước đó

- Danh sách Displayed Fields: Là danh sách các trường sẽ hiển thị ra layout của report

Các trường tính toán (Count, Sum, ...):

Trong đó :Sẽ sử dụng các hàm nhóm (group function) đã liệt kê sẵn (count, sum, average ...) để tạo ra các trường tính toán (tổng, thứ tự) dựa trên các trường dữ liệu đã query sẵn (Available Fields).

Page 10: Oracle Report Builder VN

Khai báo thuộc tính cho các trường dữ liệu hiển thị

Trong đó:- Fields and totals: Các trường và các cột sẽ hiển thị- Label: Là nhãn của các trường hiển thị- Width: Là độ rộng sẽ hiển thị của từng trường

Page 11: Oracle Report Builder VN

Chọn mẫu hiển thị:

Các mẫu hiển thị được cung cấp sẵn bởi Report Builder, có thể lựa chọn các cách hiển thị một báo cáo :

- Predefined Template: Để sử dụng các template đã được Report Builder xây dựng trước.

- Template File: Các template do người thiết kế đã tạo ra từ trước

- No Template: Không sử dụng theo mẫu tạo trước nào

TẠO REPORT KIỂU FORM_LIKE

Report kiểu Form_Like có 3 đặc trưng cơ bản khác với Report kiểu Tabular- Các nhãn được đặt vị trí phía trái của mỗi trường và có màu khác- Các trường được sắp xếp ngang ra theo trang giấy- Mỗi bản ghi được đặt trên một trang của Report

Report kiểu Form_like có dạng như sau:

Page 12: Oracle Report Builder VN

TẠO REPORT KIỂU MAILING LABEL VÀ FORM LETTER

Viết nội dung báo cáo theo kiểu Mail, Form có sử dụng các trường dữ liệu đã được query.

Page 13: Oracle Report Builder VN

Trong đó các thành phần được mô tả cụ thể như sau:

Thành phần Mô tảAvailable field Chứa các trường dữ liệu sinh ra từ câu lệng queryMailing label text Nội dung báo cáoNew line Tạo một dòng mới cho báo cáoSpace Tạo một dấu spaceDash Tạo một dấu – (gạch ngang)Comma Tạo một dấu ‘ (phẩy)Period Tạo một dấu . (chấm)

Ghi chú: Report kiểu Form và Mailing chỉ khác nhau duy nhất ở một điểm đó là khi vận hành Report với kiểu mailing thì cho phép hiển thị nhiều Record trên một trang, còn Report Form Letter hiển thị mỗi bản ghi trên một trang khác nhau.

TẠO REPORT KIỂU BREAK:

Do báo cáo kiểu break là dạng phân cấp theo nhóm, vì vậy phải thực hiện khai báo dữ liệu ở các cấp khác nhau. Có 2 loại báo cáo kiểu Break là:

- Group left:Dữ liệu hiển thị dưới dạng các cột và trải ngang theo trang giấy, tất cả các nhãn đều sắp xếp trên đỉnh của mỗi trường.

- Group above: Dữ liệu đưa ra hiển thị dưới dạng theo mỗi nhóm, với mỗi nhóm đều có nhãn cho mỗi trường.

Tạo các report kiểu break tương tự như các kiểu trên chỉ khác là trong các bước tạo có thêm bước phân nhóm dữ liệu.

Page 14: Oracle Report Builder VN

(Trong báo cáo về phòng ban thì phân cấp sẽ là Tên phòng và cấp dưới sẽ là các nhân viên thuộc phòng).

TẠO REPORT KIỂU MATRIX (MA TRẬN)

Matrix Report là report dạng bảng, trong đó các hàng và các cột là các trường dữ liệu cấp trên (master) và nội dung từng ô là dữ liệu của cấp dưới (detail).Ví dụ: Một công ty hoạt động trên nhiều vùng (s_region), trên các vùng này đều có các văn phòng đại diện chuyên trách riêng (s_dept) như phòng quản trị (Administration), phòng tài chính (Finance), phòng điều hành (Operation). Báo cáo cần đưa ra số lượng nhân viên (s_emp) của các phòng này trong mỗi vùng. Khi đó báo cáo sẽ có dạng Matrix trong đó: Cột là danh sách các vùng hoạt động, hàng là danh sách các phòng của công ty và mỗi ô trong bảng sẽ là số lượng nhân viên của mỗi phòng tại mỗi vùng. Cách tạo ra báo cáo theo thứ tự như sau:

Khai báo dữ liệu hàng:

Với việc khai báo dữ liệu cho mỗi hàng có thể chọn hàng ở nhiều mức khác nhau.

Page 15: Oracle Report Builder VN

Khai báo dữ liệu cột:

Khai báo dữ liệu ô:

Khai báo các thành phần dữ liệu sẽ đưa ra theo dạng: Tổng (Sum), Trung bình (Average), Count..

Page 16: Oracle Report Builder VN

Ghi chú: Đối với Report kiểu matrix dữ liệu đưa ra luôn ở dạng số liệu.

Page 17: Oracle Report Builder VN

LIVE PREVIEWER

CÁC THÀNH PHẦN TRÊN LIVE PREVIEWER

Trên Live previewer có 4 thành phần hoạt động- Toolbar: Chứa các nút điều khiển để chuyển trạng thái hoạt động của Report- Stylebar: Chứa các công cụ định dạng kiểu dáng cho một đối tượng trên Report- Tool palette: Chứa các công cụ làm nên một đối tượng trong Report- Status bar: Hiển thị trạng thái (toạ độ) của vị trí chuột hay các đối tượng có lựa

chọn.

SẮP XẾP CHO THẲNG HÀNG CÁC CỘT (ALIGN COLUMN)

Các bước để sắp xếp- Chọn các cột muốn sắp xếp thẳng hàng- Chọn biểu tượng “End justify” trên Stylebar

ĐẶT FORMAT MASK

Có nhiều cách để đặt Format mask cho một đối tượng.- Có thể đặt trong thuộc tính của từng đối tượng- Dùng các công cụ trên thanh Stylebar

Với mỗi đối tượng có kiểu định dạng khác nhau giá trị Format mask là khác nhau.

CHÈN SỐ TRANG, THỜI GIAN VÀO REPORT

- Chọn Insert -> Date and Time..hoặc

Page 18: Oracle Report Builder VN

-> Page number

DATA MODEL

CÁC ĐỐI TƯỢNG TRONG DATA MODEL

Đối tượng Mô tảQuery Bạn có thể tạo một Report với nhiều queryGroup Mỗi Group xác định bởi một QueryColumn Mỗi Column thuộc một Group nào đó. Ngầm định là một Group chứa

các cột được sinh ra từ QueryLink Liên kết giữa nhóm master và nhóm detail. Bạn có thể tạo một liên kết

giữa các nhóm từ các query khác nhau. Các liên kết không bao giờ được tự động tạo

Parameter Tạo ra các tham số phục vụ trong quá trình sử dụng form theo mục đích của người thiết kế Report

Query

Query là câu lệnh select để lấy ra dữ liệu cho report. Hộp thoại Query có dạng như sau

Page 19: Oracle Report Builder VN

Một report có thể bao gồm nhiều query.- Người thiết kế có thể thay đổi query, đổi tên query, bổ sung thêm các dòng chú

thích (/* */ cho nhiều dòng và -- cho 1 dòng)- Có thể hạn chế số record mà query lấy ra (fetch) từ cơ sở dữ liệu.- Khi tạo 1 query thì ít nhất sẽ có 1 group tự động được sinh ra để mô tả dữ liệu

trong câu lệnh query đó. Việc sắp xếp group (hay các group) này sẽ quyết định cấu trúc của report.

Group

Group quyết định cấu trúc dữ liệu, tần suất dữ liệu của report.- Một group sẽ biểu diễn thông tin dữ liệu được lấy ra từ 1 query.- Trong group có thể chứa nhiều column, ít nhất là một colume- Các group được chia nhỏ (break) hay lồng vào nhau (matrix) để tạo nên những

report có cấu trúc phức tạp theo yêu cầu.- Người thiết kế có thể thay đổi tên của group, hạn chế số record của group.- Có thể chia group bằng cách kéo 1 column của group sang trái, lên trên để tạo

group cấp trên hay sang phải, xuống dưới để tạo group cấp dưới.Ví dụ:Một report kiểu group biểu diễn thông tin về phòng và nhân viên trong phòng sẽ bao gồm 2 group ở 2 cấp. Group ở trên chứa thông tin về phòng (s_dept) còn group ở dưới chứa thông tin về nhân viên (s_emp). Cấu trúc của report sẽ là dạng phân cấp, biểu diễn thông tin về phòng và với mỗi phòng lại đi vào cấp ở dưới biểu diễn thông tin về các nhân viên trong phòng đó.

Page 20: Oracle Report Builder VN

Trong query trên bao gồm 2 Group: Group thứ nhất gồm một cột và Group thứ hai gòm nhiều cột.

Data Link

Xác định 1 mối quan hệ Master/Detail (cha/con) giữa một group và một query dựa trên quan hệ primary key và foreign key. Khi đó query con sẽ thực hiện query dữ liệu mỗi khi một record của group cha được đưa ra (fetch) theo điều kiện đã xác định trong data link liên kết giữa chúng.

Cách tạo một Data link- Trong Data Model chọn chuột vào biểu tượng data link

Page 21: Oracle Report Builder VN

- Đặt chuột và kéo liên kết giữa 2 queryVí dụ về thiết lập một data link:Một report kiểu group biểu diễn thông tin về phòng và nhân viên trong phòng sẽ bao gồm 2 group ở 2 cấp. Group ở trên chứa thông tin về phòng (s_dept) còn group ở dưới chứa thông tin về nhân viên (s_emp). Cấu trúc của report sẽ là dạng phân cấp, biểu diễn thông tin về phòng và với mỗi phòng lại đi vào cấp ở dưới biểu diễn thông tin về các nhân viên trong phòng đó. Sử dụng data link để phân cấp dữ liệu.Khi đó report này sẽ bao gồm 2 query, một query lấy dữ liệu về phòng ban (s_dept) và một query lấy dữ liệu về nhân viên (s_emp):

Query về phòng ban:

Query về nhân viên:

Sau đó tạo 1 datalink

Page 22: Oracle Report Builder VN

Data link này sẽ tạo ra mối liên hệ giữa column ID của group GROUP_DEPT và column DEPT_ID của group GROUP_EMP.

Các thuộc tính của data link sẽ bao gồm

Thuộc tính Mô tảSQL clause Mệnh đề điều kiện WHERE, HAVING, START WITH.Condition Toán tử điều kiện =, >, <, like, ... .Parent Group Group (Master) cha trong mối quan hệ tạo ra.Parent Column Column quan hệ trong Group cha.Child Query Query con trong mối quan hệ.Child Column Column quan hệ trong Query con.

Column

Column là một đối tượng chứa dữ liệu (container)

2 kiểu column chính

1. Database Column: Report Builder sẽ tạo một column cho mỗi trường được select ra trong query. Database column phản ánh đúng dữ liệu thực trong cơ sở dữ liệu.

Các thuộc tính của một database column:

Page 23: Oracle Report Builder VN

Trong đó:

- Name, Datatype, Width là các thuộc tính read-only, không thay đổi được, phản ảnh đúng dữ liệu trong cơ sở dữ liệu.

- Value if Null: Giá trị thay thế nếu dữ liệu NULL

- Break Order: Sắp xếp theo thứ tự tăng dần hay giảm dần hay không sắp xếp (Ascending, Descending, None)

2. Developer_Created Column: Là các column khác do người thiết kế tạo ra để lưu trữ dữ liệu trung gian hay dữ liệu tổng hợp. Devepoper_Created Column bao gồm 3 loại colulmn như sau:

- Summary Column : sử dụng các hàm nhóm (sum, count, average ...) trên các database column để tổng hợp dữ liệu. Khi được tạo mới thì default name của Summary Column có tiền tố CS_.

- Formula Column : Chứa thủ tục PL/SQL để thực hiện công việc gì đó (tính toán trên nhiều column khác ...). Khi được tạo mới thì default name của Formula Column có tiền tố FS_.

- Placeholder Column : Chứa giá trị mà 1 đối tượng nào đó đặt cho khi report chạy. Khi được tạo mới thì default name của Placeholder Column có tiền tố PS_.

Các thuộc tính của một Summary Column

- Name, Datatype, Width, Value if Null: là các thuộc tính thông tin tên, kiểu dữ liệu, độ rộng, giá trị khi null về column đó.

- Function: Là hàm nhóm sử dụng để tính toán dữ liệu cho column này. Bao gồm các hàm: Sum, Count, Average, Minimum, Maximum, ...

- Source: Là tên của database column mà sẽ tổng hợp dữ liệu.

- Reset At: Mức tính toán của summary column. Summary sẽ có giá trị khởi tạo tại mức Report, Page.

Page 24: Oracle Report Builder VN

Các thuộc tính của một Summary Column

Trong đó:- Name, Datatype, Width, Value if Null: Là các thuộc tính thông tin

tên, kiểu dữ liệu, độ rộng, giá trị khi null về column đó.- Breake Order: Khai báo dữ liệu theo column này sẽ được sắp xếp

hay không.- PL/SQL Formula: Viết thủ tục PL/SQL để thực hiện chức năng của

Formula Column này. Chúng ta có thể viết một hàm trả lại tên của

Page 25: Oracle Report Builder VN

cột dữ liệu nếu cột đó là trường khoá (id) và kèm theo có bảng mã đi theo.

Ví dụ: Viết một thủ tục trả lại giá trị lương của nhân viên sau khi tăng lên 10 lần.

Page 26: Oracle Report Builder VN

LAYOUT MODEL

Layout Model cho phép thay đổi hình thức hiển thị của report. Layout Model hiển thị report thành 4 vùng như sau.

- Header- Trailer- Body- Margin

Có thể thực hiện chỉnh sửa các vùng hiển thị này bằng cách chọn theo lần lượt các bước như sau:Menu View -> Layout Section -> Body

MarginHeaderTrailer View

Trong đó:

- Header: Xuất hiện ngay khi bắt đầu thực hiện report. Header có thể chứa text, hình vẽ, đoạn tóm tắt, ... , có thể bao gồm nhiều trang.

- Trailer: Xuất hiện cuối report. Trailer có tchể chứa text, hình vẽ, đoạn tóm tắt, ... , có thể bao gồm nhiều trang.

- Body: Phần thân của report, bao gồm nhiều trang nằm giữa vùng header và vùng trailer

- Margin: (Lề) Vùng margin xuất hiện trong tất cả các trang body của report. Margin có thể chứa text, hình vẽ, số trang báo cáo, ...

Page 27: Oracle Report Builder VN

SƠ ĐỒ MÔ TẢ VỊ TRÍ TƯƠNG QUAN CÁC VÙNG TRONG REPORT

CÁC ĐỐI TƯỢNG TRONG LAYOUT MODEL :

- Các đối tượng này được tạo ra thông qua Toolbox.

- Drawing : Các hình vẽ (hình vuông, tròn, ...).- Frame : Khung chứa các đối tượng khác.- Field : Trường hiển thị dữ liệu từ 1 column trong data model.- Chart : Biểu đồ mô tả dữ liệu.- Anchor : Neo liên kết vị trí tương đối giữa các đối tượng.- Text : Dòng text hiển thị.- Repeating Frame : Khung chứa các đối tượng, tham chiếu tới 1 group trong

data model.- Button : Nút lệnh thực hiện 1 chức năng theo yêu cầu.- OLE2 : Cho phép đưa các đối tượng ActiveX từ bên ngoài vào report.

ĐẶC ĐIỂM CỦA ĐỐI TƯỢNG BUTTON :

- Không được in ra.- Thực hiện 1 trong 3 hành động sau :

Thực hiện 1 Multimedia File.Truy nhập 1 URL.Mở report chi tiết.

LÀM VIỆC VỚI ĐỐI TƯỢNG ANCHOR :

- Anchor là khái niệm neo, liên kết vị trí tương đối giữa các đối tượng.

Header

Body/Margin

Trailer

Page 28: Oracle Report Builder VN

Implicit anchor :

Trường hợp các đối tượng tự dịch chuyển tương với nhau theo vị trí sắp xếp ban đầu.

Explicit anchor :

Trường hợp các đối tượng sẽ không thay đổi vị trí khác với vị trí sắp xếp ban đầu.

Khi đó người thiết kế phải thực hiện tạo 1 neo liên kết các đối tượng đó lại.

SỬ DỤNG FORMAT TRIGGER :

- Format trigger là trigger đi kèm theo mỗi đối tượng để xác định định dạng của đối tượng đó theo 1 điều kiện nào đó (thường được áp dụng cho việc không in ra đối tượng đó nữa nếu điều kiện nào đó xảy ra).

- Ví dụ không in ra đối tượng và kéo đối tượng ở bên dưới lên vị trí thay thế.

F_Name F_Job

In ra với tất cả trường hợp

Chỉ in ra khi F_Job = 'Giáo viên'

In ra với tất cả trường hợp

Layout

Dũng Học sinh

In ra với tất cả trường hợp

In ra với tất cả trường hợp

Output

Page 29: Oracle Report Builder VN

. Khi đó phải viết 1 trigger cho đối tượng không hiển thị :

function textformattrigger return boolean isbegin

if :job like 'Giáo viên' thenreturn(true);

elsereturn(false);

end if;end;

MỘT SỐ THUỘC TÍNH QUAN TRỌNG CỦA CÁC ĐỐI TƯỢNG :

Vertical Elasticity/Horizontal Elasticity : Thuộc tính kích cỡ đối tượng. Có 4 chọn lựa :

- Fixed : không thay đổi so với thiết kế.- Variable : Mở rộng hay thu hẹp tuỳ dữ liệu.- Expand : Mở rộng theo dữ liệu.- Contract : Thu hẹp theo dữ liệu.

Page Break Before/Page Break After : Thuộc tính liên quan đến trang. Phân trang (sang trang mới) trước, sau khi hiển thị đối tượng.

Page Protect : Giữ các đối tượng trong frame được in ra trong cùng 1 trang.

Print Object On : Quyết định hiển thị đối tượng theo.- First Page : trang đầu tiên.- All But First Page/ All But First Page : tất cả các trang ngoại

trừ trang đầu/trang cuối.- First Page/Last Page : in đối tượng chỉ cho trang đầu/trang

cuối.

CÁC BIẾN HỆ THỐNG CÓ THỂ HIỂN THỊ :

- Current Date : Ngày giờ hiện tại của hệ thống.- Page Number : Số thứ tự của trang hiện tại.

Page 30: Oracle Report Builder VN

- Total Page Number : Tổng số trang.

Page 31: Oracle Report Builder VN

TẠO REPORT SỬ DỤNG THAM SỐ

Sử dụng tham số trong báo cáo giúp cho việc lấy dữ liệu cho report trở nên linh hoạt hơn theo tham số đầu vào. Có thể thay đổi dữ liệu lấy ra từ câu lệnh query theo các tham số.

USER PARAMETER :

Tham số người sử dụng có giá trị do người sử dụng báo cáo nhập vào lúc chạy report. Các tham số này có thể :

- Hạn chế dữ liệu trong mệnh đề điều kiện WHERE của câu lệnh SELECT.- Thay thế bất kỳ phần nào trong câu lệnh SELECT, thậm chí thay thế cho cả câu

lệnh.- Thay thế cho 1 column trong danh sách column của câu lệnh SELECT.

0.0.1Tạo 1 User Parameter :

Chọn loại đối tượng User Parameters trong khung Object Navigator, sau đó chọn Navigator -> Create hay chọn biểu tượng dấu cộng để tạo 1 tham số.

Page 32: Oracle Report Builder VN

0.0.22 loại tham số :

1. Bind Parameter : Tham số chỉ thay thế cho 1 giá trị đơn hay 1 biểu thức. Tham chiếu đến loại tham số này bằng cách thêm dấu ':' đằng trước tên tham số.

2. Lexical Parameter : Tham số có thể thay thế cho bất kỳ phần nào trong câu lệnh select thậm chí cho toàn bộ câu lênh. Tham chiếu đến loại tham số này bằng cách thêm dấu '&' đằng trước tên tham số.

0.0.31 số ví dụ mô tả cách sử dụng các tham số :

- Bind Parameter :SELECT NAME, SALES_REP_ID FROM S_CUSTOMERWHERE ID = :P_CUST

SELECT LAST_NAME, SALARY * :P_RATEFROM S_EMP

- Lexical Parameter :SELECT NAME, SALES_REP_IDFROM S_CUSTOMER&P_WHERE_CLAUSE

SELECT &P_CUSTNAME CUST, &P_SALES_REP_ID REPFROM &P_TABLE

0.0.4Các thuộc tính của tham số :

Page 33: Oracle Report Builder VN

Trong đó :Name : Tên của tham số.Datatype : kiểu của tham số.Width : độ rộng của dữ liệu.Input Mask : Định dạng nhập vào dữ liệu cho tham số (ví dụ dd/mm/yyyy

cho kiểu date).Initial Value : Giá trị khởi tạo của tham số.Validation Trigger : Trigger thực hiện khi kiểm tra giá trị nhập vào cho

tham số.List Of Value : Khai báo tham số có dạng là 1 danh sách các giá trị cho

trước hay không.Có 2 kiểu danh sách định nghĩa trước :- Static Values : Các giá trị của danh sách là cố định.

Page 34: Oracle Report Builder VN

- Select Statement : Các giá trị của danh sách được đưa vào từ câu lệnh select.

MỘT VÀI THAM SỐ HỆ THỐNG :

Page 35: Oracle Report Builder VN