[轉貼]Pentaho部署常見問題

來源:互聯網
上載者:User

Pentaho部署常見問題

 

Pentaho Q&A List

 

下面連結為此文檔的PDF格式:

http://dl.iteye.com/topics/download/80c28022-bbf0-3b3a-9bb3-6dcc066b7135

 

 

作者: http://flyfoxs.iteye.com

目錄

 

 

 

1. 柱狀圖(Bar Chart),和折線圖(Line Chart)的區別

2. 折線圖(Line Chart) 和 xy折線圖(XY Line Chart)區別

3. Pentaho 泡泡圖(buddle chart)

4. Jpivot 出圖時,隱藏All

5. 資料太多時,如何將X軸稀疏顯示

6. Pentaho Report Designer開發時,如何在一個Report中顯示2個圖形(Chart)

7. inline subreport與banded subreport的區別

8. 如何在Pentaho Report Designer中使用變數/參數

9. Pentaho User Console 多語言

10. Pentaho(OLAP) Jpivot圖片亂碼, Pentaho Report(Chart)亂碼

11. Session 超期

12. 發布中繼資料(metadata)後,Server日誌出現亂碼,即時報表無法顯示多語言

13. Jpivot工具列的解說

14. 設定發布密碼(發布report, metadata)

15. 修改Log層級(可以列印出詳細的錯誤,比如MDX對應的SQL)

 

 

 

 

1.柱狀圖(Bar Chart),和折線圖(Line Chart)的區別

通過,可以很明顯的看到柱狀圖和折線圖的區別,就是當資料不連續的時候,折線圖會”預設”的隱藏資料.導致報表失去精確性.當然這個也是可以彌補的,也就是這個只是預設行為.如何彌補,可以參考折線圖與XY折線圖的區別.

 

 

2.折線圖(Line Chart) 和 xy折線圖(XY Line Chart)區別

當資料不連續時,折線圖可以選擇通過標記顯示出不連續的點來標明資料的存在,在XY Line Chart上面我沒有找到這樣的選項. 下面就是相關選項及對應的顯示結果

 

 

 

 

l  當座標密度比較大的時候,XY 折線圖可以控制顯示間隔,但是折線圖做不到. XY折線圖如何做到的,可以參考官方例子. prd-ce-3.9.0-GA/report-designer/samples/Charts/XY Line Chart.prpt. 請注意高亮的參數

 

 

 

 

 

3. Pentaho 泡泡圖(buddle chart)

個人覺得官方樣本裡面的泡泡圖是不對的(也許是我不太理解),查看其參數後發現,series-by-field這個參數很多餘,如果這個參數選擇了Productname,那麼一個Productname只能在圖表上有一個泡泡,並且是選擇最後一個出現的資料.

 

 

 

 

這樣就會導致下面的資料,無法在Pentaho通過泡泡圖來展現.針對同一產品,我們做了這樣一組資料(這組資料只是為了說明問題虛構的,不一定合理).那麼在Pentaho的泡泡圖上面就只會有一個泡泡.但是通過Excel可以很容易的得到4個泡泡.

cost

budget

revenue

product

1

2

3

food1

2

3

4

food1

3

4

6

food1

4

5

4

food1

有一種折中的辦法,就是把product這一列用一個肯定不會重複的數來替代,這樣Pentaho,就可以顯示出正確的泡泡圖了.

4.Jpivot 出圖時,隱藏All

Jpivot提供了很強的OLAP分析,有一個很實用的功能就是顯示圖表.但是如果不留意,就會在圖表中引入了摘要資料,也就是的高亮部分.這個時候,我們其實想要的是通過圖表同一個層級的資訊,但是查看產生的圖,你就會發現匯總部分被帶入進圖表了,這個圖表就很容易讓人誤解了(紅色的總是佔了剛好一半).

 

 

解決辦法:點擊高亮的Drill Replace按鈕,得到下面的結果,然後點擊高亮的向下的箭頭.再看看圖片,你就會得到很直觀的圖片了.

 

 

 

 

 

 

 

 

 

