首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

BIRT 入門實戰:在 DB2 Data Warehouse Edition 中建立第一份報表與圖表

     編輯:DB2 教學

前言:BIRT 與 DB2 DWE 整合開發環境

本文為《在 DB2 Data Warehouse Edition 中使用 Business Intelligence Reporting Tool》系列第二部分,著重於在 DWE Design Studio 中建立基本 BIRT 報表與圖表,並部署至 WebSphere Application Server。系列目標讀者包含:欲了解如何在 Design Studio 為關聯式資料建立報表者、覺得既有報表工具過於複雜者、以及想深入掌握 BIRT 外掛運作機制的開發人員。

教學目標與前置條件

  • 目標:在 DB2 DWE 中建立基本 BIRT 報表與圖表,於瀏覽器檢視,並學習匯出 PDF/CSV 格式。
  • 前置條件:熟悉 Eclipse IDE 基本概念(視圖、編輯器、面板);已完成系列第 1 部分安裝配置:安裝 BIRT Report Designer v2.1.1、建立 DWE 範例資料庫 olapanddatamining、建立 V_SALES/V_SALES_GROUPED 視圖、於 WebSphere v6.0 安裝 BIRT、使用範例報表連接 DB2 範例資料。
  • 系統需求:Design Studio 9.1.1 安裝 DWE 9.1.1、可存取 WebSphere v6.0、可存取 DWESAMP 資料庫、Windows 系統 512MB 以上可用記憶體。

建立第一份 BIRT 報表前的準備工作

建立 BIRT 專案

  1. 開啟 Design Studio(預設為 BI 透視圖),若 Database 視圖有連線,先於 BI 透視圖中斷開(右鍵資料庫選 Disconnect)。
  2. 切換至 Report Design (RD) 透視圖。
  3. File > New > Others > Business Intelligence and Reporting Tools > Report Project,專案命名 SampleReports。

圖1:DWE Design Studio BI 透視圖
圖1:DWE Design Studio BI 透視圖
圖2:於 BI 透視圖中斷開連線
圖2:於 BI 透視圖中斷開連線
圖3:建立報表專案
圖3:建立報表專案

建立共用程式庫

為避免重複建立資料源、主頁面、樣式,於專案右鍵 New > Library,檔名 MartLibrary.rptlibrary。
圖4:建立程式庫
圖4:建立程式庫

建立資料源

於 Library 的 Data Explorer 中右鍵 Data Source 選 New Data Source,選 JDBC Data Source,名稱 DWESamp。驅動程式類別 com.ibm.db2jcc.DB2Driver (3.1),URL 格式 jdbc:db2://serverIP:serverPort/databaseName(例:jdbc:db2://localhost:50000/DWESAMP),輸入使用者/密碼並測試連線。完成後重新命名節點為 DB2Server。
圖5:建立資料源
圖5:建立資料源
圖6:測試連線成功
圖6:測試連線成功

建立主頁面

於 Master Page 標籤拖入 3x1 網格,置入公司 Logo(JKSuperStoreLogo.bmp)於中欄,右欄插入動態文字 Date() 顯示當日日期。設定三欄寬度 33%/34%/33%,垂直置中。
圖7:主頁面預覽
圖7:主頁面預覽

建立第一份 BIRT 報表:每日銷售報表

建立報表並連結程式庫

  1. 專案右鍵 New > Report,檔名 DailySalesReport.rptdesign,範本選 Simple Listing。
  2. 開啟 Library Explorer,將 MartLibrary 中的 DB2Server 資料源與 NewSimpleMasterPage 拖入報表大綱對應節點。

圖8:新增報表精靈
圖8:新增報表精靈
圖9:連結程式庫資源
圖9:連結程式庫資源

建立具計算欄位與參數的資料集

SQL 查詢

SELECT Date, Group, Department,
 CAST(SubDepartment AS CHAR(20)) AS SubDepartment,
 CAST(Product AS CHAR(30)) AS Product,
 Baskets, Items, Price, CGS, Sales
FROM marts.V_SALES

資料集命名 DailySalesReportDataSet。
圖10:建立資料集
圖10:建立資料集

新增計算欄位

欄位名稱資料類型運算式
WEEKENDINGDateTimerow["DATE"].getFullYear()+'-'+(row["DATE"].getMonth()+1)+'-'+(row["DATE"].getDate()+(7-row["DATE"].getDay()))
PROFITDecimalrow["SALES"]-row["CGS"]
PROFIT_PCTDecimal(row["SALES"]-row["CGS"])/row["SALES"]

建立查詢參數(隱藏)

參數名稱類型預設值
pYearInteger2002
pMonthInteger3
pStoreIdInteger16

於資料集 SQL 加入 WHERE Year=? AND Month=? AND StoreId=?,參數綁定至上述報表參數。
圖11:建立報表參數
圖11:建立報表參數

設計報表版面

  • 拖入資料集至報表,自動產生表格。
  • 調整欄寬、對齊、格式化貨幣與百分比欄位。
  • 於表頭插入標籤「Daily Sales Report」,套用粗體大字。

客製化報表功能

於報表頁面加入參數輸入介面

於主頁面或報表頁首插入 HTML 表單,含 Year、Month、Store ID 文字框與 Update 按鈕,值綁定 params["pYear"] 等,action 指向 ../frameset 實現動態查詢。

啟用分頁

表格 Property Editor > Page Break 設定間隔 25 列。

建立彙總計算

於表格頁腳插入資料元素,運算式 Total.sum(row["SALES"]) 等,標示為總計。

設定報表格式與樣式

  • 建立樣式:Header(深藍底白字粗體)、Detail 交替列底色(淺灰/白)。
  • 套用至表頭列與細節列。
  • 儲存樣式至程式庫以供重用。

為查詢新增互動功能

於排序欄位表頭加入超連結,Drill-through 至自身報表,傳遞排序參數實現動態排序。

建立第一個圖表

建立計算成員

於資料集新增計算欄位 ProfitPerGroup = (row["PROFIT"]/Total.sum(row["PROFIT"]))*100。

選擇圖表類型與資料

  • 插入圖表,選 2D 長條圖。
  • Category (X軸):GROUP;Value (Y軸):SALES、PROFIT、ProfitPerGroup(多系列)。
  • 啟用 X 軸分組,設定間距與標籤格式。

格式化圖表

  • 控制圖例位置、資料點標籤顯示。
  • 設定標題、軸標籤字型、顏色。

以 Web 模式部署與檢視報表

在 Design Studio 中預覽 Web 報表

點選 Preview 標籤,即可模擬瀏覽器檢視效果,測試參數輸入、分頁、排序等互動。

匯出 Excel 檢視

預覽工具列提供「Export to Excel」功能,可將報表資料匯出 .xls 供離線分析。

於 WebSphere 中執行報表

  1. 將專案匯出為 WAR 檔或透過 WebSphere 管理主控台部署。
  2. 啟動 WebSphere,存取 https://host:port/SampleReports/frameset?__report=DailySalesReport.rptdesign。
  3. 驗證參數輸入、圖表顯示、PDF/CSV 匯出功能正常。

總結

本教學完整示範了從零開始建立 BIRT 專案、共用程式庫、資料源、主頁面,進而製作具備參數查詢、計算欄位、分頁、彙總、樣式、互動排序的每日銷售報表,並建立第一個多系列長條圖。最後說明了 Web 部署與多格式匯出的完整流程。下一部分(第 3 部分)將進階講解彙總報表與分組報表的建立,包含紅綠燈、複雜兩遍計算與目錄功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved