轉帖|使用教程|編輯:龔雪|2014-04-17 13:19:40.000|閱讀 4725 次
概述:Pentaho是一個商業智能集成平臺,將數據集成處理和分析工具包結合在一起。本文將介紹在Pentaho中,如何實現Metadata的報表創建。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
商業智能解決方案Pentaho提供了兩種報表工具,即基于Pentaho BI Server的Ad Hoc Query and reporting Tool(WAQR)和更高級的Pentaho Report Designer(PRD)。兩者均工作在由Pentaho Data Integration(PDI)創建的數據倉庫之上。區別是,WAQR只能通過JDBC連接、查詢數據倉庫,而PRD除了普通的JDBC連接方式之外,還有Pentaho特有的Metadata連接查詢方式(另外還有OLAP、XML等方式,本文就不一一介紹了)。WAQR方式相對簡單明了,登錄Pentaho BI Server之后,創建新的數據倉庫連接便可創建報表了。今天要討論的是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),如圖1;
新建查詢(Query),打開查詢編輯器。加入想要查詢的列、排序所用的列和約束條件。這里需要注意的是約束條件,因為通常報表會加入一些查詢參數。為了設置參數查詢,需要首先創建參數,通常是通過JDBC獲取數據倉庫中數據表的某一列作為參數值,然后在查詢編輯器中的條件(Condition)欄設置參數查詢。這里注意引用參數的語法:用花括號將參數名包圍起來,即{parameter}。然后選擇對應的比較操作符,比如對于String有Contains、exactly matches和in等,如圖2;
4、上一步完成后,會得到一些返回的列名,將這些列名按需拖入報表的Details部分,一個報表的主體部分就完成了;
5、如果需要,可以添加Group區域;
6、發布報表到Pentaho BI Server,如圖3。前提是已經開啟Pentaho BI Server;
7、為發布報表設置發布密碼,可在biserver-ce/pentaho-solutions/system/publisher_config.xml中設置。為該報表創建一個目錄,目錄名必須與Metadata文件域名一致,比如tth;
8、通過Pentaho Metadata Editor(PME)直接將.xmI文件發布到Pentaho BI Server下同一目錄,即tth。
9、最后,登錄到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 BI Server的bug。
轉載自//www.cnblogs.com/mybi/archive/2012/06/29/2570455.html
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網