このレッスンでは、新規の次元表およびファクト表を作成することによってデフォルト ETL カタログをカスタマイズする方法を
学習します。新規配信モジュールを Data Manager ビルドに追加し、そのモジュールの実行をスケジュールします。
このレッスンでは、以下の作業を行います。
- 参照次元を作成する
- 次元ビルドを作成する
- ファクト・ビルドを作成する
- ビルドをジョブに追加して、ジョブを公開する
参照次元の作成- IBM® Cognos® Data
Manager を起動して、RationalInsightETL カタログをロードします。
- 「ライブラリー」ノードを展開します。
- 「次元」を右クリックして、「参照次元の挿入」を選択します。名前を Component_LabEx と指定します。
- 「Component_LabEx」を右クリックして「階層の
挿入」を選択し、名前を Component_LabEx_Dim と指定してから「OK」をクリックします。
これで Component_LabEx_Dim という名前の新規次元が追加されました。
次に、この次元用のデータをどこから取得するのかを指定
します。このためには、テンプレートを使用し、この次元の一部としてロードする列を指定します。
- 「Component_LabEx_Dim」を右クリックして「レベルの挿入」を選択し、名前を Component と指定してから「属性」タブをクリックします。
- 「テンプレート」フィールドの右にある「新規」ボタンを
クリックし、名前を Component_LabEx_Dim と指定します。
- 「属性」タブをクリックし、以下の 2 つの属性定義を追加します。
- COMPONENT_ID、ビジネス・キー、基本キー、true
- NAME、通常
「OK」をクリックします。
- 「選択可能な属性」セクションで、選択する属性として COMPONENT_ID および Name を追加します。COMPONENT_ID 属性の「ID」チェック・ボックスを選択し、Name 属性の「キャプション」チェック・ボックスを選択します。
- 「データ・アクセス」タブをクリックし、「データ・アクセスにテンプレートを使用」を選択して、以下の値を指定します。
- 「接続」では Rational Data Warehouse を選択します。
- 表名では、「参照」をクリックして RIODS -> COMPONENT を選択します。
「OK」をクリックします。
次元ビルドの作成- RationalInsightETL ノードを展開して、「ビルドおよびジョブ・ストリーム」の下に次元をリストします。
- 「次元」を右クリックして「次元ビルドの挿入」を選択し、D_COMPONENT_LABEX を入力して、「次元」タブをクリックします。
- 「配信する次元」セクションで Component_LabEx を選択します。
- 「配信する階層/ルックアップ」セクションで Component_LabEx_Dim(H) を選択します。
- 「データベースに配信」セクションで Rational Data Warehouse を選択します。「OK」をクリックします。
- 「D_COMPONENT_LABEX」を右クリックして「表の挿入」を選択し、
をクリックして、表を選択します。
- 「列」タブをクリックします。「テンプレートの使用」セクションで Component_LabEx_Dim を選択します。
- 「使用可能なソース」セクションで、
ノードを展開します。COMPONENT_ID (id) を COMPONENT_ID の「ソース」列までドラッグ・アンド・ドロップします。NAME (キャプション) を NAME の「ソース」列までドラッグ・アンド・ドロップします。「OK」をクリックします。
ファクト・ビルドの作成- RationalInsightETL ノードを展開して、の下に表をリストします。
- 「ファクト」を選択し、右クリックして「ファクト・ビルドの
挿入」を選択します。新規ビルドの名前を F_DEFECT_METRICS と
指定し、「OK」をクリックします。
- 新規に作成された F_DEFECT_METRICS ファクト・ビルド・ノードを右クリックして、「プロパティー」をクリックします。
「入力」タブをクリックします。「重複キーの処理」リストから
「重複キーのレコードをマージする」を選択します。「OK」をクリックします。
注: 「重複キーのレコードをマージする」オプションは、
SQL の GROUP BY 節と等価です。このオプションを使用すると、行を集約することができます。そうしないと、配信での集約は機能せず、入力行の数と同じだけの行を取得することになります。
- 「F_DEFECT_METRICS」ビルドを展開し、
「データ・ストリーム」ノードを右クリックして「データ・ソース
の挿入」をクリックします。新規データ・ソースの名前を RI_DW と指定します。
- 「クエリー」タブをクリックします。データベース・リストから Rational Data Warehouse 接続を選択します。
- Rational Data Warehouse ノードを展開して、
「RIODS」スキーマの下に表をリストし、「要求」を選択します。
注: RIODS スキーマは運用データ・ストアです。
- 「クエリー」パネルで、以下の SQL コードを追加します。
SELECT "REQUEST_ID",
{$ETL_DATEID} AS DATE_ID, COMPONENT_ID
FROM "RIODS"."REQUEST"
WHERE "REQUEST_CLASS_ID"=1
注: {$ETL_DATEID} は、マスター・ジョブ・レベルで定義された変数であり、その値も最上位レベルで決定されます。
この変数は、D_DATE 次元内のレコードをポイントします。この場合、ファクト表内の関連する日付が ETL 収集日付を反映します。Build_Star ジョブに
宣言されている変数を参照してください。
- 「結果列」タブをクリックし、「準備」を選択して、「リフレッシュ」をクリックします。ETL_DATEID に整数値を指定します。「OK」を 2 回クリックします。
これで、F_DEFECT_METRICS という名前の新しいビルドを
作成し、データ・ソースからどのレコードを取り出すのかを指定する SQL コードを
追加しました。
- DataStream アイコン
を右クリックし、「プロパティー」をクリックします。
- 「自動マップ」をクリックし、「OK」をクリックします。
- 「変換モデル」アイコン
を右クリックし、「マッピング」を選択します。
- 「追加」をクリックして、「属性」を選択し、新規属性の名前を DATE_ID と指定します。
- 「追加」をクリックし、「尺度」を
選択し、新規メジャーの名前を TOTAL_DEFECTS と指定します。「OK」を 2 回クリックします。この尺度を
右クリックして「プロパティー」をクリックします。「集約」タブで、
リストから「SUM」を選択します。「マージ」タブで、
リストから「COUNT」を選択します。「OK」をクリックします。
- F_DEFECT_METRICS ファクト・ビルドを
展開し、「変換モデル」を右クリックして「次元の挿入」をクリックします。「一般」タブで、
名前を Component_Dim と指定します。「参照」タブをクリックし、「次元」リストで Component_LabEx次元を選択します。「構造」リスト
で Component_LabEx(H) 階層を選択します。「出力」ボックスを選択します。
「不一致メンバー」タブで、「不一致メンバー ID を受け入れる」ボックスを選択します。
「OK」をクリックします。
注: 「不一致メンバー ID を受け入れる」オプションを使用すると、D_COMPONENT_LABEX のコンポーネントに一致しない入力から行を受け入れることになります。そうすると、
そのような行を配信時に処理 (例えば、行がヌルであればデフォルト値を
指定) したり、または、不一致メンバーがある変換で導出を多くすることで
処理することができます。
- 「変換モデル」アイコン
をクリックし、マッピング・ウィンドウ内でノードを展開して、以下の項目を「マップ先」列にドラッグします。- DATE_ID を DATE_ID に
- TOTAL_DEFECTS を REQUEST_ID に
「OK」をクリックします。
これで、データ・ソースの各エレメントごとに 1 つのデータ・ストリームを
作成しました。DATE_ID エレメントを属性として、TOTAL_DEFECTS エレメントを属性エレメントのカウントを含むための尺度として、マップしました。次に、ファクト配信を定義して、
この情報が挿入されるデータウェアハウス内の場所を指定します。
- 「F_DEFECT_METRICS」ビルドを展開して
「配信モジュール」の下の配信モジュールをリストします。
- 「ファクト配信」を選択し、右クリックして「リレーショナル表配信
の挿入」をクリックします。この新規ファクト・ビルドの名前を RIDW.F_DEFECT_METRICS と指定します。
- 「表プロパティー」」タブで、接続を「Rational データウェアハウス」として選択し、"RIDW"."F_REQUEST_METRICS" を入力します。
- 「列」セクションで、次のように指定します。
- DATE_ID エレメントの場合、「キー」ボックスを選択します。
- TOTAL_DEFECTS エレメントの場合、「更新」ボックスを選択します。
「レコード ID」ボックスが選択されていることを確認してください。
- 「ターゲット表のインポート」をクリックします。
- Rational Data Warehouse ノードを展開して「RIDW」の下に表をリストし、「F_DEFECT_METRICS」を選択します。
- DATE_ID エレメントを DATE_ID 列に、DEFECT_METRICS_ID エレメント
を (レコード ID) 列に、TOTAL_DEFECTS エレメント
を TOTAL_DEFECTS 列にドラッグします。「OK」をクリックします。
注: レコード ID エレメントは、IBM Cognos Data Manager でのすべての表配信に存在します。このエレメントは、代理キーのジェネレーターとして動作します。
このチュートリアルでは、表の基本キーの値を生成するためにこのエレメントを
使用します。
- 「モジュール・プロパティー」タブで、「表配信」ウィンドウからリフレッシュ・タイプとして APPEND を選択します。コミット間隔を 1000 に設定します。
注: これが意味するのは、このファクト表は常にレコードを表に追加し、
行をデータベースに一度に 1000 行ずつコミットするということです。
ビルドをジョブに追加して、ジョブを公開する- 「RationalInsightETL」」ノードを展開して
の下にジョブ・ストリームをリストします。
- 「ファクト」を選択し、右クリックしてをクリックします。新規ノードのビジネス名を F_DEFECT_METRICS と指定します。
- 「ビルドの関連付け」セクションで、を選択します。
- 「先行」タブで、「スター」ノードを選択し、「OK」をクリックします。
- RationalInsightETL ノードを展開しての下にジョブをリストし、
「次元」を右クリックしてを選択します。
- 名前を D_COMPONENT_LABEX と指定し、
関連するビルド・セクションでを選択します。
- 「先行」タブで、「スター」ノードを選択します。
「OK」をクリックします。
- 以下のように Build_Star ジョブをデータ移動タスクとしてリパブリッシュします。
- Build_Star ジョブを選択します。
- メニュー・バーで、をクリックします。
- を展開し、「Build_Star」を選択して、「OK」をクリックします。