ステップバイステップでPentahoを構成!
いよいよキューブを作ってWebブラウザから閲覧開始!
2010年03月05日 10時00分更新
Schema Workbenchでのスキーマの設定
Schema Workbenchのインストール
Schema Workbenchは前回までと異なり、http://sourceforge.net/projects/mondrian/からダウンロードする。「View all files」ボタンをクリックし、「schema workbench」から「3.1.1-stable」をクリックする。
「psw-ce-3.1.1.12687.zip」をクリックし、ダウンロードを行なう。ダウンロードしたファイルを解凍すればインストールは完了である。
スキーマの設定その1
Schema Workbenchの起動と接続
解凍したSchema Workbenchのフォルダの中のworkbench.batを実行する。すると、次の画面が表示される。これでSchema Workbenchの起動が完了した。
まず、DWHへの接続情報を設定する。これはSchema Workbenchが実際のDBに接続し、テーブルやカラムの存在チェックなどをしており、設定が必須なためである。画面上部のメニューから「Tools」→「Connection」を選択する。表示されるダイアログでデータベースpentaho_dwhへの接続情報を設定し、「Test Connection」ボタンをクリックする。「Database Connection successful」と表示されれば接続が成功したということになるので「Accept」ボタンをクリックする。
次に画面上部のアイコンの中で一番左の「New」アイコンをクリックする。すると「Schema」、「MDX Query」、「JDBC Explorer」の3つが表示されるため、この中から「Schema」を選択する。画面右の「Attribute」の「name」にスキーマ名を入力する。今回は「TestSchema」としておく。
Schema Workbenchでのスキーマの設定は次の手順で行なう。
- ディメンジョンの追加
- ディメンジョンへのディメンジョン・テーブルの割り当て
- ディメンジョンへのレベルの追加
- キューブの設定
- キューブへのファクト・テーブルの割り当て
- キューブとディメンジョンの紐づけ
- キューブへのメジャーの追加
では、順に見ていこう。
スキーマの設定その2
ディメンジョンの追加
まずはディメンジョンの追加を行なう。これはディメンジョン・テーブルの定義を追加する作業である。dim_customer、dim_product、dim_dateの3つのディメンジョン・テーブルに対応するディメンジョンを追加していく。
まずdim_customerに対応するディメンジョンを追加する。画面左の「Schema」を選択した状態で、「Schema」ウインドウ上部の「Add Dimension」ボタンをクリックする。
「name」を入力する。初期値は「New Dimension 0」が設定されており、任意のディメンジョンの名称を設定できるが今回はdim_customerとしておく。
次に追加したディメンジョンへのディメンジョン・テーブルの割り当てを行なう。画面左に表示されているディメンジョンdim_customerの左の丸をクリックし、ツリーを展開する。すると「New Hierarchy 0」が表示される。「name」に「顧客」、「allMemberName」に「全て」と入力する。
「顧客」を右クリックする。表示されるコンテキストメニューの中から「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」カラムを指定する。
同じようにdim_productについてもディメンジョンの追加、ディメンジョンへのディメンジョン・テーブルの割り当て、ディメンジョンへのレベルの追加を行なう。
ディメンジョンの最後としてdim_dateの追加を行なう。ディメンジョンへのディメンジョン・テーブルの割り当てまではこれまでと同じように行なう。ただしディメンジョン追加での「type」は「TimeDimension」を指定する。
また、レベルの追加を行なう点が他の2つのディメンジョンと異なる。日付ディメンジョンは年-月-日などで階層化することが多い。階層化することで分析時に年単位や月単位での集約をすることができる。今回は年、月、日の3つのレベルを追加することとする。
スキーマの設定その3
キューブの設定
次にキューブの設定を行なう。画面左の「Schema」を選択した状態で、「Schema」ウインドウ上部の「Add Cube」ボタンをクリックする。
キューブへのファクト・テーブルの割り当てを行なう。画面左に表示されているキューブ「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」とによって、ファクト・テーブルのレコードとディメンジョン・テーブルのレコードが紐づく。
同様にdim_product、dim_dateの紐づけを行なう。
スキーマの設定その4
キューブへのメジャーの追加
最後にキューブへのメジャーの追加を行なう。メジャーとはファクトテーブルの数値カラムに相当する、分析対象の値である。
今回の例ではfact_sales_dataテーブルのquantityカラムとamountカラムをメジャーとして設定する。画面左に表示されているキューブ「sales_data」を右クリックする。表示されるコンテキストメニューの中から「Add Measure」をクリックする。追加されたメジャーにquantityカラムについての設定を行なう。
同様にamountカラムに対するメジャーを追加する。
これでスキーマの設定が完了した。次に設定したスキーマをBIサーバーにパブリッシュする。
次ページ「設定したスキーマを BIサーバーにパブリッシュする」に続く
この連載の記事
-
最終回
ソフトウェア・仮想化
インタラクティブなBIダッシュボードを自分で作る -
第6回
ソフトウェア・仮想化
ついにBIのレポートを作成!どんどん実践的に使おう -
第4回
ソフトウェア・仮想化
DWHを自分で作ろう!環境構築からデータ登録まで -
第3回
ソフトウェア・仮想化
あなたのパソコンで、BIを実地体験してみよう -
第2回
ソフトウェア・仮想化
「BIの中身を覗きましょう」― BIの機能と導入手順 -
第1回
ソフトウェア・仮想化
「先輩、BIって知ってますか?」― 知識ゼロから学ぶBI -
ソフトウェア・仮想化
BIとは? 基礎からわかる最新BI事情 - この連載の一覧へ