5. 資料太多時,如何將X軸稀疏顯示

可以參考下面的Blog,由於我找到了其他的方案,所以沒有驗證了.我的解決方案就是使用XY-Line Chart就可以很容易的指定座標間隔.如果指定,可以參考[折線圖(Line Chart) 和 xy折線圖(XY Line Chart)區別]

http://www.itisbi.com/thread-72-1-1.html

 

 

6. Pentaho Report Designer開發時,如何在一個Report中顯示2個圖形(Chart)

Pentaho不像Cognos,Cognos一個報表裡面可以很容易的顯示多個List或者表徵圖.Pentaho只能使用 sub report的形式來實現,因為一個Report裡面只能有一個啟用的結果集. 開發過程總發現Report沒有資料,就有一個可能是沒有Active的結果集.

Pentaho的Sub Report有2種: inline subreport,banded subreport這2種Report的區別,在下一問題中進行詳細解說.

 

7.inline subreport與banded subreport的區別

說簡單點就是2總Report的大小不一樣,inline是固定的,精確根據你指定的大小來. 而banded則是根據裡面內容多少來確定Report的大小.

 

但你不知道你的資料有多少的時候,你就需要考慮使用banded.反之則可以選擇banded.

 

參考文檔:

http://wiki.bizcubed.com.au/xwiki/bin/view/Pentaho+Tutorial/+inline+vs+banded

8. 如何在Pentaho Report Designer中使用變數/參數

下面這個文檔裡面詳細的講述了,如何在PRD中使用各種查詢時,如何使用SQL.有需要可以直接去看.

 

http://diethardsteiner.blogspot.com/2009/11/using-parameters-in-pentaho-report.html(網址被牆,需要使用代理訪問)

 

9. Pentaho User Console 多語言

Pentaho對於多語言的支援,大部分可以很容易的根據感覺找到.比如即時報表(ad hoc report),在定義Metadata時,就可以對各個欄位設定對應的多語言.但是Pentaho User Console的多語言,卻不是很好找.下面是官方樣本的效果.

 

要實現這個多語言,主要是看2個檔案,一個是index.xml,一個是index_jp.properties. 檔案內容可以參考官方樣本.關鍵是修改name對應的值,其他的可以不用修改. Name對應的指,你要轉換為ascii才可以,你可以使用線上工具:

http://www.00bug.com/native2ascii.html

http://tool.chinaz.com/Tools/native_ascii.aspx

 

 

      

 

10.  Pentaho(OLAP) Jpivot圖片亂碼, Pentaho Report(Chart)亂碼

我在使用Pentaho的時候,亂碼遇到的不多,主要是2處,一處是發布metadata時,另一處就是Pentaho產生的圖片.

 

在PentahoReport使用jfreechart產生圖片(比如在PRD中引入Chart圖表,或者在OLAP時,使用Jpivot組建圖表),如果你只是產生圖片有亂碼,報表能正常顯示文字,那麼恭喜你,我能幫你解決這個問題.(你也可以手工輸入一個漢字到Report中,如果能夠正常顯示那麼問題就能更確定了)

其實問題的根本原因,就是缺少字型,你如果想瞭解的更細緻,可以參考如下連結.在Centos系統中,可以直接使用下面命令安裝字型,然後重啟bi-server即可.

yum list | grep -i font | grep japanese yum install fonts-japanese
http://space.baidu.com.cn/yanghlcn/blog/item/8e29afa48dfa23fc9152ee2d.html http://zhanghaoeye.iteye.com/blog/708211

 

11.   Session 超期

在開發時,經常走開會再回來,BI-Server就會讓你重新輸入密碼,這個很討厭,可以修改如下配置,防止Session超期:

 

vi ./webapps/pentaho/WEB-INF/web.xml
<!--insert additional servlet mappings --> <session-config> <session-timeout>30</session-timeout> </session-config>

 

