目次

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トランスフォーメーション

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

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

NEXTVALポート

NEXTVALポート

NEXTVALをトランスフォーメーションに接続し、トランスフォーメーションの各行に対して一意の値を生成することができます。NEXTVALポートをダウンストリームのトランスフォーメーションまたはターゲットに接続し、番号のシーケンスを生成します。NEXTVALを複数のトランスフォーメーションに接続した場合、統合サービスは各トランスフォーメーションに対して同じ番号のシーケンスを生成します。
NEXTVALポートを後続のトランスフォーメーションに接続し、[開始値]プロパティおよび[増分値]プロパティに基づいてシーケンスを生成します。シーケンスジェネレータがシーケンスでサイクル動作を実行するように設定されていない場合、NEXTVALポートは設定された終了値までキーシーケンス番号を生成します。
次の図に、ソースと2つのターゲットに接続され、プライマリキー値と外部キー値を生成するシーケンスジェネレータトランスフォーメーションのNEXTVALポートを含むマッピングを示します。
マッピングには、ORDERSというソースオブジェクトがあります。 ソースのすべてのポートは、シーケンスジェネレータトランスフォーメーション(Sequence_Generator)にリンクされます。 入力ポートは、Write_T_ORDERS_PRIMARYまたはWrite_T_ORDERS_FOREIGNのいずれかのターゲットオブジェクトに書き込まれます。 シーケンスジェネレータトランスフォーメーションは、シーケンスを生成して両方のターゲットオブジェクトに書き込みます。
次の図に、2つのターゲットに接続され、プライマリキー値と外部キー値を生成するシーケンスジェネレータトランスフォーメーションのNEXTVALポートを含むマッピングを示します。
シーケンスジェネレータトランスフォーメーションを開始値 = 1、増分値 = 1で設定すると、統合サービスはT_ORDERS_PRIMARYターゲットテーブルとT_ORDERS_FOREIGNターゲットテーブルに同じプライマリキー値を生成します。
NEXTVALを複数のトランスフォーメーションに接続して、各トランスフォーメーション内の各行に対して一意の値を生成します。NEXTVALポートを下流のトランスフォーメーションまたはターゲットに接続することによって、連続した数値を生成することができます。NEXTVALポートを後続のトランスフォーメーションに接続し、[Current Value]および[Increment By]プロパティに基づいてシーケンスを生成します。シーケンスジェネレータがシーケンスでサイクル動作を実行するように設定されていない場合、NEXTVALポートは設定された終了値までキーシーケンス番号を生成します。
例えば、NEXTVALをマッピング内の2つのターゲットに接続して、一意なプライマリキー値を生成することができます。統合サービスは、各ターゲットテーブルに対して一意なプライマリキー値のカラムを作成します。 一意なプライマリキー値のカラムはシーケンス番号のブロックとして1つのターゲットテーブルに送られます。2つ目のターゲットは、1つ目のターゲットテーブルがシーケンス番号のブロックを受け取った後、シーケンスジェネレータトランスフォーメーションからシーケンス番号のブロックを受け取ります。
例えば、シーケンスジェネレータトランスフォーメーションで、[現在の値]= 1、[増分]= 1と設定します。 統合サービスは、T_ORDERS_PRIMARYおよびT_ORDERS_FOREIGNターゲットテーブル用に以下のプライマリキー値を生成します。
T_ORDERS_PRIMARY TABLE: PRIMARY KEY
T_ORDERS_FOREIGN TABLE: PRIMARY KEY
1
6
2
7
3
8
4
9
5
10
同じ
値を2つ以上のターゲットに渡す場合、それらのターゲットがすべて1つのトランスフォーメーションからデータを受け取るのであれば、シーケンスジェネレータトランスフォーメーションをその先行するトランスフォーメーションに接続することができます。統合サービスは、この値をシーケンス番号のブロックに加工します。 これにより、統合サービスは一意な値をトランスフォーメーションに渡し、そのトランスフォーメーションからターゲットへ行をルーティングできます。
以下の図に、式トランスフォーメーションに一意な値を渡すシーケンスジェネレータを使用したマッピングを示します。
マッピングにはソース、ソース修飾子、シーケンスジェネレータトランスフォーメーション、式トランスフォーメーション、および2つのターゲットが含まれています。これらのトランスフォーメーションとターゲットは開かれています。ソースとソース修飾子がアイコン化されています。
式トランスフォーメーションは、同じプライマリキー値を両方のターゲットに渡します。
例えば、シーケンスジェネレータトランスフォーメーションで、[現在の値]= 1、[増分]= 1と設定します。 統合サービスは、T_ORDERS_PRIMARYおよびT_ORDERS_FOREIGNターゲットテーブル用に以下のプライマリキー値を生成します。
T_ORDERS_PRIMARY TABLE: PRIMARY KEY
T_ORDERS_FOREIGN TABLE: PRIMARY KEY
1
1
2
2
3
3
4
4
5
5
グリッド上でパーティション化されたセッションを実行すると、各パーティションに含まれる行の数によっては、シーケンスジェネレータトランスフォーメーションは値をスキップすることがあります。