Pentaho是一个商业智能 (Business Intelligence,BI)集成平台,是世界上最流行的开源商务智能软件,以工作流为核心、强调面向解决方案而非工具组件、基于java平台的商业智能套件BI,它包括一个web server平台和几个工具软件:报表、分析、图表、数据集成和数据挖掘等,包括了商务智能各方面。本文介绍一下在Pentaho中如何实现Metadata的报表创建。
利用PRD创建基于Metadata的报表
这种方式创建报表的前提是已经创建好了的Metadata文件,以.prpt结尾。本文假设读者已经创建好了.prpt文件,并导出为.xmI文件,以供创建报表使用。
1.打开PRD,新建报表,然后保存;
2.为空的报表中的Page Header、Report Header、Report Footer、Page Footer等添加相应元素。重点在Group Header和Details;
3.接着新建Metadata数据连接。具体操作为:打开Metadata数据源编辑器,添加.xmi文件为数据源,并提供创建.prpt文件时所使用的域名(Domain Name),如下图所示:
4.然后新建查询(Query),打开查询编辑器。加入要查询的列、排序所用的列和约束条件。这里要注意约束条件,因为报表通常会加入某些查询参数。为了设置参数查询,需要首先创建参数,通常是通过JDBC获取数据仓库中数据表的某一列作为参数值,然后在查询编辑器中的条件(Condition)栏中设置参数查询。
这里要注意引用参数的语法:用花括号将参数名括起来,即{parameter}。然后选择对应的比较操作符,比如对于String有Contains、exactly matches和in等,如下图:
5.点击下一步,将看到返回的列名,将这些列名按顺序拖曳到报表的Details右边的空白处,报表的主体部分就完成了;
6.若需要,可添加Group区域;
7.开启Pentaho BI Server,发布报表到Pentaho BI Server:
8.可在biserver-ce/pentaho-solutions/system/publisher_config.XML中设置发布报表的发布密码。创建报表目录,目录名要与Metadata的文件域名相一致,比如tth;
9.通过Pentaho Metadata Editor(PME)直接将.xmI文件发布到Pentaho BI Server同一目录下,即tth。
10.最后登录到Pentaho BI Server,刷新metadata和.prpt文件,双击.prpt就可以看见生成的报表了。
需要特别注意的是:如果报表中有多个values,参数值不唯一,那么比较参数比较符要选择exactly matches,而不是in!这一点与利用PRD创建基于JDBC的报表时参数比较不同,后者对于多值采用in来比较。虽然对于PRD来说exactly matches和in使用效果相同,但发布到Pentaho BI Server就会出现问题。如果使用in,那么当你为一个参数选择多个值时就会出现”Report validation failed.”的错误。
在pentaho创建基于metadata的报表,不仅现代化,把基本的报表可视化,还帮你大大提高了工作效率。阅读了本篇文章的详细教程,你学会创建并发布报表了吗?