このページの本文へ

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

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

いよいよキューブを作ってWebブラウザから閲覧開始!

2010年03月05日 10時00分更新

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

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

Schema Workbenchでのスキーマの設定

Schema Workbenchのインストール

 Schema Workbenchは前回までと異なり、http://sourceforge.net/projects/mondrian/からダウンロードする。「View all files」ボタンをクリックし、「schema workbench」から「3.1.1-stable」をクリックする。

画像1 Schema Workbenchのダウンロード

画像1 Schema Workbenchのダウンロード

 「psw-ce-3.1.1.12687.zip」をクリックし、ダウンロードを行なう。ダウンロードしたファイルを解凍すればインストールは完了である。

スキーマの設定その1
Schema Workbenchの起動と接続

 解凍したSchema Workbenchのフォルダの中のworkbench.batを実行する。すると、次の画面が表示される。これでSchema Workbenchの起動が完了した。

画像2 起動後の画面

画像2 起動後の画面

 まず、DWHへの接続情報を設定する。これはSchema Workbenchが実際のDBに接続し、テーブルやカラムの存在チェックなどをしており、設定が必須なためである。画面上部のメニューから「Tools」→「Connection」を選択する。表示されるダイアログでデータベースpentaho_dwhへの接続情報を設定し、「Test Connection」ボタンをクリックする。「Database Connection successful」と表示されれば接続が成功したということになるので「Accept」ボタンをクリックする。

画像3 データベース接続設定ダイアログ

画像3 データベース接続設定ダイアログ

 次に画面上部のアイコンの中で一番左の「New」アイコンをクリックする。すると「Schema」、「MDX Query」、「JDBC Explorer」の3つが表示されるため、この中から「Schema」を選択する。画面右の「Attribute」の「name」にスキーマ名を入力する。今回は「TestSchema」としておく。

画像4 スキーマ追加後

画像4 スキーマ追加後

 Schema Workbenchでのスキーマの設定は次の手順で行なう。

  1. ディメンジョンの追加
  2. ディメンジョンへのディメンジョン・テーブルの割り当て
  3. ディメンジョンへのレベルの追加
  4. キューブの設定
  5. キューブへのファクト・テーブルの割り当て
  6. キューブとディメンジョンの紐づけ
  7. キューブへのメジャーの追加

 では、順に見ていこう。

スキーマの設定その2
ディメンジョンの追加

 まずはディメンジョンの追加を行なう。これはディメンジョン・テーブルの定義を追加する作業である。dim_customer、dim_product、dim_dateの3つのディメンジョン・テーブルに対応するディメンジョンを追加していく。

 まずdim_customerに対応するディメンジョンを追加する。画面左の「Schema」を選択した状態で、「Schema」ウインドウ上部の「Add Dimension」ボタンをクリックする。

画像5 ディメンジョン追加後

画像5 ディメンジョン追加後

 「name」を入力する。初期値は「New Dimension 0」が設定されており、任意のディメンジョンの名称を設定できるが今回はdim_customerとしておく。

 次に追加したディメンジョンへのディメンジョン・テーブルの割り当てを行なう。画面左に表示されているディメンジョンdim_customerの左の丸をクリックし、ツリーを展開する。すると「New Hierarchy 0」が表示される。「name」に「顧客」、「allMemberName」に「全て」と入力する。

画像6 ディメンジョン展開後

画像6 ディメンジョン展開後

 「顧客」を右クリックする。表示されるコンテキストメニューの中から「Add Table」をクリックする。すると画面左のツリーに「Table: Table」が追加される。画面右でテーブルの情報を入力していく。「Attribute」の「name」のプルダウンにデータベースpentaho_dwhのテーブルが表示される。ここでは「public->dim_customer」を選択する。

 もう一度「顧客」をクリックする。画面右の「Attribute」の「primaryKey」のプルダウンで「customer_key」を選択する。ここではdim_customerの主キーを設定している。

 次にディメンジョンへのレベルの追加を行なう。第2回のディメンジョナル・モデリングで説明したが、ディメンジョンは階層化して定義する。必ずしも複数の階層となるわけではなく、1階層のみとなる場合も多い。Pentahoのレベルとはこの階層に相当するものである。1階層のみのディメンジョンであってもレベルは1つ登録する必要がある。

 レベルを追加するには「顧客」を右クリックし、コンテキストメニューの中から「Add Level」をクリックする。すると画面左のツリーに「New Level 0」が追加される。画面右でレベルの情報を入力していく。今回は「name」、「column」、「type」、「captionColumn」に対して入力を行なう。

 「name」にはレベルの名前として任意の文字列を入力する。「column」にはこのレベルが対応するディメンジョン・テーブルのカラムを指定する。「type」には「column」で指定したカラムの値をどのようなデータ型として扱うかを指定する。「captionColumn」には分析画面でこのディメンジョンの値を表示する際の表示名として使用するカラムを指定する。指定しない場合、「column」の値が表示されることになり、コード値などがそのまま表示される。それでは分かりにくい場合は「captionColumn」を指定する。今回の場合は顧客コードをそのまま表示するのではなく、顧客名を表示するため、ここに「name」カラムを指定する。

