- Pentaho 教程
- Pentaho - 首頁
- Pentaho - 概述
- Pentaho - 安裝
- Pentaho - 導航
- Pentaho - 資料來源和查詢
- Pentaho - 報表元素
- Pentaho - 頁尾欄位
- Pentaho - 分組
- Pentaho - 圖表報表
- 報表元素格式化
- Pentaho - 函式
- Pentaho 有用資源
- Pentaho 快速指南
- Pentaho - 有用資源
- Pentaho - 討論
Pentaho 快速指南
Pentaho - 概述
什麼是 Pentaho Reporting?
Pentaho Reporting 是一套用於建立關係和分析報表的工具集合。使用 Pentaho,我們可以將複雜的資料轉換為有意義的報表,並從中提取資訊。Pentaho 支援建立各種格式的報表,例如 HTML、Excel、PDF、文字、CSV 和 XML。
Pentaho 可以接受來自不同資料來源的資料,包括 SQL 資料庫、OLAP 資料來源,甚至是 Pentaho Data Integration ETL 工具。
Pentaho 的特點
Pentaho Reporting 主要包括報表引擎、報表設計器和商業智慧 (BI) 伺服器。它具有以下特點:
報表設計器 - 用於建立畫素完美的報表。
元資料編輯器 - 允許向資料來源新增使用者友好的元資料域。
報表設計器和設計工作室 - 用於微調報表和即席報表。
Pentaho 使用者控制檯 Web 介面 - 用於輕鬆管理報表和分析檢視。
即席報表介面 - 提供一個逐步向導,用於設計簡單的報表。輸出格式包括 PDF、RTF、HTML 和 XLS。
複雜的排程子系統 - 允許使用者以給定的時間間隔執行報表。
郵件傳送 - 使用者可以將已釋出的報表透過電子郵件傳送給其他使用者。
連線性 - 報表工具和 BI 伺服器之間的連線性,允許將內容直接釋出到 BI 伺服器。
Pentaho - 安裝
現在讓我們學習如何安裝和配置 Pentaho Reporting Designer。
先決條件
Pentaho Reporting 引擎需要 Java 環境。因此,在安裝 Pentaho Reporting 之前,請確保您的系統中已安裝 Java。根據您正在使用的平臺,使用下表中的命令驗證您的 Java 安裝。
| 作業系統 | 命令 | 輸出 |
|---|---|---|
| Windows |
開啟命令提示符 >java -version |
java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60b19) Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode) |
| Linux |
開啟終端 $ java –version |
java version "1.7.0_60" OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4x86_64) OpenJDK 64-Bit Server VM (build 60.7-b01, mixed mode) |
| Mac OS |
開啟終端 $ java –version |
java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60b19) Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode) |
如果您的系統上未安裝 Java,請使用以下連結下載並安裝:下載並安裝 Java。
下載 Pentaho Reporting
使用以下連結下載最新版本的 Pentaho Reporting Designer。在本教程中,我們使用的是 3.7.0 版本。
| 作業系統 | Pentaho Report Designer 下載連結 |
|---|---|
| Windows | Pentaho Report Designer 3.7 for Windows |
| Linux | Pentaho Report Designer 3.7 for Linux |
| Mac OS | Pentaho Report Designer 3.7 for Mac OS |
安裝 Pentaho Reporting
下載檔案後,您將找到一個名為 prd-ce-3.7.0-stable 的 Pentaho Reporting Designer 壓縮檔案。應按以下表格說明解壓縮該壓縮檔案。
| 作業系統 | 安裝說明 |
|---|---|
| Windows |
|
| Linux |
$ tar –zxvf prd-ce-3.7.0-stable.tar.gz
# mv prd-ce-3.7.0-stable /usr/local/
$ cd /usr/local/prd-ce-3.7.0-stable/report-designer $ report-designer.sh |
| Mac |
$ report-designer.sh |
安裝資料庫驅動程式
Pentaho Reporting Designer 需要資料庫連線才能生成關係報表,因此您需要一個 JDBC 驅動程式來與資料庫通訊。預設情況下,Pentaho 提供了一些不同廠商的 JDBC 驅動程式來支援不同的資料庫,例如 MySQL、H2、HypersonicSQL、Hive 等。
所有預設的資料庫驅動程式都位於 Pentaho Reporting Designer 的 /lib/ 目錄中。如果您想使用任何其他資料庫,請下載相應的 JDBC 驅動程式並將其複製到 Pentaho Reporting Designer 的 /lib/ 目錄中。否則,您可以透過 JDK 附帶的 JDBC-ODBC 橋接驅動程式使用 ODBC 驅動程式,此橋接驅動程式 (JDBC-ODBC) 適用於所有資料庫伺服器。
在本教程中,我們使用 MySQL 資料庫伺服器,其相應的驅動程式已隨 Pentaho lib(Pentaho Reporting Designer 的 /lib/ 目錄)檔案一起下載。
安裝附加字型
Pentaho Reporting 使用不同的字型在報表中顯示文字。生成 PDF 檔案時,Pentaho Reporting Engine 需要訪問物理字型檔案。報表引擎搜尋系統相關的字型路徑以找到所有可用的字型。除了這些字型外,您的 Java 執行時環境可能會提供其他字型,具體取決於您的 Java 和作業系統版本。
如果您計劃建立包含嵌入字型的 PDF 文件,請確保您只使用報表引擎可以實際訪問的字型。
無論您的作業系統如何,位於 JRE/lib/fonts/ 中的所有字型檔案始終可用於所有匯出。
Pentaho - 導航
本章將簡要介紹 Pentaho 中可用的使用者介面以及如何在其中導航。
歡迎螢幕
歡迎螢幕提供兩種建立不同型別報表的方法。這兩個選項是 報表嚮導 和 新建報表。
報表嚮導 - 它提供了一個易於使用的四個步驟流程,指導您建立新的報表。
新建報表 - 如果選擇此選項,則可以根據您的需求建立自定義報表。
Pentaho 有一組示例報表,可幫助您瞭解如何使用某些報表設計器。以下螢幕截圖顯示了 Pentaho 的歡迎頁面。
主工具欄
主工具欄位於視窗頂部。請檢視以下螢幕截圖 - 放大的框是主工具欄。它包含用於執行以下操作的按鈕:新建檔案、開啟檔案、儲存檔案、釋出報表、新增資料來源、執行報表、選擇物件、撤消、重做、剪下元素、複製元素、貼上元素、刪除選定元素和切換欄位選擇器調色盤。
報表工作區
工作區是主要工作區域,我們可以在其中設計報表。請檢視以下螢幕截圖 - 中間的白色區域是工作區。它分為五個區域:頁首、報表頁首、詳細資訊、報表頁尾和頁尾。
頁首 - 您可以在此處使用任何適合列印在每個報表頁面頂部的任何型別的資料。它不允許任何動態值或分頁符。
報表頁首 - 從頂部算起的第二個區域是報表頁首。它包含報表元素。它在每個報表中只出現一次,即報表的首頁。
詳細資訊 - 詳細資訊區域是頁面中最大的部分,因為大部分報表資料都在此區域顯示。
報表頁尾 - 與報表頁首一樣,報表頁尾在每個報表中只出現一次,即報表的最後一頁。
頁尾 - 最後一個區域是頁尾,它出現在報表中每一頁的底部。
您還可以為各種報表元素建立組。每個組在其工作區中都有自己的頁首和頁尾區域。
結構窗格
結構選項卡與報表設計器右上角的資料選項卡共享一個窗格。請檢視以下螢幕截圖;它顯示了報表工作區中包含的每個元素的確切層次結構。
資料窗格
資料窗格使您可以新增資料來源並在每個報表中檢視各個查詢、函式和引數。窗格頂部的三個按鈕分別用於新增新的資料來源、函式和引數。
資料來源 - 您為當前報表定義的所有資料來源和查詢都將在此列出。如果要新增新的資料來源,請右鍵單擊最左邊的按鈕(黃色圓柱體),然後單擊新增。
函式 - 您新增到報表中的所有函式(數學和條件)元素都將列在此類別中。您可以透過單擊 (fx) 按鈕新增函式。
引數 - 您可以向報表新增引數,這將使報表閱讀器能夠自定義輸出內容。
請檢視以下螢幕截圖。
樣式窗格
樣式窗格顯示結構窗格中任何給定專案的視覺和位置樣式選項。單擊任何結構元素,樣式窗格的組成將進行調整,以顯示按組列出的所有可用樣式屬性。請檢視以下螢幕截圖。
屬性窗格
屬性窗格顯示結構窗格中任何給定專案的所有低階屬性以及輸入和輸出選項。
調色盤
調色盤包含您可以用來構建報表的全部元素。要新增元素,請單擊佈局區域以將其選中,然後將調色盤中的元素拖放到選定的區域。我們在下表中解釋了每個報表元素的作用。
| 元素圖示 | 元素名稱 | 描述 |
|---|---|---|
![]() |
標籤 | 靜態文字字串。它不能動態更改。 |
![]() |
文字欄位 | 文字報表元素,根據查詢動態更改。 |
![]() |
數字欄位 | 顯示來自查詢的動態數值資料。 |
![]() |
日期欄位 | 處理來自查詢的日期資訊。 |
![]() |
訊息 | 一個組合多個靜態和動態報表元素的元素。 |
![]() |
資源標籤 | 對映到資源包的靜態文字字串 |
![]() |
資源欄位 | 對映到資源包的動態文字字串,允許您本地化任何資料庫欄位。 |
![]() |
資源 - 訊息 | 動態文字字串,它連線來自多種型別的資料,並動態對映到資源包。 |
![]() |
影像欄位 | 對儲存在資料庫中的影像的引用。 |
![]() |
影像 | 嵌入到報表中的靜態影像。 |
![]() |
橢圓 | 橢圓形狀的向量圖形元素。 |
![]() |
矩形 | 矩形形狀的向量圖形元素。 |
![]() |
水平線 | 水平繪製的向量圖形線。 |
![]() |
垂直線 | 垂直繪製的向量圖形線。 |
![]() |
測量比例尺 | 一個簡單的滑動刻度圖表元素。 |
![]() |
圖表 | 以圖形方式顯示查詢結果的圖表。 |
![]() |
簡單條形碼 | 一個條形碼圖表元素。 |
![]() |
條形迷你圖 | 一個條形迷你圖圖表元素。 |
![]() |
線形迷你圖 | 一個線形迷你圖圖表元素。 |
![]() |
餅圖迷你圖 | 一個餅圖迷你圖圖表元素。 |
![]() |
分組 | 一種分組元素的方法。 |
![]() |
子報表 | 引用另一個報表的元素。 |
![]() |
目錄 | 一個目錄報表元素。 |
![]() |
索引 | 一個索引報表元素。 |
請看下面的截圖;左側高亮的框是報表元素的調色盤。
Pentaho - 資料來源和查詢
在本節中,我們將透過一個示例學習如何使用Pentaho Reporting Designer。我們將建立一個關於員工資料庫的報表,以快速概述每個員工。我們將透過新增資料來源並將查詢傳遞給Pentaho Designer來建立我們的第一個報表。
在使用Pentaho Report Designer之前,建立一個名為employeedb的資料庫,並在該資料庫中使用以下查詢建立一個名為employee的表。
CREATE TABLE 'employee' (
'id' integer NOT NULL,
'name' varchar(20),
'designation' varchar(20),
'department' varchar(20),
'age' integer,
PRIMARY KEY ('id')
)
將以下記錄插入表中。
| ID | 姓名 | 職位 | 部門 | 年齡 |
|---|---|---|---|---|
| 1201 | ’satish’ | ’writer’ | ’Tuto_Write’ | 24 |
| 1202 | ’krishna’ | ’writer’ | ’Tuto_Write’ | 26 |
| 1203 | ’prasanth’ | ’php developer’ | ’Tuto_develop’ | 28 |
| 1204 | ’khaleel’ | ’php developer’ | ’Tuto_develop’ | 29 |
| 1205 | ’raju’ | ’HTML developer’ | ’Tuto_develop’ | 24 |
| 1206 | ’javed’ | ’HTML developer’ | ’Tuto_develop’ | 22 |
| 1207 | ’kiran’ | ’Proof Reader’ | ’Tuto_Reader’ | 28 |
| 1208 | ’pravenya’ | ’Proof Reader’ | ’Tuto_Reader’ | 30 |
| 1209 | ’mukesh’ | ’Proof Reader’ | ’Tuto_Reader’ | 28 |
| 1210 | ’sai’ | ’writer’ | ’Tuto_writer’ | 25 |
| 1211 | ’sathish’ | ’graphics designer’ | ’Tuto_designer’ | 26 |
| 1212 | ’viswani’ | ’graphics designer’ | ’Tuto_designer’ | 24 |
| 1213 | ’gopal’ | ’manager’ | ’Tuto_develop’ | 29 |
| 1214 | ’omer’ | ’manager’ | ’Tuto_writer’ | 32 |
| 1215 | ’shirjeel’ | ’manager’ | ’Tuto_Reader’ | 32 |
如果您想操作表中包含的資料,最好的選擇是使用SQL。但是,如果您想根據資料建立報表,Pentaho Reporting 是最佳選擇。我們的任務是將SQL查詢傳遞給Pentaho Reporting Designer工具,選擇報表中呈現的相應欄位,並在報表的詳細資訊表中顯示。
在繼續之前,請確保您熟悉Pentaho中所有可用的導航選項(在前一節中已解釋)。現在我們有了資料來源,讓我們繼續並嘗試瞭解如何使用Pentaho生成專業報表。
使用Pentaho生成報表的步驟
請按照以下步驟從頭開始建立報表,無需使用報表設計嚮導。
步驟1:建立新報表
您可以透過點選歡迎面板上的“新建報表”或轉到“檔案→新建”來建立一個新的報表定義檔案。
步驟2:新增資料來源
右側的結構面板提供了報表可視元素的檢視。“資料”選項卡上將定義資料來源;它允許定義報表資料來自何處以及如何在報表處理期間處理這些資料。
報表通常以表格形式顯示資料來源提供的資料,而報表定義則定義如何格式化或列印報表。如下圖所示,從結構面板中選擇“資料”選項卡。
在“資料”選項卡中,右鍵單擊資料集並選擇JDBC以新增資料來源。通常,在選項列表中,您可以根據需要選擇任何其他選項。這意味著,如果您的資料來源是XML檔案,則從列表中選擇XML選項。請看下面的截圖。在這裡,我們選擇JDBC選項將資料庫新增為資料來源。
選擇JDBC選項作為資料來源後,您將看到一個如下圖所示的對話方塊。
我們已經選擇了MySQL資料庫作為資料來源,因此我們必須在對話方塊的左側面板中選擇“SampleData (MySQL)”選項(在給定的截圖中標記為指標“1”)。指標“2”用於編輯連線語句和URL以與資料庫進行互動。
下圖顯示了一個對話方塊,您可以在其中定義資料庫的連線語句和URL。我們需要在此螢幕上執行四個操作(用指標突出顯示)。
在連線型別列表中,選擇**MySQL** - 我們已經選擇了MySQL作為資料庫(資料來源)。
在訪問列表中,選擇**本地 (JDBC)** - 透過JDBC連線,我們可以訪問資料庫。
在設定部分,我們必須提及主機名(localhost)、資料庫名(employeedb)、埠號(3306)、使用者名稱(root)和密碼(根據您的系統)。
點選“測試”按鈕測試連線語句。
最後,點選“確定”按鈕確認資料庫連線。
步驟3:新增查詢
請看下面的截圖。該對話方塊顯示了透過資料庫連線可用的已儲存查詢。
對話方塊右側的“可用查詢”塊顯示所有可用查詢的列表。
“查詢名稱”塊顯示在上面可用查詢列表中選擇的查詢名稱。
“查詢”塊顯示查詢語句。如果沒有可用的查詢,或者您想建立一個新查詢,請單擊“+”按鈕,該按鈕在下圖中標記為指標“1”。
單擊“+”按鈕時,您可以透過在“查詢名稱”塊中編輯名稱為“select_all_records”並使用以下查詢語句在“查詢”塊中建立一個查詢。
SELECT employee.id, employee.name, employee.designation, employee.department, employee.age FROM employee LIMIT 15
新增查詢後,您應該會看到以下對話方塊。單擊預覽按鈕。
單擊預覽按鈕後,您將在單獨的對話方塊中找到所有employee表記錄,如下圖所示。單擊“關閉”按鈕。
然後,單擊“確定”按鈕提交查詢。提交查詢後,您將在右側結構面板上查詢名稱下找到所有表字段名稱及其資料型別,如下圖所示。此處,最大化的框是位於螢幕右側的結構面板。
到目前為止,我們已經向Pentaho Reporting Designer添加了一個數據源和一個查詢。現在,我們必須向工作區新增元素以建立報表。相同的示例將擴充套件到下一章“報表元素”。
Pentaho - 報表元素
大多數報表元素可以透過將它們從資料面板拖放到工作區上的任何一個區域(主要是詳細資訊區域)來輕鬆新增。
讓我們繼續使用上一節中相同的示例。在那裡,我們向Reporting Designer添加了一個數據源和一個查詢。在這裡,我們將根據查詢生成的輸出設計報表。
生成的查詢欄位是報表元素,在下圖中突出顯示。它們是 - **id**、**name**、**designation**、**department** 和 **age**。
新增報表元素
將查詢新增到Reporting Designer後,生成的欄位將顯示在資料面板中,如下圖所示。
現在,將所需的欄位(要在報表中顯示的欄位)從結構面板拖放到主工作區中心的詳細資訊區域。
請看下面的截圖。它顯示了從結構面板拖動年齡欄位的方向。
在詳細資訊區域排列所有欄位後,您可以透過單擊檢視按鈕(在上圖中標記為“1”)來檢視報表檢視。
單擊檢視按鈕後,結果報表將如下圖所示。在工作區中,您將找到所有欄位的值(這些欄位在詳細資訊選項卡中指定)。
現在,如果您想返回設計模式,請單擊設計符號,該符號在下圖中標記為“1”。
Pentaho - 頁尾欄位
報表的每一頁包含兩個特殊區域。在每一頁的頂部,您會找到頁首區域。在頁面的底部,您會找到頁尾區域。其餘頁面可用於實際的報表內容。
在Pentaho中新增頁尾欄位
頁尾選項卡用於顯示某些屬性和功能。例如,您可以使用頁尾選項卡來**在頁面的底部列印年齡欄位的最大值**。報表引擎允許透過使用報表功能來實現這些功能。
請看下面的截圖。此處,結構面板中的“資料”選項卡包含一個符號 *fx*(標記為“1”)。它是新增函式按鈕。單擊此按鈕可將不同的函式新增到報表中。
然後,您將找到一個對話方塊,其中不同的函式被分成不同的組。要在頁尾列印員工的最大年齡,我們應該在“彙總”組中選擇“最大值”函式,該函式在下圖中標記為“1”。選擇它並單擊“確定”。
單擊“確定”按鈕後,該函式將新增到位於螢幕右側的結構面板中的“函式”標籤中。
選擇新增的函式(即最大值)後,您將在結構面板下方找到另一個面板,其中包含該函式的屬性。
請看下面的螢幕。最大化的框包含兩個指標(指標1和指標2)。
**指標1** - 在結構面板的“資料”選項卡中選擇該函式。
**指標2** - 透過從下拉列表中選擇年齡欄位來編輯屬性部分中的欄位名稱。這是因為我們必須列印員工的最大年齡。
現在,該函式已準備好自定義屬性。現在,您可以將該函式用作報表中的頁尾屬性。
請看下面的截圖。它再次包含兩個指標(指標1和指標2)。
**指標1** - 將“最大值”函式從結構面板拖放到工作區中的頁尾區域,如下圖所示。現在您的報表設計已準備就緒。
**指標2** - 選擇螢幕左側的“預覽”按鈕。
請看下面的螢幕。它顯示報表的預覽。員工的最大年齡已標記並在最大化的框中顯示。
Pentaho - 分組
Pentaho 提供各種功能和特性,可以將原始資料轉換為有意義的資訊。在這裡,我們將學習如何使用其中一個特性**分組**。您可以使用此特性將原始行集資料分組,以便使用者更容易理解報表。
分組是將長資料列表沿有意義的分隔符劃分的一種好方法。
使用分組,您可以將相似的專案放在一起,並將其與其他專案組視覺上分開。
您還需要分組才能對資料執行各種聚合操作,例如列印組中專案的數量或計算總和或平均值。
在 Pentaho 中新增分組
我們已經有一個基於員工資料的報表。這裡的問題是根據“部門”對所有員工記錄進行分組。請按照以下步驟完成給定的要求。
首先,您可以透過單擊“結構”窗格上的**新增分組**按鈕開始此過程。**新增分組**按鈕在下面的螢幕截圖中標記為“1”。
單擊“新增分組”按鈕後,您將獲得一個選項列表。然後,從列表中單擊**新增分組**選項。
單擊“新增分組”後,您將找到一個對話方塊,您可以使用它從給定的可用欄位中新增分組欄位。
請檢視下面的螢幕截圖。我們在對話方塊中突出顯示了三個活動,我們將其標記為 1、2 和 3。
**指標 1** - 為此組輸入使用者定義的名稱。
**指標 2** - 從可用欄位列表中選擇**部門**欄位。
**指標 3** - 單擊箭頭 (**→**) 按鈕,以便所選欄位被複制到所選欄位列表中。
在所選欄位列表中選擇該部門欄位,然後單擊“確定”進行確認。
新增分組後,您將在“結構”窗格的“結構”選項卡中找到它。您還將在工作區中找到**分組頁首**和**分組頁尾**區域。
請檢視下面的螢幕截圖。透過將左側報表設計器調色盤上的標籤圖示拖動到分組頁首中,向報表新增靜態標籤(在螢幕截圖中,此活動已標記為“**1**”)。
雙擊標籤,您可以編輯它並將名稱更改為**部門**。您可以使用格式工具欄或格式調色盤(分別標記為“3”和“4”)更改標籤的格式。
現在讓我們繼續。將“結構”窗格切換到“資料”選項卡。從“結構”窗格中選擇並拖動部門欄位到分組頁首(此活動在下面的螢幕截圖中標記為“**1**”)。要檢視報表的預覽,請單擊螢幕左側的預覽按鈕,該按鈕在下面的螢幕截圖中突出顯示並標記為“**2**”。
單擊預覽按鈕後,您將找到如下所示的結果報表。您會發現記錄現在已根據部門分組。
此時報表看起來不太吸引人。您可以新增一些顏色並使用格式工具欄或格式調色盤使標題更有效。
您現在可以使用 Pentaho 生成不同型別的報表。只需按照迄今為止討論的步驟操作,並嘗試使用 Pentaho 中可用的所有功能和選項。
Pentaho - 圖表報表
**圖表**,也稱為**圖形**,是資料的圖形表示。Pentaho Reporting Designer 提供各種圖表型別。您可以使用 Pentaho Reporting Designer 調色盤中提供的“圖表元素”選項設計圖表。
建立圖表有三個要求:
一個**資料收集器**,用於從資料來源提取圖表資料。
一個**圖表表示式**,用於根據收集到的資料生成圖表。
一個**報表元素**,用於顯示生成的圖表物件。
現在讓我們舉個例子,並嘗試瞭解在 Pentaho 中建立圖表的過程。
下表包含有關三個汽車品牌特徵的資料。我們將使用條形圖來描述這些資料。
| 汽車 | 速度 | 使用者評價 | 里程 | 安全性 |
|---|---|---|---|---|
| 菲亞特 | 1 | 3 | 5 | 5 |
| 奧迪 | 5 | 6 | 10 | 4 |
| 福特 | 4 | 2 | 3 | 6 |
首先,根據給定的表資料建立一個名為**car**的表。我們使用 MySQL 資料庫作為資料來源。將其(資料來源)新增到 Pentaho Reporting Designer。我們已經在“Pentaho – 資料來源和查詢”一章中討論瞭如何將資料來源和查詢新增到 Pentaho Reporting Designer。
在 Pentaho 中建立圖表的步驟
現在,按照以下步驟根據給定的場景建立圖表。
步驟 1 - 新增查詢
該查詢將檢索表**car**中的所有記錄。因此,查詢應如下所示:
Select car.id, car.name, car.speed, car.user_rating, car.millage, car.safety From car LIMIT 3
下面的螢幕截圖顯示瞭如何將給定的查詢新增到資料來源。
步驟 2 - 向頁首新增影像
這是一個可選步驟,但是它很重要,因為影像在改進報表的審美方面起著重要作用。
請檢視下面的螢幕截圖。我們在這裡突出顯示了以下五個活動:
新增查詢後,您將在“結構”窗格上找到查詢欄位。從“結構”窗格中,選擇相應的欄位,然後將其拖放到報表工作區的**詳細資訊**選項卡中。
詳細資訊選項卡僅顯示欄位值。透過從**調色盤**中選擇標籤欄位,將相應的標題標籤新增到**報表頁首**選項卡。
新增從調色盤中獲取的影像,並將其放置在**頁首**選項卡上。在**頁首**中新增另一個報表標題標籤,並使用合適的標題(例如**CAR – CHART**)進行有效的演示。雙擊影像元素 - 您將找到一個名為**編輯內容**的對話方塊。
您有兩個選項可以插入影像。將影像 URL 連結到報表或將影像嵌入到報表中。我們選擇透過選擇“**嵌入到報表中**”選項來嵌入影像。
從網際網路下載一些示例汽車影像以放入**頁首**中。單擊該按鈕以使用位置 URL 查詢示例汽車影像。單擊“確定”按鈕進行確認。
步驟 3 - 將圖表新增到報表頁尾
透過單擊選擇並將其從左側調色盤拖動到報表中來新增圖表。它在下面的螢幕截圖中標記為“1”。雙擊報表頁尾上的條形圖元素。
步驟 4 - 新增圖表屬性
雙擊圖表元素後,您將找到一個對話方塊,您必須在其中提供收集的資料詳細資訊和圖表表示式詳細資訊。
請檢視下面的螢幕截圖。“主要資料來源”選項卡包含兩個標記:
標記“**1**”是一個下拉列表,您必須在其中選擇“類別集資料收集器”。
標記“**2**”也是**類別列**的下拉列表,您必須在其中選擇名稱欄位。
“主要資料來源”中有三個部分:“通用”、“系列”和“分組”。在這裡,我們不需要在“分組”部分新增任何內容,因為我們沒有在查詢中使用任何分組。
**通用** - 此部分中有兩個欄位:“類別列”和“值列”。我們已經在上一節中使用名稱欄位填充了類別列值。第二個是**值列**。
單擊空值;您將找到一個如下圖所示的對話方塊。其中標記了兩個活動(1 和 2)。
單擊(+)按鈕以在列中新增值欄位。
單擊空值,您將找到一個下拉列表,您需要從中選擇速度欄位。
重複上述兩個活動,將使用者評價、里程和安全欄位新增到列中。新增所有這些欄位後,螢幕將如下圖所示。單擊“確定”進行確認。
“主要資料來源”部分的下一列是“系列”部分。
**系列** - 在“系列”欄位中,單擊“按系列值”選項。您將找到一個如下圖所示的對話方塊。其中有兩個標記(1 和 2)。
- 單擊(+)按鈕以在列中新增新欄位。
- 雙擊它,您可以編輯該欄位。
重複這兩個活動以新增諸如速度、使用者評價、里程和安全性之類的欄位名稱。
這些是在報表圖表特定部分中顯示的使用者定義名稱。但是在這裡,您必須遵循在**通用**部分的“值列”欄位中給出的相同順序。新增所有欄位後,如下圖所示,單擊**確定**。
新增所有部分後,您將獲得如下圖所示的**編輯圖表**對話方塊。“條形圖”窗格包含用於更改圖表格式的不同屬性。
在“條形圖”的“常規”部分中,我們將“3-D”值更改為**true**(標記為“1”)。單擊“確定”確認圖表屬性。
單擊格式工具欄上的“預覽”按鈕以檢視報表的預覽。它將如下圖所示:
您可以透過使用不同型別的資料模型併為圖表屬性提供不同的值,在報表中實現不同型別的圖表。Pentaho 在報表設計器中提供了近 18 種類型的圖表。
Pentaho - 格式化報表元素
將報表元素放置在工作區後,可以以多種方式對其進行格式化。Pentaho Reporting Designer 提供各種功能,可以根據我們的要求格式化報表元素。
文字格式化
所有基於文字的元素(如文字、數字、日期和標籤)都可以使用報表畫布正上方的格式工具欄輕鬆格式化。
請檢視下面的螢幕截圖。在這裡,我們標記並突出顯示了三個物件:
- 選定的報表元素
- 格式工具欄
- 用於格式化報表元素的樣式窗格選項卡
首先,選擇工作區上的報表元素。此後,您可以使用格式工具欄或使用“樣式”選項卡中的屬性以多種方式格式化該元素。
新增超連結
Pentaho Report Designer 允許您向報表資料新增超連結。在這裡,我們將舉一個一般性的例子來解釋如何在報表中新增超連結。
假設我們已經在**employee**表中添加了一個查詢來獲取欄位的 id、名稱和職位。我們還將這些欄位新增到報表工作區。這裡我們的要求是使用超連結將職位欄位的各個值作為引數值傳遞到www.google.co.in。
首先,選擇工作區中的職位欄位。右鍵單擊它,然後從列表中選擇“超連結”。請檢視下面的螢幕截圖。
單擊“超連結”選項後,您將找到一個對話方塊,您必須在其中提供詳細資訊,例如超連結位置的型別、URL、目標、引數名稱和值。
請檢視以下截圖。我們在此標記並高亮顯示了以下五個操作:
提供超連結位置的型別。通常有四種類型的位置:
自身 - 連結到同一報表欄位。
URL - 為該引用位置提供一個 URL。
Pentaho 倉庫 - 如果您安裝了 Pentaho 倉庫,則在本地主機中提供該檔案 URL(需要登入)。
手動連結 - 手動建立一個連結或公式,並將其作為超連結提供。
在本例中,我們使用了 URL 型別位置。
提供網站或檔案的 URL。對於此選項,我們使用了 https://www.google.co.in。
提供目標位置,即_TOP、_BLANK或_PARENT。我們使用了“_TOP”。如果您想在滑鼠指標移動到超連結文字上方時向用戶提供任何資訊,請在目標框旁邊的工具提示框中鍵入該資訊。
選擇加號 (+) 符號,向引數列表新增引數名稱和值。
為超連結的 URL 提供引數名稱和值。這裡我們使用“q”作為引數名稱,並使用職位欄位作為引數值。
最後,單擊“確定”以確認超連結屬性。
單擊格式化工具欄上的“預覽”按鈕以檢視報表的預覽。單擊“預覽”按鈕後,您將看到以下截圖。將滑鼠指標放在任何職位值上 - 無論是 HR 還是 Admin - 以檢視其相應的 URL。
在此 Pentaho 報表設計器預覽中,超連結用於將使用者重定向到另一個 URL。為此,您必須透過單擊主工具欄上的“執行”按鈕(在以下螢幕截圖中標記為“1”)並在其上選擇 HTML 選項來以 HTML 執行此報表。
請檢視以下截圖。執行報表有多種選項,但我們選擇以 HTML 格式顯示報表。
選擇 HTML 選項後,您將在單獨的 HTML 頁面中找到報表資料,如以下螢幕截圖所示。單擊任何職位值以瞭解超連結在 Pentaho Reporting 中的工作方式。
行條帶
Pentaho 報表設計器具有行條帶屬性,允許您為報表的交替行著色。讓我們以之前的示例來了解其工作原理。
將元素新增到工作區後,單擊報表工作區→轉到“格式”選單→選擇“行條帶”。請檢視以下截圖。
選擇“行條帶”選項後,您將看到一個對話方塊。在這裡,您可以從下拉列表中選擇一種顏色。我們選擇了紅色和綠色作為交替顏色。現在,單擊“確定”按鈕進行確認。請檢視以下截圖。
單擊“預覽”按鈕以檢視報表在使用交替行顏色時的顯示效果。它將顯示為以下螢幕截圖所示。
Pentaho - 函式
報表的每一頁都包含一個頁首區域和一個頁尾區域。其餘頁面可用於實際的報表內容。
頁尾選項卡用於顯示某些屬性和功能。例如,我們可以在頁尾中列印員工年齡欄位的最大值。報表引擎允許透過使用函式來實現這些功能。
讓我們使用我們在前面章節中使用的相同的employee表。將所有欄位新增到報表工作區後,現在讓我們向頁尾選項卡中新增一個函式以找出員工的最大年齡。
請按照以下步驟將預定義函式新增到您的報表中。
步驟 1 - 單擊函式按鈕 (fx)
請看下面的截圖。此處,結構面板中的“資料”選項卡包含一個符號 *fx*(標記為“1”)。它是新增函式按鈕。單擊此按鈕可將不同的函式新增到報表中。
步驟 2 - 選擇特定函式
然後,您將找到一個對話方塊,其中不同的函式被分成不同的組。要在頁尾列印員工的最大年齡,我們應該在“彙總”組中選擇“最大值”函式,該函式在下圖中標記為“1”。選擇它並單擊“確定”。
單擊“確定”按鈕後,該函式將新增到位於螢幕右側的結構面板中的“函式”標籤中。
步驟 3 - 定義欄位名稱
選擇新增的函式(即最大值)後,您將在結構面板下方找到另一個面板,其中包含該函式的屬性。
請看下面的螢幕。最大化的框包含兩個指標(指標1和指標2)。
**指標1** - 在結構面板的“資料”選項卡中選擇該函式。
**指標2** - 透過從下拉列表中選擇年齡欄位來編輯屬性部分中的欄位名稱。這是因為我們必須列印員工的最大年齡。
步驟 4 - 將函式新增到報表工作區
現在,該函式已準備好自定義屬性。現在,您可以將該函式用作報表中的頁尾屬性。
請看下面的截圖。它再次包含兩個指標(指標1和指標2)。
**指標1** - 將“最大值”函式從結構面板拖放到工作區中的頁尾區域,如下圖所示。現在您的報表設計已準備就緒。
**指標2** - 選擇螢幕左側的“預覽”按鈕。
步驟 5 - 檢查預覽
請看下面的螢幕。它顯示報表的預覽。員工的最大年齡已標記並在最大化的框中顯示。
Pentaho - 附加函式
下表提供了您可以在報表中使用的附加函式列表。
| 常用函式 | ||
|---|---|---|
| 序號 | 函式名稱 | 用途 |
| 1 | 開放公式 | 使您可以使用內建的公式編輯器建立自己的自定義開放公式函式。 |
| 2 | 頁數 | 計算報表渲染前使用的頁數。 |
| 3 | 總頁數 | 列出渲染報表中的總頁數。 |
| 4 | 頁碼/總頁碼 | 列印當前頁碼以及渲染報表中的總頁數。 |
| 報表函式 | ||
| 序號 | 函式名稱 | 用途 |
| 1 | 是否匯出型別 | 測試是否已為此報表選擇給定的匯出型別。 |
| 2 | 行條帶 | 交替更改組中每個專案帶的背景顏色。 |
| 3 | 隱藏重複項 | 隱藏組中相等的值。僅列印第一個更改的值。 |
| 4 | 隱藏頁首和頁尾 | 當輸出型別不可分頁時,隱藏頁首和頁尾帶。 |
| 5 | 顯示頁尾 | 僅在報表中渲染的最後一頁顯示頁尾。 |
| 彙總函式 | ||
| 序號 | 函式名稱 | 用途 |
| 1 | 求和 | 計算所選數字列的總和。 |
| 2 | 計數 | 計算組中包含的專案總數。如果未指定組,則計算整個報表中的所有專案。 |
| 3 | 每頁計數 | 計算渲染頁面上組中包含的專案總數。如果未指定組,則計算整個頁面上的所有專案。 |
| 4 | 組計數 | 計算所選組中的專案總數。如果未指定組,則計算所有組中的所有專案。 |
| 5 | 最小值 | 識別組中的最低或最小值。 |
| 6 | 最大值 | 識別組中的最高或最大值。 |
| 7 | 和的商 | 對兩列的總和進行簡單的除法運算,並返回一個數值。 |
| 8 | 和的商百分比 | 對兩列的總和進行簡單的除法運算,並返回一個百分比值。 |
| 9 | 計算 | 儲存計算結果。此函式用於組中。 |
| 10 | 頁數計數 | 根據指定的條件計算頁面上的專案數。當到達新頁面時,此值將重置為零。 |
| 11 | 頁面求和 | 將頁面上所有指定的專案相加併產生一個總計。當到達新頁面時,此值將重置為零。 |
| 執行函式 | ||
| 序號 | 函式名稱 | 用途 |
| 1 | 求和 | 計算指定列的執行總和。 |
| 2 | 計數 | 計算組或報表中的專案數。 |
| 3 | 組計數 | 計算報表中組的個數。 |
| 4 | 計數唯一值 | 計算列中某個值的唯一齣現次數。 |
| 5 | 平均值 | 計算給定列中的平均值。 |
| 6 | 最小值 | 識別列中的最低或最小值。 |
| 7 | 最大值 | 識別列中的最高或最大值。 |
| 8 | 總百分比 | 計算數字列的百分比值。總和除以計數的專案數。 |
| 高階函式 | ||
| 序號 | 函式名稱 | 用途 |
| 1 | 訊息格式 | 根據 Java 訊息格式規範格式化文字。 |
| 2 | 資源訊息格式 | 根據 Java 訊息格式規範格式化來自資源包的文字。 |
| 3 | 查詢 | 將一列中的字串對映到另一個字串。 |
| 4 | 間接查詢 | 返回對映欄位中的值。 |
| 5 | 資源包查詢 | 使用定義欄位中的值作為資源包中的鍵執行資源包查詢。 |
| 6 | 開放公式 | 使您可以使用內建的公式編輯器建立自己的自定義開放公式函式。 |