12.    發布中繼資料(metadata)後,Server日誌出現亂碼,即時報表無法顯示多語言

雖然目前找到瞭解決辦法,但是對於原因細節還是不明白.猜想是因為伺服器和用戶端對於Unicode的編碼方式不一樣,導致出現亂碼.

 

解決辦法就是,按照高亮部分修改用戶端啟動指令碼

(pme-ce-4.5.0-stable\metadata-editor\metadata-editor.bat)

set  OPT=-Xmx256m -cp %CLASSPATH% -Djava.library.path=%LIBSPATH% -Dfile.encoding="UTF-8"

 

 

 

 

下面是我遇到的錯誤異常

 

Caused by:  org.xml.sax.SAXParseException; lineNumber: 5585; columnNumber: 61; Invalid  byte 3 of 3-byte UTF-8 sequence.

        at  org.apache.xerces.parsers.DOMParser.parse(Unknown Source)

        at  org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)

        at  org.pentaho.metadata.util.XmiParser.parseXmi(XmiParser.java:905)

        ... 70 more

Caused by:  org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 3 of  3-byte UTF-8 sequence.

        at  org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)

 

 

 

13.  Jpivot工具列的解說

 

 

 

這個工具列的大部分按鈕還是很好理解的,比如列印,產生圖片,匯出Excel,我只是挑出幾個個人不好理解的幾個比較說明一下.

 

l OLAP Navigator

 

 

點擊粉紅色的按鈕,可以決定這個維度是出現在行,還是列中顯示.

點擊黃色的按鈕,可以決定這個按照這個資訊過濾. 不過這個功能再有些版本中是有Bug的,在biserver-ce-4.5.0時已經fixed了.

三角形的按鈕,排序按鈕,這個是很好理解的.

如果你有多個度量(measure),預設只顯示一個,你可以點擊Measures這個連結進行設定.

 

l  Suppress Empty Rows/Columns

 

 

這個按鈕說通俗點就是是否顯示空資料,比如在OLAP分析時經常會遇到稀疏資料,比如夏天一款棉襖的銷量,這個時候就可以通過這個按鈕隱藏這些資料.

 

這個按鈕的效果,也可以通過MDX SQL Editor很明顯的發現,這個按鈕剛好對應關鍵字”NON EMPTY”

 

l  Drill Member/Drill Position

 

 

 

這2個按鈕要對比來解釋,他們的區別就在於當你已經展開了一個維度,展開第二個維度時的區別.下面通過圖片來對比:有圖有真相.

 

 

對比2個圖片發現,當選擇Drill Member時,你展開第二個維度(Department)時,所有的Department都會展開.但是如果你選擇Drill Position,只會展開你選擇的那部分.

 

另外一點,就是這個按鈕是互斥的.

 

 

 

l  Drill Replace

 

 

 

這個按鈕可以解決上面提到的OLAP產生Chart時,總是帶入摘要資料的問題.

 

 

l  Drill Through

 

 

這個很簡單了,就是讓你Drill Through,點擊高亮的箭頭就可以了.

 

 

 

 

l  Show Chart/Chart Config

 

 

 

這2個按鈕的作用很明顯,只是有幾點需要說明.

如果產生圖片時,同時產生了摘要資料部分,你可以參考: [Jpivot 出圖時,隱藏All]

如果圖片沒有生產出來,可能是圖片太大了,你需要調整圖片高度和寬頻

如果產生的圖片有亂碼,那是因為沒有對應的字型,你可以參考上面關於亂碼部分的說明

 

 

14.    設定發布密碼(發布report, metadata)

這個密碼必須設定,預設為空白,是不能發布Report和metadata的

vi  biserver-ce/pentaho-solutions/system/publisher_config.xml

 

 15.    修改Log層級(可以列印出詳細的錯誤,比如MDX對應的SQL)

./server/biserver-ce/tomcat/webapps/pentaho/WEB-INF/classes/log4j.xml

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.