< 前へ | 次へ >

レッスン 1.2: 既存の Data Manager ビルドを変更する

このレッスンでは、データを抽出、データを変換、およびデータをデータウェアハウスにロードするために、既存の Data Manager ビルドをカスタマイズする方法を学習します。
前提条件:

レッスン 1.1 では、データ表に新規属性を追加して、Rational® ClearQuest® データ構成ファイルを変更しました。ここでこうした属性をビルド・ストリームに入れて、レポートで公開できるようにする必要があります。

このレッスンでは、Data Manager ビルドを変更して、新規属性がデータ収集プロセスに入れられるようにします。学習するのは、既存のビルドをカスタマイズして、新規属性を抽出、変換、データウェアハウスに配信する方法です。

ETL カタログの準備
  1. IBM® Cognos® Data Manager を開始します。
  2. 「新規カタログの作成」を選択し、名前を RationalInsightETL と指定し、このレッスンを始める前に新しく作成した空データベースの接続情報を指定し、「終了」をクリックします。
  3. 新規カタログが作成され、開いたら、「ファイル」 > 「カタログのリストア」をクリックし、OOTBDMCatalog.ctg ファイルを選択します。このファイルのデフォルトの場所は [rational_insight_installation_directory]/datamgr/insight_catalog/ ディレクトリーです。
データ・ソースから新規属性を抽出
  1. フォルダー「ビルドおよびジョブ・ストリーム」 > 「ODS」 > 「ClearQuest」 > 「CQEnterprise」を展開します。「CQ_ENT_Defect」をクリックします。
    注: Data Manager では、ETL はファクト・ビルドまたは次元ビルド中に指定 されます。ファクト・ビルドは、ファクト・データを配信し、次元データの配信も行えるので、 単一のビルド内から専用データマートを作成することができます。次元ビルドは、 製品や顧客など単一のビジネス次元を説明するデータを配信 します。Rational Insight はファクト・ビルドを使用して、データを統合運用データ・ストアにロードします。 ファクト・ビルドおよび次元ビルドは、 データマートまたはスター・スキーマを作成するのに使用されます。これらのビルドは、Data Manager で順次または並列に実行できる一連の ステップとして編成され、ジョブ・ストリームに入れられています。
  2. 「RI_Stg」データ・ソース・アイコンデータ・ソースのアイコンをダブルクリックします。「クエリー」タブをクリックします。
    注: ビルドのデータ・ソース・エレメントを使用することによって、 ビルドに必要なデータベースのサブセットを選択することができます。

    レッスン 1.1 では、ClearQuest 障害エンティティーを変更して、関連するコンポーネント ID 属性および状況属性が公開されるようにしました。次の数ステップでは、 それらの新規属性を組み込むようにデータ・ソース・クエリーを変更します。

  3. 「ClearQuest」ノードを展開して、データベース・スキーマ (XML Data Configuration を通じてその内部にリソース・グループとしてモデル化されています) をリストします。CQEnterprise スキーマを展開して、レッスン 1.1 でデータ構成ファイルから CQEnterprise リソース・グループ内に定義されたすべてのデータ表をリストします。ENTDefect 表を 展開して、定義されたすべての列を表示します。

    次に、既存 SQL を Component_dbid 列と Status 列を取得するように変更します。列名を分離するためにコンマを 追加するようにしてください。

  4. ENTDefect の Status 列と Component_dbid 列を左のパネル から右の「SQL クエリー」パネルにドラッグします。これらの新規列を既存の「href」エントリーの後に 置きます。列がコンマで区切られていることを確認してください。
  5. 新規 SQL ステートメントをテストするため、ウィンドウの左下にある
    再生アイコン
    をクリックします。 変数を指定するウィンドウで、$RESOURCEGROUP エントリーのスキーマ名 (CQEnterprise) を入力します。$MODIFIED_SINCE フィールド は空のままにして、データ・サービスがヌル値を使用してすべてのレコードを戻すようにします。
  6. 結果列」タブをクリックし、「リフレッシュ」をクリックします。 変数を指定するウィンドウで、$RESOURCEGROUP エントリーのスキーマ名 (CQEnterprise) を入力します。$MODIFIED_SINCE フィールド は空のままにして、データ・サービスがヌル値を使用してすべてのレコードを戻すようにします。このタブに 定義された列は、ステップ 7 で定義された SQL からの結果列です。 これらの列は下流のオブジェクトで使用されます。「OK」をクリックします。
  7. データ・ストリーム」を右クリックして「プロパティー」を選択します。 「データ・ストリーム項目」タブで、新規列をデータ・ストリームに追加するため、左パネルでそれらの列を ダブルクリックし、「OK」をクリックします。
    注: データ・ストリーム・オブジェクトは、ビルドまたは参照構造のデータ取得源であるすべてのデータ・ソース を一緒に集めます。これは、さまざまなデータ・ソースを結合して 1 つのオブジェクトに する 1 つの方法です。その例は、RequisitePro® ビルドに見られます。
