このページの本文へ

前へ 1 2 3 次へ

BIとは? 基礎からわかる最新BI事情 最終回

ステップバイステップでPentahoを構成!

インタラクティブなBIダッシュボードを自分で作る

2010年03月19日 09時00分更新

文● 鹿取裕樹/ビーブレイクシステムズ、TECH.ASCII.jp編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

小さなお菓子メーカーに勤める新入社員の津井田くんは、社長の一声でBI導入検討を任されることに。お目付役の土須先輩とともに、BIの勉強を始めて、同僚のミクちゃんとともにがんばっています。今回は最終回。いままでBI構築からレポート作成までをしてきましたが、最後はダッシュボードを作ってみます。

津井田   せ、先輩、ついにダッシュボードを作るところまで行き着きました。

土須   なにぃ! オレが遊んでいる間にすごいなオマエ。

津井田   遊ばないでください。

土須   ミクちゃんも一緒だったぜ。

津井田   げぇ!

土須   まあいいじゃないか。ところで、あのデモ画面(関連記事)と同じようなことが出来るってワケか?

津井田   は、話を逸らしましたね。いや、まだまだ勉強しなければならないんですが、ひとまず全部やり終えましたよ。

ミク   すごいね、たいへんだった?

津井田   あ、ミクちゃん……。xcdfッてファイルを作ってね、それでごにょごにょと。

土須   ごにょごにょって何だ? ハッキリしろ。

津井田   とりあえず、手順を追って説明しますから、また一緒に見ていきましょう。

ミク   最終的には円グラフまで作っちゃえるのよね。

津井田   うん、もっと勉強したい人向けに資料集も用意したから見てみてね。

Pentahoのダッシュボード機能

 これまでの連載で多次元分析、レポーティング機能のご説明をしてきた。今回は連載の最後としてPentahoでのダッシュボードの作成を行なう。

 Pentahoでダッシュボードを作成する場合、無償版の「Community Edition」と有償版の「Enterprise Edition」とで違いがある。Enterprise Editionではダッシュボードビルダーという機能を使用して、Webブラウザ上でダッシュボードを作成できる。これに対し、Community Editionにはこの機能がないため、HTML、JavaScriptなどを利用して「開発」する必要がある。今回はCommunity Editionを前提としたダッシュボードの作成を行なう。

 ダッシュボード機能の仕組みは下図のようになる。

図1(ダッシュボード機能の仕組み)

ダッシュボード機能の仕組み

 この図について説明しよう。利用者はブラウザから見たいダッシュボード画面を呼び出す。BIサーバーはHTTPリクエストを受け取ると、「xcdfファイル」に記述された定義をもとに、「ドキュメントテンプレートファイル」と「コンテンツテンプレートファイル」を組み合わせてダッシュボード画面データを生成する。これでブラウザへの初期表示が完了する。

 次に、ブラウザに表示されたダッシュボード画面で何らかの操作を行なった場合、その操作内容がBIサーバーに送信される。BIサーバーは受け取った操作内容に基づき、「アクションシーケンス」を実行する。アクションシーケンスを実行した結果、生成されたダッシュボード画面データを再度ブラウザに返す。これでブラウザには操作結果が表示されることになる。

ダッシュボードの作成

 では、実際にダッシュボードを作成してみよう。ダッシュボードの作成は次の順序で行なう。

  1. xcdfファイルの作成
  2. ダッシュボード表示に使用するドキュメントテンプレートファイルの作成
  3. ダッシュボード表示に使用するコンテンツテンプレートファイルの作成

 ドキュメントテンプレートファイルとコンテンツテンプレートファイルの関連は下図のようになる。

図2(ドキュメントテンプレートファイルとコンテンツテンプレートファイルの関連)

ドキュメントテンプレートファイルとコンテンツテンプレートファイルの関連

 ドキュメントテンプレートファイルはダッシュボード画面の枠組みを記述したものである。各ダッシュボードで共通のレイアウトや画像(会社のロゴなど)をドキュメントテンプレートファイルに定義して再利用することで、ダッシュボード機能の開発を効率化することができる。

 コンテンツテンプレートファイルはダッシュボードの定義を記述した、HTMLの部分的なファイルである。単体ではHTMLファイルとして成立せず、ドキュメントテンプレートファイルと組み合わされることで1つのHTMLファイルとして完成する。ダッシュボード画面の生成時に、ドキュメントテンプレートファイルの{content}にコンテンツテンプレートファイルの内容が組み合わされる。

 このドキュメントテンプレートファイルとコンテンツテンプレートファイルの組み合わせを定義するのが、xcdfファイルとなる。

 xcdfファイルはXML形式のファイルであり、<style>タグにドキュメントテンプレートファイルを指定し、<template>タグにコンテンツテンプレートファイルを指定することで組み合わせを定義することができる。

 なお、<style>タグでのドキュメントテンプレートファイルの指定は省略することができる。省略した場合はデフォルトでtemplate-dashboard.htmlファイルがドキュメントテンプレートファイルとして使用される。下図はxcdfファイルの例である。この例では<style>タグの指定は省略している。

図3(xcdfファイルの例)

xcdfファイルの例

 これから行なうダッシュボードの作成では、ドキュメントテンプレートファイルはデフォルトのtemplate-dashboard.htmlを使用することとし、「xcdfファイルの作成」と「コンテンツテンプレートファイルの作成」の2つのステップで作成していく。

 では、個々のステップを見ていこう。

xcdfファイルの作成

 今回はこれまでの連載の中で作成した、biserver-ce/pentaho-solutions/testフォルダの下にダッシュボードを作成することとする。まず、エクスプローラーなどでこのフォルダを開き、test.xcdfという名前のファイルを作成する。

画像1(test.xcdfファイルの作成)

test.xcdfファイルの作成

 次にテキストエディタなどでこのファイルを開き、次の内容で記述する。

画像2(xcdfファイルの記述内容)

xcdfファイルの記述内容

 ダッシュボードのタイトルは「Test Dashboard」としている。<template>でコンテンツテンプレートファイルとしてtest-template.htmlを指定している。

 次はこのコンテンツテンプレートファイルを作成していこう。

コンテンツテンプレートファイルの作成

 xcdfファイルと同じフォルダにtest-template.htmlという名前のファイルを作成する。次にテキストエディタなどでこのファイルを開き、次の内容で記述する。ここで作成するのはコンテンツテンプレートファイルのひな形であり、これをベースにしてダッシュボードに表示する内容を追加していく。

画像3(test-template.htmlファイルの記述内容)

test-template.htmlファイルの記述内容

 ここまでの作業が完了したらBIサーバーを起動し、作成したダッシュボードの動作を確認してみよう。BIサーバーを起動し、ユーザーjoeでログインする。画面左のトグルブラウザーの「browse」で「test」を選択すると、下図のように「files」に「Test Dashboard」が表示されるはずである。もし表示されない場合は、「ツール」→「リフレッシュ」→「リポジトリキャッシュ」を実行してみてほしい。

画像4(filesへのTest Dashboardの表示)

filesへのTest Dashboardの表示

 この「Test Dashboard」をダブルクリックすると、下図のようにTest Dashboardが表示される。ヘッダー部の画像などはデフォルトのドキュメントテンプレートファイルのtemplate-dashboard.htmlに記述されたものが表示されている。画面中央の「Test Dashboard」はtest-template.htmlに記述したものが表示されている。

画像5(Test Dashboardの表示)

Test Dashboardの表示

 ここまででタイトルのみが表示されたダッシュボードができたので、次はこのダッシュボードの中に円グラフを表示させてみよう。

次ページ「円グラフの作成」に続く

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード