使用pentaho report 開發web報表
1. 文檔說明
java開源報表軟件中,pentaho report算是比較優秀的;能夠滿足大多數利用,足以和國內商業報表媲美;現記錄實際開發報表完全進程教程,讓初學者快速入門并利用到項目中。
2. 開發環境說明
1) 工具環境:pentaho report designer5.3、tomcat6、jdk6、Eclipse Java EE (4.3)
2) mysql和示例數據庫saikla
3) mysql驅動拷貝到report_homelibjdbc文件夾下
4) 配置報表環境JNDI
使用jndi是為了在web項目集成時,使用連接池配置;
.pentaho/simple-jndi/default.properties文件中加入JNDI配置信息;.pentaho目錄是home或運行report designer程序的用戶目錄。
示例配置內容以下:
sakila/type=javax.sql.DataSource
sakila/driver=com.mysql.jdbc.Drivers
sakila/user=root
sakila/password=a123
sakila/url=jdbc:mysql://localhost:3306/sakila
3. 在設計器中開發報表
本次教程完成后的報表,展現以下圖:
3.1 配置數據庫連接
jndi的名稱和之前配置的前綴1致;測試本錢,確認保存。
3.2 定義數據集查詢
query部份的sql可以通過圖形化方式生成,也能夠直接復制進來,點擊預覽驗證語句是不是正確。完成并右鍵查詢后結果展現以下:
3.3 定義函數
在函數節點上右鍵新增函數,sumAmount、countCustomer pageOfPagesFun。sumAmount需要指明求和字段。
summary是全局類;Running類是運行時計算,根據不同的分組或段計算結果不同。
3.4 設計報表區域段
Details段會根據記錄自動向下擴大;其他段在只顯示1次或每一個分組顯示1次。如果段在設計器中隱藏,在結構圖中右鍵取消隱藏。
設置分組字段和控件值,其中消息控件的值為:$(first_name),$(last_name);其他控件從數據集中拖動過來便可。
還可以針對控件屬性設置值或公式,示例以下圖: