MOLAPの場合,分析対象データはCosmicubeに格納されているデータなので,HITSENSER5で特別な準備は必要ありません。一方,ROLAPの場合は,HITSENSER5の機能を使って,非正規化されたテーブル「分析データベース」を定義し,そこから分析対象となる「分析対象データ」を定義しておく必要があります。MOLAPとROLAPの分析対象データの準備方法の違いについては,「2.2.1 分析対象データの準備」を参照してください。
ROLAPの分析対象データを作成するには,マネージャのROLAP管理機能を使います。操作の流れは次のとおりです。
ROLAPで分析したいデータがあるリレーショナルデータベースを,接続先の候補として登録します。接続先データベースは,[接続環境管理]ダイアログで登録します。
図4-4 [接続環境管理]ダイアログ
接続先データベースの登録方法の詳細については,マネージャのオンラインヘルプを参照してください。
リレーショナルデータベースにある,幾つかのテーブルから必要な列を取り出し,非正規化されたテーブルを「分析データベース」として定義します。分析データベースは[分析データベース定義]ダイアログで定義します。
図4-5 [分析データベース定義]ダイアログ
分析データベースの定義方法の詳細については,マネージャのオンラインヘルプを参照してください。
図4-6 [分析データベースのプロパティ]ダイアログの[参照権限設定]タブ
図4-7 テーブルの結合設定の利用例
分析データベースを基に,目的の分析操作に必要なデータを抽出するための条件を指定して,分析対象データを作成してください。分析時に必要部分だけを抽出することで,分析速度が向上します。
また,この操作はアナライザの[データ]-[分析対象データ]-[新規作成]メニューを使ってもできます。ただし,アナライザで作成した分析対象データは,開いている分析環境を分析情報ファイルとして保存するまで保存されません。
なお,作成した分析対象データは,参照,編集,及び削除できます。これらの方法については,アナライザのオンラインヘルプを参照してください。
分析対象データで使用する項目だけを集めたテーブルをあらかじめ作成しておくことができます。このあらかじめ作成しておくテーブルを集約テーブルといいます。分析対象データ使用時に,集約テーブルを使うことによって,分析データベースでテーブルを結合する必要がなくなり,データを抽出する時間を短縮できます。次に集約テーブルの利用イメージを示します。
図4-8 集約テーブルの利用イメージ
また,集約テーブルを使用することで,検索するテーブルの結合数,レコード数を少なくし,テーブルの検索時間を短縮できます。図4-9の例では,「性別」と「金額」で集約することで,9レコードから2レコードになっています。
図4-9 集約のイメージ
例えば,ある商品の販売個数を把握するために作成している分析データベースで,ある商品を購入した顧客の性別を知りたい場合,次のような,データベースを集約できる項目で定義した集約テーブルをあらかじめ作成しておくと,データ抽出時には,集約テーブルが使用され,テーブルの検索時間を短縮できます。
図4-10 集約テーブルの利用例
上記の集約テーブルは,商品を購入した顧客の性別を把握したい場合の分析対象データで使用されます。
顧客の年齢を把握するための分析対象データを使用する場合は,上記の集約テーブルは使用されず,集約元のテーブルからデータが抽出されます。顧客の年齢を把握するための分析対象データで集約テーブルを使用したい場合は,上記の集約テーブルを更新し「年齢」を追加するか,新しく集約テーブルを作成します。
なお,集約テーブルには,分析データベースの更新が反映されません。そのため,最新のデータを参照したい場合は,集約テーブルのデータを更新する必要があります。
集約テーブルの作成方法,集約テーブルのデータの更新方法については,マネージャのオンラインヘルプを参照してください。
また,集約テーブルのデータの更新についてはコマンドを使用することもできます。コマンドについて次に示します。
集約テーブルのデータを更新するコマンドを使用するには,「HITSENSER5インストールディレクトリ¥Program」にある「hs5stupd.exe」ファイルを実行します。
hs5stupd /u ユーザID [/p パスワード]
{/a | 分析データベース名}
ログには次の情報を出力します。
ログは次の形式で出力されます。
16:22:31 ***** HITSENSER5 集約テーブル更新コマンド開始 (2005/08/26)*****
16:22:35 分析データベース(分析データベース名称)
16:22:37 集約テーブル(集約テーブル名称) (RC=-1 Detail=100,2012,0 ORA-00942: 表またはビューが存在しません。)
16:22:37 分析データベース(分析データベース名称)に集約テーブルは存在しません。
16:24:14 分析データベース(分析データベース名称)
16:25:12 集約テーブル(集約テーブル名称1) (RC=0)
16:26:08 集約テーブル(集約テーブル名称2) (RC=0)
16:26:08 ***** HITSENSER5 集約テーブル更新コマンド終了 *****
このコマンドは,バッチファイルから実行してください。コマンドプロンプトなどから実行した場合,このコマンドが終了する前に入力できる状態になりますが,終了する前に連続してこのコマンドを実行することはできません。
次にバッチファイルの作成例を示します。
hs5stupd /u system BUNSEKI1
IF ERRORLEVEL 1 GOTO ERR
GOTO END
:ERR
echo エラーが発生しました。
:END