これで、1 つの新規列をカタログに追加し、 この変更を反映するよう変換モデルを更新しました。

次に、component_dbid 属性を、データウェアハウス内のコンポーネントの代理キーに変換 します。

属性の変換
  1. 「変換モデル」アイコン変換モデルのアイコンを右クリックし、マッピング・ウィンドウを開きます。
    注: 変換モデルは、ファクト・ビルドの 中核です。これを使用して、取得したソース・データに対して、 さまざまなソースからのデータのマージやデータの集約など、 さまざまな操作を実行できます。このレッスンでは、ビジネス・ルールを適用することなく、新しい属性を ロードします。
  2. Status データ・ストリームをダブルクリックします。
    注: 変換モデルに新規属性を作成して、このデータ・ストリーム項目をその属性にマップします。
  3. 追加」をクリックし、「次元」を クリックします。名前を Lookup_Component と指定し、 「(参照なし)」下位ノードを選択します。このノードの 右にあるボタンをクリックします。
  4. ノード「コンポーネント」 > 「Lookup_Component」を選択し、「OK」をクリックします。
  5. マッピング・ウィンドウに戻ります。左パネルで Component_dbid データ・ストリーム項目を選択し、右パネルで Lookup_Component=>EXTERNAL_KEY1 属性を 選択し、「マップ」をクリックします。
    注: 次の数ステップで、データウェアハウス内の障害エンティティーとコンポーネント・エンティティーとの間の関係を構築します。EXTERNAL_KEY1 は、コンポーネントの自然キー (Rational ClearQuestでは dbid) を指定します。ルックアップは、 コンポーネントがデータウェアハウス内にあれば、代理キーを戻します。 レコードが存在しない場合、ビルドは「情報なし」を表すデフォルトの -1 エントリーを 挿入します。
  6. 追加」ボタンをクリックし、「属性」をクリックします。 名前を COMPONENT_ID と指定し、「OK」を 2 回クリックします。
  7. 「変換モデル」アイコン変換モデルのアイコンを右クリックし、「ビルド・エレメントの表示」を選択します。 Lookup_Component を ダブルクリックし、「不一致メンバー」タブをクリックし、「不一致メンバー ID を 受け入れる」を選択してから「OK」をクリックします。
  8. 「変換モデル」タブで COMPONENT_ID 属性を 右クリックし、「導出に変換」をクリックします。
  9. 「変換モデル」タブで COMPONENT_ID 属性をダブルクリックし、「計算」タブをクリックして、以下のコードを入力します。
    If NOT Unmatched( Lookup_Component )
    then RETURN Lookup_Component.COMPONENT_ID ;
    else RETURN -1; 
    「OK」をクリックします。
    注: このタイプの条件で肯定的一致を指定するために、スクリプト内で二重否定構造が使用されています。
ターゲット表への属性の配信
  1. "{$ODS}"."REQUEST" 表配信をダブルクリックします。
  2. 表プロパティー」タブで、 Status エレメントと COMPONENT_ID エレメントの列名を STATUS および COMPONENT_ID と 指定します。「列を表に自動的に追加する」チェック・ボックスを選択します。「OK」をクリックします。
    注: 新規属性を保管するために列を組み込むようデータウェアハウス内の障害表を変更していないため、 「列を表に自動的に追加する」オプションをチェックすると、 列が存在しない場合は表が変更されます。Rational Data Architect を使用すると、ETL ジョブの実行前に表を変更することも、ETL ジョブが表を変更した後でデータウェアハウスからデータ・モデルを更新することもできます。
  3. カタログを保存します。
これで、既存のビルドの変更が完了しました。
このレッスンでは、以下の作業を実行しました。

新規エンティティーをロードする場合、新規ビルドを作成し、 既存ビルドを変更して既存エンティティーに属性をさらに追加する必要があります。このレッスン では、既存ビルドを変更しました。次のレッスン (レッスン 1.3) では、 新規ビルドを作成します。ETL プロセスは、各エンティティーごとに 1 つのビルドを必要とします。