目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

複数の一致の処理

複数の一致の処理

ルックアップトランスフォーメーションは、トランスフォーメーションで設定された条件に基づいて値を検索します。 ルックアップ条件が一意のキーに基づいていない場合やルックアップソースが非正規化されている場合、Integration Serviceはルックアップソースまたはルックアップキャッシュで複数の一致を検出することがあります。
ルックアップトランスフォーメーションは、以下の方法で複数の一致を処理するよう設定できます。
  • 一致する最初の値を使用する、または一致する最後の値を使用する。
    トランスフォーメーションを、一致する最初の値または一致する最後の値を返すように設定できます。 最初の値および最後の値とは、ルックアップキャッシュ内で最初および最後に検出された、ルックアップ条件に一致する値です。ルックアップソースをキャッシュする場合、Integration Serviceはルックアップキャッシュ内の各カラムに対してORDER BY句を生成し、キャッシュの最初の行および最後の行を判断します。 その後、Integration Serviceは各ルックアップソースカラムを昇順でソートします。
    Integration Serviceは、数字のカラムを0から10のように昇順でソートします。 日付/時刻カラムは1月から12月および月初から月末の順でソートします。 Integration Serviceは、セッションに対して設定されたソート順に基づいて文字列カラムをソートします。
  • 一致する値を使用する
    。 ルックアップトランスフォーメーションを、ルックアップ条件に一致する値を返すように設定できます。ルックアップトランスフォーメーションが一致する値を何か返すよう設定すると、トランスフォーメーションはルックアップ条件に一致する最初の値を返します。トランスフォーメーションは、すべてのルックアップトランスフォーメーションポートではなく、キーポートに基づいてインデックスを作成します。 一致する値を使用すると、行のインデックス作成プロセスが単純化されるため、パフォーマンスを改善できます。
  • すべての値を使用する
    。 ルックアップトランスフォーメーションは、すべての一致する行を返します。 このオプションを使用するには、ルックアップトランスフォーメーションを作成するときに、すべての一致を返すようにルックアップトランスフォーメーションを設定する必要があります。 トランスフォーメーションはアクティブなトランスフォーメーションになります。 トランスフォーメーションの作成後に、モードのパッシブとアクティブを変更することはできません。
  • エラーを返す。
    ルックアップトランスフォーメーションが静的キャッシュを使用する、またはキャッシュを使用しない場合、Integration Serviceは行をエラーとしてマークします。 ルックアップトランスフォーメーションは、デフォルトでその行をセッションに書き込み、エラーコードを1つ増やします。 ルックアップトランスフォーメーションに動的キャッシュが含まれる場合、Integration Serviceは複数の一致を検出したときにセッションに失敗します。 Integration Serviceがルックアップテーブルをキャッシュしている間、または重複するキー値をルックアップしている間、セッションは失敗します。 また、更新時に古い値を出力するようにルックアップトランスフォーメーションを設定した場合、複数の一致が検出されるとルックアップトランスフォーメーションはエラーを返します。トランスフォーメーションは、すべてのルックアップトランスフォーメーションポートではなく、キーポートに基づいてインデックスを作成します。