4.3 分析対象データの作成

MOLAPの場合,分析対象データはCosmicubeに格納されているデータなので,HITSENSER5で特別な準備は必要ありません。一方,ROLAPの場合は,HITSENSER5の機能を使って,非正規化されたテーブル「分析データベース」を定義し,そこから分析対象となる「分析対象データ」を定義しておく必要があります。MOLAPとROLAPの分析対象データの準備方法の違いについては,「2.2.1 分析対象データの準備」を参照してください。

ROLAPの分析対象データを作成するには,マネージャのROLAP管理機能を使います。操作の流れは次のとおりです。

<この節の構成>
(1) 接続先データベースの登録
(2) 分析データベースの定義
(3) 分析対象データの作成
(4) 集約テーブルの利用

(1) 接続先データベースの登録

ROLAPで分析したいデータがあるリレーショナルデータベースを,接続先の候補として登録します。接続先データベースは,[接続環境管理]ダイアログで登録します。

  1. [接続環境管理]ダイアログの表示
    マネージャのメインウィンドウで[ROLAP管理]ボタンを選択します。選択すると,[ROLAP管理]ダイアログが表示されます。[ROLAP管理]ダイアログで[接続環境管理]ボタンを選択します。選択すると,[接続環境管理]ダイアログが表示されます。

    図4-4 [接続環境管理]ダイアログ

    [図データ]

接続先データベースの登録方法の詳細については,マネージャのオンラインヘルプを参照してください。

(2) 分析データベースの定義

リレーショナルデータベースにある,幾つかのテーブルから必要な列を取り出し,非正規化されたテーブルを「分析データベース」として定義します。分析データベースは[分析データベース定義]ダイアログで定義します。

  1. [分析データベース定義]ダイアログの表示
    マネージャのメインウィンドウで[ROLAP管理]ボタンを選択します。選択すると,[ROLAP管理]ダイアログが表示されます。[ROLAP管理]ダイアログで[分析データベース定義]ボタンを選択します。選択すると,[分析データベース定義]ダイアログが表示されます。

    図4-5 [分析データベース定義]ダイアログ

    [図データ]

分析データベースの定義方法の詳細については,マネージャのオンラインヘルプを参照してください。

分析データベースの参照権限の設定について
既存の分析データベースに対する参照権限をグループごとに設定できます。参照権限は,[分析データベースのプロパティ]ダイアログの[参照権限設定]タブで設定します。
  1. [分析データベースのプロパティ]ダイアログの表示
    [分析データベース定義]ダイアログの[既存分析データベース]欄から,参照権限を設定する分析データベースを選択します。選択した分析データベースの名称が,[分析データベース名称]欄に表示されます。[プロパティ]ボタンを選択すると[分析データベースのプロパティ]ダイアログが表示されます。

    図4-6 [分析データベースのプロパティ]ダイアログの[参照権限設定]タブ

    [図データ]

テーブルの結合設定について
分析データベースで複数のテーブルを使用している場合,分析対象データを使用するときに必要なテーブルだけを結合するかどうかを設定できます。分析対象データを使用するときに必要なテーブルだけを結合することによって,分析操作をするときの処理速度が向上します。
図4-7を例に説明すると,「分析対象データ1」を作成するときは,「取引明細」と「商品マスタ」だけを結合するように設定します。また,「分析対象データ2」を作成するときは,「取引明細」と「店舗マスタ」だけを結合するように設定します。

図4-7 テーブルの結合設定の利用例

[図データ]
テーブルの結合は,[分析データベースのプロパティ]ダイアログの[結合設定]タブで設定します。[結合設定]タブは,分析データベースが複数のテーブルから定義されている場合にだけ,活性状態となります。設定方法については,マネージャのオンラインヘルプを参照してください。
データ抽出時の欠損値の設定について
データ抽出時に,キー項目に欠損値を含むレコードを分析対象とするかどうかを設定できます。欠損値を含むレコードを分析対象とするかどうかの設定は,[分析データベースのプロパティ]ダイアログの[欠損値設定]ページで実施します。設定方法については,マネージャのオンラインヘルプを参照してください。

(3) 分析対象データの作成

