Pentaho Report Designer 報表系統 - 入門詳解


簡介

​ Pentaho Report Designer(以下簡稱PRD)是Pentaho開源系統中的數據報表模塊,預期作為Java項目中的報表功能來集成使用。

現階段需要在PRD中提前設計好報表方式才能輸出報表供前后端調取,因此本文還會介紹關於PRD的用法。

本文中使用的版本為PRD7.1.0.0

安裝與配置

環境要求

  • Java, JDK1.8
  • Maven, Verson3+

運行方式

	1. 檢查是否配置好本地Java與Maven環境
  1. 解壓縮下載的軟件包,包內結構應大致如圖(版本不同可能產生些許差異)

  1. 運行launcher.jar,或在命令行中使用命令./report-designer.sh以啟動PRD。

使用教學

教學包括數據源配置、原始數據獲取、報表布局設計、報表數據格式化、報表預覽、報表發布以及報表訪問這幾個方面。

本文中采用手工建立的方式進行報表配置,此外還有報表向導的方式,在此不多作說明,區別是在新建報表時選擇Report Wizard而不是New Report。

數據源配置與原始數據獲取

  1. PRD軟件功能模塊集成度極高,因此啟動時間較久,需要耐心等待

  1. 軟件啟動后,選擇New Report以新建一個報表,進入Untitled Report標簽頁內,Ctrl+S保存報表並命名。

  1. 在界面右側Structure/Data欄目中選擇Data,而后點擊欄目中左上角的數據庫黃色Logo,配置數據源。本文采用JDBC數據庫連接。

  1. 點擊左上方綠色加號按鈕,選擇連接類型,填寫設置信息與名稱,測試鏈接正常即可確認,完成添加數據庫連接配置。(注:若添加MySQL5.7及以上或其他數據庫時提示Driver方面的異常,則應下載對應的驅動jar包並粘貼到軟件根目錄/lib/jdbc內,並重啟軟件即可生效)

  1. 添加完連接配置后點擊右上角的綠色加號按鈕,填寫查詢名稱,在下方添加SQL查詢語句,填寫完畢可以點擊右下角Preview預覽效果,確認無誤后點擊右下角OK,完成原始數據獲取。(原始數據查詢編寫完畢並保存之后可以在Structrue/Data中的Data欄目內的DataSets標簽下看到以查詢名稱命名的文件夾)

報表布局設計與格式化

布局設計

PRD采用模塊固定與拖放控件的方式對頁面塊進行處理。

模塊結構
  • Page Header:頁頭這里設置的內容將在每一頁顯示(報表出現分頁)
  • Report Header:報表頭只在報表的開頭顯示(如果出現過則不會在后面其他頁再出現)
  • Details Header:配置Details的列名
  • Details:這里配置多行數據的列(會根據數據的行數據顯示)
  • Report Footer:類似Report Header 只在報表的結尾顯示
  • Page Footer:類似Page Header在每頁的結尾顯示
控件
  • Label:標題
  • Horizontal-Line:水平線

​ 控件的內容較多,不在這里贅述,可以自行研究。

示例

  1. 從右側的Data中將字段拖拽到報表的Details區並調整位置。

  1. 在Structure/Data欄目中的Structure內,右擊GroupHeader,將它顯示出來。

  1. 從左側工具欄內將需要的控件如Label和Horizontal-Line等拖入頁面內,調整位置。

  1. 對需要格式化的字段添加Style/Attributes欄目中Attributes下的common.format屬性,例如日期格式化。具體可以參考Excel中的單元格自定義格式化方式。

報表預覽與發布

  1. 配置完成后點擊頁面左上的眼睛按鈕進行預覽。

  1. 確認無誤后保存,並准備發布到BI Server以供外部訪問調用。

  1. 填寫BI Server的參數。

  1. 配置發布的目錄與名稱以及輸出等類型等

  1. 出現該彈窗即發布完成。

報表訪問與獲取

  1. 登錄BI Server

  1. 點擊左上角Browse Files,根據發布時配置的目錄找到文件。

  1. 點擊Open in a new window可以瀏覽。

  2. 復制新打開窗口的鏈接地址,例如http://localhost:8047/pentaho/api/repos/%3Apublic%3A%E6%B5%8B%E8%AF%95%E5%B7%A5%E7%A8%8B%E7%94%A8%3ADemoReport.prpt/viewer,將末尾的/viewer改為/report即可作為資源進行訪問和獲取。在沒有瀏覽器緩存的情況下,每次獲取都會獲取實時最新的數據。

參考材料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM