:::

商業智慧入門!在Pentaho中建立簡單的儀表板 / How to Create a Basic Dashboard in Pentaho

11月 10, 2016 1 Comments Edit Post

image

開放原始碼商業智慧平臺Pentaho可以連結資料庫建立網頁顯示的儀表板,其類型叫做Community Dashbaord Editor。你可以看看Open Demos來瞭解Pentaho可以做到什麼地步,其中能夠用下拉式選單篩選資料的DEMO 02是比較接近我們想用的場景。我這篇先簡單介紹怎麼用Pentaho連結資料庫、呈現一個簡易顯示的長條圖,最後就能夠讓人直接開啟這個儀表板。


從已經架設的Pentaho開始 / Start from a Ready Pentaho Community

2016-11-09_190307

我在另外一篇教了大家怎麼在Windows環境下架設Pentaho,而這一篇我是用一臺已經架設好的Pentaho Community版本,架設在Debian 7.2版本下。

練習資料庫 / Database for Practice

這次商業智慧要跟資料庫連線,我以下以PostgreSQL資料庫跟資料表作為例子來說明。資料庫連線資訊:

  • Host Name: 127.0.0.1
  • Database Name: db
  • Port Number: 5432
  • User Name: user
  • Password: password

這個資料庫裡面有一個資料表「grade」,裡面有兩個欄位

  • user_id: int,主鍵
  • score: int ,成績

這個資料表裡面有三組資料,內容如下:

user_id score
1 84
2 40
3 98

實際建立時,請自行替換你自己的資料庫吧。


要建立Pentaho的儀表板之前,我們要先建立資料來源,接著才能建立儀表板。所以以下我就拆成兩部分進行介紹。

管理資料來源 / Manage Data Sources

image

首先進入首頁的「Manage Data Sources」。

image

從齒輪圖示中進入「New Connection」。

2016-11-09_225212

選擇General,然後填入以下資訊:

  • Connection Name: 設定連線名稱,可自訂,例如「db」 。
  • Database Type: 選擇要連線的資料庫種類,在此以「PostgreSQL」為例。
  • Access: Native (JDBC)
  • Settings 參照你資料庫的設定,以本文為例就是:
    • Host Name: 127.0.0.1
    • Database Name: db
    • Port Number: 5432
    • User Name: user
    • Password: password

你可以按下「Test」測試是否能夠正常連線到資料庫。確認正常之後,按下「OK」繼續。

image

回到Manage Data Sources,可以發現剛剛新增好的「db」,讓我們按下「Close」按鈕回到主畫面,這個階段的工作就到此為止了。


建立儀表板 / Create CDE Dashboard

image

在Home主畫面中點選「Create New」,進入「CDE Dashboard」。

認識儀表板主要功能 / CDE Dashboard Panel Switch & Preview

image

這個CDE編輯介面的主要功能在右上角,首先是三種面板的編輯模式:

  • Layout Panel:編輯儀表板的排版,可以畫列(row)或欄(column)
  • Component Panel:編輯在排版上顯示物件,例如圖表(chart)
  • Datasources Panel:編輯物件(例如圖表)的資料來源,在此可連結資料庫。

而右上角的Preview則是預覽儀表板的成果。但要預覽之前,必須要先儲存。

儲存儀表板 / Save Dashboard

請先按上方「Save」按鈕儲存儀表板。

image

在這個對話視窗中,必須填入兩樣資訊:

  • Choose Folder: 要將儀表板儲存在本機端的那個目錄之下。通常是該帳號的家目錄,例如:「/home/admin」。
  • File Name: 檔案名稱,例如:「pudding20161109」

然後按下「Ok」完成儲存。然後我們就回到儀表板的編輯畫面。

儀表板的運作模式 / How Dashboard Word

在開始正式建立儀表板之前,我需要先講解剛剛提到的三種面板之間的關聯。要讓儀表板能夠順利運作的話,必須要在這三種面板中建立正確的物件,並且正確地設定彼此之間的關聯才行。

image

這三種面板之間的關係是用「Name」屬性來建立關聯。Name可以自訂,但最好設定得容易理解與記憶。如果要建立一個顯示資料庫數據的長條圖,我們要進行的步驟如下:

  1. [Layout] 建立Row物件,設定 Name: layout_row
  2. [Datasource] 建立sql over sqljndi物件,設定 Name: datasource_db,然後設定資料庫連線細節 (下面會再介紹)
  3. [Component] 建立CCC Bar Chart物件,設定 Name: component。再設定連結Layout與Datasource的兩個屬性:
    • HtmlObject: layout_row
    • Datasource: datasource_db 

這樣就可以建立三種面板的三個物件之間的連結。以下我們就以圖文操作步驟來介紹這如何設定。

1. 在Layout建立Row物件 / Create a Row in Layout Panel

在這邊我們要建立可以顯示圖表的排版位置,並把它的Name叫做layout_row

