Hướng dẫn lập trình báo cáo BIRT cho người mới bắt đầu
Công ty Vĩnh Cửu tuyển dụng lập trình viên Java

1- Giới thiệu

Tài liệu này được viết dựa trên:
  • Eclipse 4.4 (LUNA) (ok for 4.5 Mars)
  • BIRT 4.4

2- Giao diện báo cáo sẽ làm

Đây là hình ảnh báo cáo sẽ làm trong tài liệu này:

Dữ liệu thô:

Trước hết chúng ta cần hiểu một chút về nghiệp vụ:
  • Một khách hàng (CUSTOMER) có thể mở 1 hoặc nhiều tài khoản (ACCOUNT) tại một chi nhánh ngân hàng (BRANCH) nào đó.
  • Mỗi tài khoản ứng với một sản phẩm dịch vụ (PRODUCT) cung cấp bởi ngân hàng.
  • Mỗi tài khoản có một số dư tài khoản sẵn có (AVAILABLE BALANCE).
Để tiện theo dõi bạn có xem dữ liệu thô dưới đây.
Select Acc.Account_Id
     ,Acc.Cust_Id -- Mã số khách hàng
     ,Cus.Address        Cust_Address -- Địa chỉ khách hàng
     ,Acc.Product_Cd -- Mã sản phẩm (dịch vụ của ngân hàng)
     ,Acc.Open_Branch_Id -- Mã Chi nhánh (Ngân hàng)
     ,Bra.Name           Branch_Name -- Tên Chi nhánh (Ngân hàng)
     ,Acc.Avail_Balance -- Số tiền còn trong tài khoản
From   Account  Acc
     ,Customer Cus
     ,Branch   Bra
Where  Acc.Cust_Id = Cus.Cust_Id
And    Acc.Open_Branch_Id = Bra.Branch_Id;

3- Các cài đặt đòi hỏi

BIRT Plugin:

Để lập trình báo cáo BIRT bạn cần cài đặt công cụ lập trình BIRT vào Eclipse. Bạn có thể xem hướng dẫn tại:

Database LearningSQL

LearningSQL là một database nhỏ, dùng trong nhiều hướng dẫn của o7planning. Hướng dẫn lập trình báo cáo BIRT cũng sử dụng dữ liệu trên Database này. Bạn cần tạo Database này (Chỉ mất 5 phút) theo hướng dẫn dưới đây:

Thư viện điều khiển cơ sở dữ liệu (Oracle, MySQL, SQLServer) và cách sử dụng:

Tùy thuộc vào bạn sử dụng Database gì, bạn cần thư viện điều khiển Database đó (Bạn cần 3 phút để hoàn thành), xem hướng dẫn download tại:

4- Tạo BIRT Project

Trên Eclipse chọn: File/New/Other...
Nhập vào tên Project:
  • HelloBIRT

5- Tạo Data Source

Tạo một nguồn dữ liệu ( Data Source) có thể là từ JDBC, từ XML, ... Trong tài liệu này chúng ta sẽ tạo Data Source từ JDBC kết nối vào Database LearningSQL
Ở đây tôi tạo JDBC kết nối vào cơ sở dữ liệu LearningSQL (Trên DB Oracle). Tuy nhiên với các loại Database khác hoàn toàn tương tự.
ojdbc6.jar là thư viện điều khiển loại Database Oracle.
Tùy thuộc vào bạn sử dụng Database gì, bạn cần thư viện điều khiển Database đó, và cách sử dụng, xem hướng dẫn tại:
Kiểm tra xem đã kết nối được tới database LearningSQL chưa.

6- Tạo báo cáo

6.1- Tạo dataset

Nhập vào:
  • Data Set Name: Account avail balance
Select Acc.Open_Branch_Id
     ,Bra.Name           Branch_Name
     ,Acc.Cust_Id
     ,Cus.Address        Cust_Address
     ,Acc.Account_Id
     ,Acc.Product_Cd
     ,Acc.Avail_Balance
From   Account  Acc
     ,Customer Cus
     ,Branch   Bra
Where  Acc.Cust_Id = Cus.Cust_Id
And    Acc.Open_Branch_Id = Bra.Branch_Id
Order  By Acc.Open_Branch_Id

6.2- Tạo mới báo cáo

Trên Eclipse chọn: File/New/Other...
File name:
  • BranchReport01.rptdesign

6.3- Cấu hình kích thước báo cáo

Mặc định báo cáo được tạo ra có kích thước giống khổ giấy A4.
Chọn thuộc tính:
  • Orientation: Landscape
Cấu hình Border:
Bạn cũng có thể thay đổi các thông tin khác.

6.4- Thiết kế giao diện (Header)

<H3>
Vietcombank
</H3>
<B>
<I>
For internal use only
</I>
</B>

6.5- Thiết kế biểu đồ

6.6- Chạy thử bảo cáo lần 1

6.7- Thiết kế phần dữ liệu báo cáo

Dữ liệu thô giống như hình minh họa dưới đây:
Nhưng chúng ta sẽ thiết kế để trên báo cáo hiển thị theo một cách dễ nhìn hơn (Giống hình minh họa dưới).
Chúng ta sẽ làm lần lượt từng bước.
Kéo thả đối tượng Table vào màn hình báo cáo.

6.8- Chạy thử báo cáo lần 2

6.9- Chỉnh style cho bảng (Lần 1)

Báo cáo đã chạy, tuy nhiên giao diện chưa được đẹp. Chúng ta cần phải chỉnh một số style.

6.10- Chạy thử báo cáo lần 3

6.11- Sub Total

6.12- Chạy thử báo cáo