目次

Search

  1. はじめに
  2. トランスフォーメーションについて
  3. トランスフォーメーションポート
  4. トランスフォーメーションキャッシュ
  5. アドレスバリデータトランスフォーメーション
  6. アグリゲータトランスフォーメーション
  7. 関連付けトランスフォーメーション
  8. 不良レコードの例外トランスフォーメーション
  9. 大文字小文字変換プログラムトランスフォーメーション
  10. 分類子トランスフォーメーション
  11. 比較トランスフォーメーション
  12. 統合トランスフォーメーション
  13. データマスキングトランスフォーメーション
  14. データプロセッサトランスフォーメーション
  15. ディシジョントランスフォーメーション
  16. 重複レコードの例外トランスフォーメーション
  17. 式トランスフォーメーション
  18. フィルタトランスフォーメーション
  19. 階層型からリレーショナルへのトランスフォーメーション
  20. Javaトランスフォーメーション
  21. JavaトランスフォーメーションAPIのリファレンス
  22. Java式
  23. ジョイナトランスフォーメーション
  24. キージェネレータトランスフォーメーション
  25. ラベラトランスフォーメーション
  26. ルックアップトランスフォーメーション
  27. ルックアップキャッシュ
  28. 動的ルックアップキャッシュ
  29. マクロトランスフォーメーション
  30. 一致トランスフォーメーション
  31. フィールド分析での一致トランスフォーメーション
  32. ID分析での一致トランスフォーメーション
  33. ノーマライザトランスフォーメーション
  34. マージトランスフォーメーション
  35. パーサートランスフォーメーション
  36. Pythonトランスフォーメーション
  37. ランクトランスフォーメーション
  38. 読み取りトランスフォーメーション
  39. リレーショナルから階層型へのトランスフォーメーション
  40. REST Webサービスコンシューマトランスフォーメーション
  41. ルータトランスフォーメーション
  42. シーケンスジェネレータトランスフォーメーション
  43. ソータートランスフォーメーション
  44. SQLトランスフォーメーション
  45. 標準化トランスフォーメーション
  46. 共有体トランスフォーメーション
  47. アップデートストラテジトランスフォーメーション
  48. Webサービスコンシューマトランスフォーメーション
  49. WebサービスSOAPメッセージの解析
  50. WebサービスSOAPメッセージの生成
  51. 加重平均トランスフォーメーション
  52. ウィンドウトランスフォーメーション
  53. 書き込みトランスフォーメーション
  54. 付録 A: トランスフォーメーションの区切り文字

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

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

SQLオーバーライドおよび動的ルックアップキャッシュ

SQLオーバーライドおよび動的ルックアップキャッシュ

ルックアップクエリにWHERE句を追加してキャッシュを作成するのに使用されるレコードをフィルタリングして、キャッシュを使用しないルックアップのデータベーステーブルでルックアップを実行します。 ただし、統合サービスは動的キャッシュに行を挿入するときにWHERE句を使用しません。
動的キャッシュを使ってルックアップトランスフォーメーションにWHERE句を追加する場合、フィルタトランスフォーメーションをルックアップトランスフォーメーションの前に接続して、キャッシュまたはターゲットテーブルに挿入しない行をフィルタリングします。 フィルタトランスフォーメーションを含めない場合、キャッシュとターゲットテーブルの間で結果に矛盾が生じる可能性があります。
たとえば、ルックアップトランスフォーメーションを設定して従業員テーブルのEMPに対して動的ルックアップを行い、EMP_IDで一致する行を探すとします。下記のルックアップSQL上書きを定義します。
SELECT EMP_ID, EMP_STATUS FROM EMP ORDER BY EMP_ID, EMP_STATUS WHERE EMP_STATUS = 4
最初に
マッピング
を実行する際、統合サービスはルックアップSQLオーバーライドに基づいてターゲットテーブルからルックアップキャッシュを作成します。 キャッシュ内のすべての行はWHERE句の条件、
EMP_STATUS = 4
に一致します。
例えば、統合サービスは指定したルックアップ条件に一致するソース行を読み取りますが、EMP_STATUSの値は2です。 ターゲットにEMP_STATUSが2の行がある可能性があっても、統合サービスはSQLオーバーライドのため、キャッシュの行を見つけることができません。 統合サービスはキャッシュに行を挿入して、行をターゲットテーブルに渡します。 行がすでに存在する場合、統合サービスがこの行をターゲットテーブルに挿入すると、結果に矛盾が生じる可能性があります。 さらに、キャッシュ内のすべての行がSQLオーバーライドのWHERE句の条件に一致するとは限りません。
WHERE句に一致する行のみを確実にキャッシュに挿入するには、フィルタトランスフォーメーションをルックアップトランスフォーメーションの前に追加し、ルックアップSQL上書きでWHERE句内の条件をフィルタ条件として定義します。
上記の例では、次のフィルタトランスフォーメーションのフィルタ条件とSQLオーバーライドのWHERE句を入力します。
EMP_STATUS = 4