在 DB2 Data Warehouse Edition 中使用 Business Intelligence Reporting Tool 1
2008-12-12 16:35:54 来源:WEB开发网设置 DWE 示例数据
本系列中创建的 BIRT 示例报告将使用 DWE OlapAndMining 数据库。在把 BIRT 集成到 DWE Design Studio 中并创建报告之前,需要先安装示例数据,然后创建更多的数据库视图和一个表。
创建 OlapAndMining 数据
运行 DWE 提供的 setupolapandmining.bat 文件(或适用于 UNIX 用户的 shell 脚本),在系统中创建 OlapAndMining 数据库。可以在 .../IBM/DWE/samples/data 文件夹中找到这个批处理文件。这个批处理文件创建一个称为 DWESAMP 的 DB2 数据库,所有教程示例都将使用这个数据库。
创建 PRODUCT_GROUP 表
需要在相关产品信息的现有示例数据中添加一个表。在源代码文件夹 SampleScript/IXF(在本教程的 下载 一节中提供)中,可以找到 product_group.ixf 文件,可以使用这个文件在数据库中创建一个新表。
打开 DB2 Control Center。在 All Databases 节点上,选择 DWESAMP 数据库(这个数据库是前一步中通过运行setupolapandmining.bat文件创建的)。
在左边的树视图中,右键单击 Tables 节点,然后选择 Create From Import 选项。
Import Table 对话框打开并显示 File 选项卡。
在 Import File 字段中,选择源代码文件夹中的 product_group.ixf 文件。
在 Import File Types 下面,选择 Integrated exchange format 单选按钮。
在 Message file 选项中,选择一个日志文件位置(在 Windows 上通常是 C:templog.txt)。
在 Table Specification 选项卡上:
指定 MART 作为表模式。
指定 PRODUCT_GROUP 作为表名。
单击 OK 创建 PRODUCT_GROUP 表。
注意:一定要使用指定的表名和模式名。后面的视图将依赖于这些名称。
在表上创建更多视图
接下来,在 DWESAMP 表上创建更多的 SQL 视图。
提示:在使用 BIRT 时,如果涉及多个表的联结,就应该创建视图,因为多个表的联结是一种冗长乏味的操作。
打开一个 DB2 命令提示,然后连接 DWESAMP 数据库。
创建视图。在 SampleScript/data 文件夹(在本教程的 下载 一节中提供)中,找到 MARTS.V_SALES SQL 文件并用它创建 MARTS.V_SALES 视图。
创建另一个视图。使用另一个 SQL 文件 MARTS.V_SALES_GROUPED 创建另一个视图 MARTS.V_SALES_GROUPED。这个视图预先聚合数据库返回的数据,这会减少处理时间并改进性能。
提示:预先聚合数据可以显著减少通过网络连接发送的数据量,还可以改进 BIRT 报告和 WebSphere 服务器实例的性能。如果还创建了适当的数据库索引,就会进一步提高性能。
下载 BIRT 并在 DWE Design Studio 中安装
下载 BIRT
BIRT 由多个组件组成,所以需要下载多个文件。
在安装之前,需要下载以下文件。
注意:这些文件适用于 BIRT 2.1,这是与 DWE Design Studio 9.1.1 兼容的惟一版本。
组件 | 说明 | URL |
BIRT Report Framework | 将在 Design Studio 中安装的 Report Designer 插件 | HTTP |
BIRT 运行时 | 将部署在 WebSphere 服务器中的 BIRT 运行时引擎 | HTTP |
iText 1.3 | 用于把报告转换为 PDF 文件 | HTTP |
iTextAsian 1.3 | 用于在 PDF 报告中插入 Asian 字体 | HTTP |
在 DWE Design Studio 中添加 BIRT 插件
为了创建 BIRT 报告,需要使用 BIRT Report Designer,它作为 Eclipse 插件在 DWE Design Studio 中运行。安装 BIRT Report Designer 的步骤如下:
关闭 Design Studio 的所有实例。
把 BIRT Report Designer, Version 2.1.1 解压到一个临时目录中(例如,c:tempbirt)。这会创建一个称为 birt-report-framework-2_1_1 的子目录。
把 birt-report-framework-2_1_1 目录的内容复制到 ...IBMdweClienteclipse 中。系统会提示将覆盖一些文件而且有些目录(例如 plugins)已经存在。选择 OK 允许覆盖。
把 itext.jar 和 iTextAsian.jar 文件复制到 ...IBMdweClienteclipseplug-inscom.lowagie.itext_*/lib 目录中。
在一个命令窗口中,进入 DWE Client 目录。在 Windows 系统上,这个目录是 ...IBMdweClient。
在这个目录中,运行以下命令:DesignStudio.exe -clean。
检查新插件的安装情况。
在菜单栏中,单击 Help > About IBM DB2 DWE Design Studio, V9.1.1。
图 1. About DWE Design Studio 页面
单击 Feature Details。如果能够找到以 BIRT 开头的特性,就说明安装已经完成了。
图 2. 特性页面
单击 Plug-in Details。如果能够找到以 BIRT 开头的插件,就说明安装已经完成了。
图 3. Design Studio 插件页面
在 WebSphere Application Server 中部署 BIRT 运行时
在本系列后面的教程中,我们将创建几个报告并把它们部署在 WebSphere 服务器上。为了在 WebSphere 服务器上运行报告,必须先安装和配置 BIRT 运行时。这需要以 WAR 文件的形式创建一个包含 BIRT 运行时的 Web 应用程序,然后把它部署在 WebSphere 服务器上。
下载 BIRT 运行时并重新打包
为了在 WebSphere Application Server V6 上部署 BIRT Runtime 2.1.1(和 PDF 引擎),必须下载它,然后重新打包为 WAR 文件:
把 birt-runtime-2.1.1.zip 文件解压到一个临时目录中,例如 C:temp。birt.war 文件会出现在 C:tempbirt-runtime-2_1_1 目录中。
在根目录下创建一个新目录 birtruntime。
在 C:tempbirt-runtime-2_1_1 目录中找到并打开 birt.war 文件。
把 birt.war 文件解压到刚才创建的目录(C:birtruntime)中。可以使用您喜欢的任何 zip 实用程序,或者通过执行以下命令使用 Java jar 实用程序:jar -xvf birt.war(可能需要使用 jar 实用程序的完整路径,例如C:IBMdweappServerjavabinjar -xvf birt.war)。
在 birtruntime 目录中创建一个 logs 目录(C:birtruntimelogs)。
在 C:birtruntimeWEB-INFplatformplug-inscom.lowagie.itext 目录下面,创建一个 lib 目录,然后把 itext-1.3.jar 和 iTextAsian.jar 文件复制到这个目录中。
添加 JDBC 驱动程序文件
DB2 JDBC 驱动程序文件和许可文件应该已经在 DWE 附带的 WebSphere 服务器的全局类路径中了,它们的位置应该是 C:IBMdweappServerlibext 目录。如果您要部署 BIRT 运行时的 WebSphere 服务器还没有包含这些内容,就应该在全局类路径或 birtruntime 应用程序中添加这些文件:
把驱动程序复制到以下目录中,从而在服务器中添加 JDBC 驱动程序文件和许可文件:C:birtruntimeWEB-INFplatformplug-insorg.eclipse.birt.report.data.oda.jdbc_2.1.1.v*drivers 或 C:birtruntimeWEB-INFlib。
现在,应该重新创建 birt.war 文件。进入 C:birtruntime 目录,并执行以下命令重新创建 birt.war 文件:
C:birtruntime>jar -cvf birt.war logs/* report/* scriptlib/* webcontent/* WEB-INF/* index.jsp test.rptdesign test1.rptdesign |
。
提示:如果 jar 不在路径中,就需要使用 jar 实用程序的完整路径,使用的命令如下:
C:IBMdweappServerjavabinjar -cvf birt.war ./* |
把 BIRT Runtime 2.1.1 部署到 WebSphere Application Server V6 上
把 BIRT 运行时(birt.war)文件部署在 WebSphere 服务器上的步骤如下:
单击 http://system-name:port-no/ibm/console/ 链接,访问 WebSphere Adminsitrative Console,输入用户名和密码。
在导航树中,单击 Applications > Install New Application。
在 “Preparing for application installation” 页面中,单击 Browse 按钮,选择 C:birtruntime 目录中的 birt.war 文件,把 Context Root 设置为 /birt,然后单击 Next。
在 “Preparing for the application installation” 页面中,保持默认设置,然后单击 Next。
在 “Application Security Warnings” 页面中,单击 Continue。
在 “Install new application" 页面中,在下面几步中单击 Next 接受默认值:
步骤 1:选择安装选项。单击 Next。
步骤 2:把模块映射到服务器。选择 Eclipse BIRT Report Viewer 复选框并单击 Next。
步骤 3:把虚拟主机映射到 Web 模块。选择 Eclipse BIRT Report Viewer 复选框并单击 Next。
步骤 4:总结。单击 Finish。这时会出现一个消息,表示安装成功。
单击 Save to Master Configuration 链接保存所有配置,然后单击 Save 按钮。如果在这个步骤中遇到保存冲突,那么选择 save without overwriting the file 并继续。
检查应用程序安装
在 Administrative Console 主页的导航树中,单击 Applications > Enterprises Applications。
选择 birt_war 应用程序的复选框并单击 Start。
检查服务器上正在运行的应用程序的列表中是否有 birt_war 应用程序,见图 4:
图 4. Enterprise Applications
单击birt_war文件显示配置信息。把类装载器模式设置为 Parent Last,把类装载器策略设置为 Application(您的服务器可能使用比较低的库文件版本,通过把类装载器模式设置为 Parent Last,将首先装载库文件)。
单击 Apply 保存修改,然后选择 Save 按钮。请对照图 5 进行检查:
图 5. Enterprise Applications 配置页面
注意:BIRT 2.1.1 使用一些 jar 文件的最新版本,所以如果在检查 BIRT 应用程序时出现异常,那么删除 ...IBMdweDWEAdminlib 文件夹中的 osgi.jar 和 runtime-eclipse.jar 文件。
检查 BIRT 应用程序部署
BIRT 运行时现在应该已经准备好了。BIRT 运行时包含一个索引页面和一个简单的示例报告(用来检查配置)。在本教程后面的部分中,我们将创建报告,然后把报告部署在使用 BIRT 运行时的应用服务器中,并在 Web 浏览器中显示报告。按照以下步骤运行它们,从而检查安装是否成功:
打开浏览器并输入以下 URL:http://server-name:port-no/birt/index.jsp。应该会看到与图 6 相似的屏幕。
图 6. 运行时安装
当看到 “BIRT viewer has been installed” 消息时,单击 View example 链接,就会看到以下消息:Congratulations!。如果看到这个报告,就意味着已经正确地安装了 BIRT 视图。所以 BIRT Runtime 2.1.1 已经成功地安装在 WebSphere 服务器上了:
图 7. 成功的安装
修改和部署报告
现在对一个连接 DB2 服务器的报告进行测试,从而检查是否已经正确地安装了 DB2 驱动程序。为此,需要对本教程提供的源代码中的示例报告的连接字符串做一些修改(参见 下载 一节)。
创建 BIRT 项目
打开 Design Studio。在默认情况下,Design Studio 将打开 Business Intelligence(BI)透视图。
查看数据库连接的 Business Intelligence 透视图。如果在 BI 透视图中打开了一个数据库连接,并希望在 Report Design 透视图(BIRT 使用的透视图)中使用相同的数据库,就要断开这个连接。按照以下步骤断开连接:
打开 BI 透视图。进入 Navigation 视图。
打开 Connections 节点,访问相关数据库(例如,SampleDB)。右键单击这个数据库并选择 disconnect。
返回到 Report Design 透视图:
图 8. BI 透视图
单击 File > New > Others > Business Intelligence and Reporting Tools。选择 Report Project,然后单击 Next。
输入一个名称(例如,TestDeployment),然后单击 Finish。
图 9. 创建新的 BIRT 报告项目
如果提示您切换到 Report Design 透视图,那么单击 OK。在设计和预览要生成的报告时,需要使用这个透视图。
在 Navigator 视图中,右键单击刚才创建的 TestDeployment 节点。
进入 Import,单击 General > File System,然后单击 Next。
单击 Browse 按钮并找到源代码中提供的 TestDeployment 文件夹。选择这个文件夹。
选择这个文件夹中的所有文件,单击 Create selected Folder structure only 单选按钮。然后单击 Finish。如果出现一个对话框,它提示将覆盖现有的文件,那么单击 Yes to All。
这时将在项目中添加一个 TestReport.rptdesign 文件。
单击这个报告打开它。
修改数据源
在报告中,如果 Data Explorer 视图还没有打开的话,就打开这个视图。操作方法是单击 Windows > Open View > Others > Report Design > Data Explorer。在这里会找到三个节点:
Data Source —— 用来连接数据库。
Data Set —— 用来从数据库中的任何表中获取列。
Report Parameters —— 用来在两个报告之间传递变量。
可以看到 Data Source 节点是空的,Data Set 节点有一个子节点。在树视图中选择 Data Source 并展开它。
选择 JDBC Data Source,然后单击 Next。
图 10. 创建新的数据源
添加新的驱动程序来帮助连接数据仓库。单击 Manage Drivers 按钮。
显示 Manage JDBC Drivers 对话框。在 JAR files 选项卡上,单击 Add。
在文件选择对话框中,找到并选择文件系统中的以下文件:
.../Program Files/IBM/SQLLIB/java/db2jcc.jar
.../Program Files/IBM/SQLLIB/java/db2jcc_license_cu.jar
.../Program Files/IBM/SQLLIB/java/db2jcc_license_cisuz.jar
.../Program Files/IBM/SQLLIB/java/db2java.zip
这些文件将出现在 Data Warehouse 安装文件夹中。
图 11. Manage JDBC Drivers 对话框
单击 Drivers 选项卡。在 Driver Class Name 下面,会看到一个新条目:com.ibm.db2jcc.DB2Driver (3.1)。单击 OK 关闭这个对话框。
在 Driver Class 列表中,选择 com.ibm.db2jcc.DB2Driver (3.1)。
在 Database URL 框中,输入以下字符串:
jdbc:db2://serverIP:serverPort/databaseName。
把 serverIP 替换为运行数据库的服务器的 IP 地址(如果数据库在同一台机器上,就输入 Localhost)。
把 serverPort 替换为运行 DWE 服务器的端口号。
把 databaseName 替换为 DWESAMP。这是本教程前面创建的数据库(例如,Jdbc:db2://localhost:50000/DWESAMP)。
在文本框中,输入数据库的用户 ID 和密码。
单击 Test Connection 按钮测试连接。如果连接成功,就会显示一个表示连接成功的对话框。可以看到 Data Set 已经有一个预定义的子节点。因为希望检查 DB2 连接,所以当前仍然选择这个数据集。
保存报告。
运行部署的报告
按照以下步骤运行 TestReport.rptdesign 报告:
把报告复制到 Websphere birt 文件夹中(这里包含 BIRT 运行时)。还会找到 index.jsp 文件,BIRT 运行时使用这个文件检查 BIRT 运行时的安装。这个文件夹应该位于下面这样的路径中:
...IBMdweappServerprofilesProfile_NameinstalledAppsNode_Cell_Namebirt_war.earbirt.war
启动 WebSphere 服务器。
通过查看以下 URL 检查 非分页报告(non-paginated report):
http://server-name:port-no/birt/run?__report=report name with path&__format=html
通过查看以下 URL 检查 分页报告:
http://server-name:port-no/birt/frameset?__report=report name with path&__format=html
示例: http://localhost:9080/birt/frameset?__report=TestReport.rptdesign&__format=html
报告应该与图 12 相似:
图 12. DB2 连接成功
后续教程的概述
下面概述本系列中后续教程的内容:
教程 2:基本报告和图表
这个教程讨论如何创建基本的报告和图表,并使用 BIRT 特有的一些功能创建报告应用程序。对于创建需要连接 DB2 数据库的任何种类的 BIRT 报告,这个教程中涉及的大多数步骤都是必需的。内容包括:
使用 BIRT 库
创建数据源和数据集
创建一个主控页面
创建简单的计算成员
为数据和报告设置格式和样式
处理图表的外观
根据表单输入动态地更新查询
图 13. 每日销售报告
图 14. 年度变化报告
教程 3:汇总报告和分组报告
这个教程讨论如何创建汇总报告和分组报告,并添加一些基本的动态元素。我们将使用从数据库中获取的数据并创建复杂的聚合计算。内容包括:
创建汇总报告
红绿灯
根据表单输入动态地更新查询
图 15. 汇总报告
创建分组的详细报告
处理标题布局
简单的聚合计算
复杂的聚合计算:两遍(two-pass)计算
对分组进行排序
图 16. 分组报告
教程 4:钻通和其他高级主题
这个教程将讨论 BIRT 的一些高级特性。讨论的特性包括交互功能、向下钻取报告和图表以及创建模板。内容包括:
对列应用复合排序
隐藏一个列
创建向下钻取报告
创建向下钻取图表
图 17. 在报告中添加交互功能
图 18. 向下钻取报告
根据相同的数据集创建图表和网格
同时包含图表和网格的报告
图 19. 交互式图表
从报告创建模板
动态的页面内容 —— 过滤标题上显示的信息
图 20. 向下钻取图表
- ››DataGrid中CheckBox绑定bool属性来进行选中判断
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››data/data/目录下的私有数据
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
更多精彩
赞助商链接