ご使用のブラウザはJavaScriptをサポートしていません。このヘルプ・ページを正しく表示するにはJavaScriptが必要です。 タイプ2の緩やかに変化するディメンション(SCD)へのデータのロード
ヘッダーをスキップ
前へ
前へ
 
次へ
次へ

タイプ2の緩やかに変化するディメンション(SCD)へのデータのロード

タイプ2のSCDには、履歴レコードと現行レコードの両方が格納されます。タイプ2のSCDでトリガー属性が変更されると、現行レコードはクローズ済としてマークされ、変更された値を含む新規レコードが作成されます。レコードをクローズ済としてマークするために、「デフォルトのオープン・レコード終了時間」プロパティの値が有効期限属性に設定されます。履歴レコードの有効期限は、マッピングで定義した入力接続に関係なく、「デフォルトのオープン・レコード終了時間」プロパティを使用して設定されます。


注意:

タイプ2のSCDをロードするときに、ターゲットがOracle 9iデータベースの場合には行ベース・モードのみがサポートされます。

解決策として、親サロゲートIDの参照属性をすべてのレベルのトリガーに設定して、階層バージョニングに切り替える方法があります。


タイプ2のSCDにデータをロードする前に、Warehouse Builderは、同じビジネス識別子を持つレコードがタイプ2のSCDに存在するかどうかをチェックします。レコードが存在しない場合、タイプ2のSCDに追加されます。レコードがすでに存在する場合、次の手順が実行されます。


注意:

1回のロードで、特定のビジネス識別子に対する複数のレコードをロードするには、タイプ2のSCDにバインドされているディメンション演算子の「複数の履歴ロードのサポート」プロパティを設定します。

タイプ2のSCDにデータをロードする手順

  1. 「マッピングの定義」の説明に従って、マッピングを定義します。

  2. マッピングにディメンション演算子を追加します。この演算子が、データのロード先となるタイプ2のSCDにバインドされていることを確認してください。

    マッピングへの演算子の追加の詳細は、「マッピングへの演算子の追加」を参照してください。

  3. (オプション)キャンバスで演算子名をクリックしてディメンション演算子を選択し、プロパティ・インスペクタを使用して次のプロパティを設定します。

    これらのプロパティに値を明示的に指定しない場合、デフォルト値が使用されます。

  4. ディメンション演算子の「ロード・タイプ」プロパティを「ロード」に設定します。

  5. ソース・オブジェクトに対応する演算子、およびソース・データがディメンションにロードされる前に実行する必要のある変換に対応する演算子を追加します。

  6. ソース演算子の属性を中間変換演算子に(ソース・データをディメンションにロードする前に変換する場合)、次にターゲット・ディメンション演算子にマップします。要件に従って、すべての属性のマッピングを完了します。


    注意:

    属性をタイプ2のSCDの有効期限属性にマップすることはできません。

  7. プロジェクト・ナビゲータでマッピングを選択し、ツールバーの「検証」アイコンをクリックして、マッピングを検証します。

    検証プロセスで発生したエラーを解決します(ある場合)。

  8. プロジェクト・ナビゲータでマッピングを選択し、ツールバーの「生成」アイコンをクリックして、マッピングを生成します。

    ログ・ウィンドウの新しい「結果」タブに生成結果が表示されます。生成エラーを解決します(ある場合)。

有効データ属性へのソース属性のマッピング

タイプ2のSCDをロードするマッピングでは、ソース演算子の属性をあるレベルの有効日属性にマップする場合、Warehouse Builderによって次の処理が実行されます

ソースからの属性をレベルの有効日属性にマップしない場合は、次のように実行されます。


注意:

レベルの有効期限へのマッピングは許可されていません。レコードをロードするときには、「デフォルトのオープン・レコード終了時間」プロパティが有効期限として使用されます。このプロパティのデフォルト値はNULLです。

例: タイプ2のSCDのバージョニング対象レコードに割り当てられる値

タイプ2のSCDであるProductsをロードするマッピングを作成します。このタイプ2のSCDのリーフ・レベルProductは、ソース表からロードされます。Productレベルの有効日属性はソース属性EFF_DATEからマップされます。

ディメンション演算子には、次のプロパティがあります。

EFF_DATEの値が21-mar-2007 10.25.05.000000 PMであるProductレベルのソース・レコードについて考えてみましょう。Productレベルの初期レコードがロードされると、そのレコードには次の値が割り当てられます。

有効日: 01-jan-2000

有効期限: 01-jan-2099

その後、21-mar-2007に行われたロード中にProductレベルのレコードがバージョニングの対象になると、次の処理が実行されます。