画像7 レベル追加後

画像7 レベル追加後

 同じようにdim_productについてもディメンジョンの追加、ディメンジョンへのディメンジョン・テーブルの割り当て、ディメンジョンへのレベルの追加を行なう。

画像8 dim_product設定後

画像8 dim_product設定後

 ディメンジョンの最後としてdim_dateの追加を行なう。ディメンジョンへのディメンジョン・テーブルの割り当てまではこれまでと同じように行なう。ただしディメンジョン追加での「type」は「TimeDimension」を指定する。

 また、レベルの追加を行なう点が他の2つのディメンジョンと異なる。日付ディメンジョンは年-月-日などで階層化することが多い。階層化することで分析時に年単位や月単位での集約をすることができる。今回は年、月、日の3つのレベルを追加することとする。

画像9 yearレベル

画像9 yearレベル

画像10 monthレベル

画像10 monthレベル

画像11 dayレベル

画像11 dayレベル

スキーマの設定その3
キューブの設定

 次にキューブの設定を行なう。画面左の「Schema」を選択した状態で、「Schema」ウインドウ上部の「Add Cube」ボタンをクリックする。

画像12 キューブ追加後

画像12 キューブ追加後

 キューブへのファクト・テーブルの割り当てを行なう。画面左に表示されているキューブ「sales_data」を右クリックする。表示されるコンテキストメニューの中から「Add Table」をクリックする。すると画面左のツリーに「Table: Table」が追加される。画面右でテーブルの情報を入力していく。「Attribute」の「name」のプルダウンにデータベースpentaho_dwhのテーブルが表示される。ここでは「public->fact_sales_data」を選択する。

 続いてキューブとディメンジョンの紐づけを行なう。画面左に表示されているキューブ「sales_data」を右クリックする。表示されるコンテキストメニューの中から「Add Dimension Usage」をクリックする。

まずはdim_customerの紐づけを行なう。

 「Attribute」の「name」には任意の紐づけ名を入力する。「foreignKey」には割り当てたファクト・テーブルfact_sales_dataのカラムを指定する。このカラムとディメンジョンの追加時に指定した「foreignKey」とによって、ファクト・テーブルのレコードとディメンジョン・テーブルのレコードが紐づく。

画像13 dim_customerの紐づけ

画像13 dim_customerの紐づけ

 同様にdim_product、dim_dateの紐づけを行なう。

画像14 dim_productの紐づけ

画像14 dim_productの紐づけ

画像15 dim_dateの紐づけ

画像15 dim_dateの紐づけ

スキーマの設定その4
キューブへのメジャーの追加

 最後にキューブへのメジャーの追加を行なう。メジャーとはファクトテーブルの数値カラムに相当する、分析対象の値である。

 今回の例ではfact_sales_dataテーブルのquantityカラムとamountカラムをメジャーとして設定する。画面左に表示されているキューブ「sales_data」を右クリックする。表示されるコンテキストメニューの中から「Add Measure」をクリックする。追加されたメジャーにquantityカラムについての設定を行なう。

画像16 メジャーquantity追加後

画像16 メジャーquantity追加後

 同様にamountカラムに対するメジャーを追加する。

画像17 メジャーamount追加後

画像17 メジャーamount追加後

 これでスキーマの設定が完了した。次に設定したスキーマをBIサーバーにパブリッシュする。

次ページ「設定したスキーマを BIサーバーにパブリッシュする」に続く

カテゴリートップへ

この連載の記事
ピックアップ