分析データベースを基に,目的の分析操作に必要なデータを抽出するための条件を指定して,分析対象データを作成してください。分析時に必要部分だけを抽出することで,分析速度が向上します。

また,この操作はアナライザの[データ]-[分析対象データ]-[新規作成]メニューを使ってもできます。ただし,アナライザで作成した分析対象データは,開いている分析環境を分析情報ファイルとして保存するまで保存されません。

なお,作成した分析対象データは,参照,編集,及び削除できます。これらの方法については,アナライザのオンラインヘルプを参照してください。

(4) 集約テーブルの利用

分析対象データで使用する項目だけを集めたテーブルをあらかじめ作成しておくことができます。このあらかじめ作成しておくテーブルを集約テーブルといいます。分析対象データ使用時に,集約テーブルを使うことによって,分析データベースでテーブルを結合する必要がなくなり,データを抽出する時間を短縮できます。次に集約テーブルの利用イメージを示します。

図4-8 集約テーブルの利用イメージ

[図データ]

また,集約テーブルを使用することで,検索するテーブルの結合数,レコード数を少なくし,テーブルの検索時間を短縮できます。図4-9の例では,「性別」と「金額」で集約することで,9レコードから2レコードになっています。

図4-9 集約のイメージ

[図データ]

例えば,ある商品の販売個数を把握するために作成している分析データベースで,ある商品を購入した顧客の性別を知りたい場合,次のような,データベースを集約できる項目で定義した集約テーブルをあらかじめ作成しておくと,データ抽出時には,集約テーブルが使用され,テーブルの検索時間を短縮できます。

図4-10 集約テーブルの利用例

[図データ]

上記の集約テーブルは,商品を購入した顧客の性別を把握したい場合の分析対象データで使用されます。

顧客の年齢を把握するための分析対象データを使用する場合は,上記の集約テーブルは使用されず,集約元のテーブルからデータが抽出されます。顧客の年齢を把握するための分析対象データで集約テーブルを使用したい場合は,上記の集約テーブルを更新し「年齢」を追加するか,新しく集約テーブルを作成します。

なお,集約テーブルには,分析データベースの更新が反映されません。そのため,最新のデータを参照したい場合は,集約テーブルのデータを更新する必要があります。

集約テーブルの作成方法,集約テーブルのデータの更新方法については,マネージャのオンラインヘルプを参照してください。

また,集約テーブルのデータの更新についてはコマンドを使用することもできます。コマンドについて次に示します。

(a) 指定方法

集約テーブルのデータを更新するコマンドを使用するには,「HITSENSER5インストールディレクトリ¥Program」にある「hs5stupd.exe」ファイルを実行します。

書式

hs5stupd /u ユーザID [/p パスワード]
        {/a | 分析データベース名}

機能
指定した分析データベースが持つ集約テーブルを最新の状態に更新します。
このコマンドは,HITSENSER5マネージャが使用できる環境だけで使用できます。
実行結果は「HITSENSER5インストールディレクトリ¥TRACE¥hs5stupd.log」に出力されます。フォルダがない場合は出力されません。ログファイルは単調増加ファイルのため,必要に応じて削除してください。
引数
/u ユーザID
HITSENSER5の管理者ユーザIDを指定します。この引数は省略できません。
/p パスワード
HITSENSER5の管理者パスワードを指定します。この引数を省略すると,パスワードなしとなります。
/a
すべての分析データベースを対象とします。
分析データベース名と同時には指定できません。
分析データベース名
指定した分析データベースが持つ集約テーブルを対象とします。
半角スペースで区切れば複数の分析データベース名を記述できます。ワイルドカードは指定できません。
/aと同時には指定できません。
戻り値
0:正常終了
1:エラー
(b) ログ出力形式

ログには次の情報を出力します。

ログは次の形式で出力されます。

ログ出力例

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 集約テーブル更新コマンド終了 *****

(c) 注意事項

このコマンドは,バッチファイルから実行してください。コマンドプロンプトなどから実行した場合,このコマンドが終了する前に入力できる状態になりますが,終了する前に連続してこのコマンドを実行することはできません。

次にバッチファイルの作成例を示します。

作成例

hs5stupd /u system BUNSEKI1
IF ERRORLEVEL 1 GOTO ERR
GOTO END
:ERR
echo   エラーが発生しました。
:END