image

參照上圖,操作步驟如下:

  1. 切換到Layout Panel
  2. 按下Add Row (新增列排版)
  3. 在左方的Layout Structure選擇剛剛新增的Row (列排版)
  4. 在右邊的Properties (屬性) 中的 Name (名字)欄位 輸入名稱:「layout_row
2. 在Datasource建立sql over sqljndi物件 / Create sql over sqljndi in Datasource

接下來我們要在Datasources面板建立與資料庫的連線,設定SQL查詢。

image

參照上圖,操作步驟如下:

  1. 切換到Datasources Panel
  2. 在SQL Queries底下找到sql oversqljndi物件,點選新增該物件
  3. 在中間的Datasources點選剛剛新增的sql over sqljndi
  4. 在右邊Property (屬性)區域中設定參數 Name 為 「datasource_db
  5. 設定 jndi 為 「db」,這是要連結的資料庫,就是我們前面在Data Sources中設定的資料庫連線「db」
  6. 設定Query,這就是SQL查詢語法,請點選右邊的「…」按鈕。

image

我們在中間輸入要查詢的SQL。這個查詢結果等一下預計要提供給長條圖使用,因此我們必須查詢「2」個欄位。第一個欄位會給長條圖的x軸使用,第二個欄位會給 y 軸使用。參考上面練習資料庫的架構,我們的SQL語法可以這樣設定:

select user_id, score from grade

確定之後就按下「Ok」按鈕,回到Datasources Panel。這個階段就設定完成。

3. 在Component建立CCC Bar Chart物件 / Create CCC Bar Chart in Component Panel

接下來就要建立圖表了。建立圖表的時候也要輸入Layout跟Datasource的連結。

image

參照上圖,操作步驟如下:

  1. 切換到Component Panel
  2. 在左邊選擇Charts裡面的CCC Bar Chart
  3. 在中間Components選擇剛剛新增的CCC Bar Chart
  4. 在右邊Property(屬性)裡面設定參數 Name 為 「component_chart」
  5. Datasource設定為「datasource_db」,這表示這張圖表的資料來源
  6. Height設定為400,這是圖表的高度
  7. Width設定為300,這是圖表的寬度
  8. HtmlObject設定為「layout_row」,這表示會在該排版物件上顯示這張圖表

設定完成,這階段就算完成。

4. 預覽儀表板 / Preview Dashbaord

image

按下右上角的眼睛圖示Preview your Dashboard。

image

就可以看到儀表板中的長條圖正確顯示。確認無誤的話,按下右上角的「x」關閉圖示,我們回到編輯畫面。

image

最後請按下「Save」儲存你做好的儀表板,這個階段就大功告成了。


使用儀表板 / Open Dashboard

建立好儀表板之後,我們下次就可以用Open的方式開啟來使用。

image

把Dashboard所有分頁都關掉,或是重新登入Pentaho,我們回到主畫面,進入Browse Files。

image

回憶一下,我們剛剛Save儲存儀表板的時候所存放的路徑。

  1. 從左邊的Folders中找到該資料夾
  2. 然後在中間的Files選擇剛剛建立的儀表板。同樣名稱的檔案會建立三種不同類型的儀表板資料,這時候我們要選擇的是前面有(CDE)的檔案,後面沒有副檔名。
  3. 再到右邊的File Actions按下Open

2016-11-10_004413

可以使用儀表板了。


結語 / Conclusion

這篇介紹了如何在Pentaho裡面用最簡單的步驟建立儀表板。雖然感覺操作步驟很多,但因為大部分動作都是滑鼠操作,所以手續感覺比較複雜。熟悉一個圖表的建立之後,相信大家很快就能夠作出第二個、第三個。眼尖的讀者應該可以注意到,在儀表板編輯畫面的屬性欄位裡面還有很多參數可以自訂,而且在Components Panel裡面可以選擇的Charts (圖表)種類也非常豐富。光是這些排列組合,就足以讓大家製作一個豐富的儀表板了。

然而光是本篇的教學,它還不能算是一個稱職的儀表板。我們還有幾個問題需要解決:

  • 如何製作一個過濾選單,讓使用者可以自訂要查詢的圖表內容?
  • 如何將儀表板跟其他系統整合?
  • 我想要使用自己找到的JavaScript視覺化圖表工具,怎麼做?

這些問題都相當重要。其中第二個問題我好像已經解決了,但事隔一段時間,我現在居然想不太起來當初到底是怎麼做的 (汗)。總之我們一步一步來探究Pentaho的可能性,這篇就先到此為止吧。

總共1 則留言, (我要發問)

  1. http://localhost:8080/pentaho/content/pentaho-cdf-dd/Render?solution=demo&path=&file=pass_parameter.wcdf&userid=joe&password=password&name=Linux

    這個做法好像解答了如何跟其他系統整合的問題?

    回覆刪除

留言工具: