目次

Search

  1. はじめに
  2. トランスフォーメーション言語
  3. 定数
  4. 演算子
  5. 変数
  6. 日付
  7. 関数
  8. カスタム関数の作成
  9. カスタム関数APIリファレンス

トランスフォーメーション言語リファレンス

トランスフォーメーション言語リファレンス

SETMINVARIABLE

SETMINVARIABLE

マッピング変数のカレント値を、変数のカレント値と指定値のいずれか低い方に設定します。新しいカレント値を返します。SETMINVARIABLE関数は、行が挿入をマーク付けされた場合にだけ実行されます。SETMINVARIABLEは他のすべての行のタイプを無視し、カレント値は変更されません。
成功したセッションの最後で、
PowerCenter統合サービス
は最終カレント値をリポジトリに保存します。 パーティションが複数あるセッションで使用すると、
PowerCenter統合サービス
はパーティションごとに異なるカレント値を生成します。 セッションの終了時に、すべてのパーティションで最も低いカレント値をリポジトリに保存します。オーバーライドしなければ、次に実行するセッションの変数の初期値として、保存した値を使用します。
文字列マッピング変数を指定して使用すると、SETMINVARIABLEはセッションで選択したソート順で低い方の文字列を返します。
SETMINVARIABLE関数は、パイプラインの各マッピング変数に対して一度しか使用できません。
PowerCenter統合サービス
により、マッピングで変数関数が検出された場合、その変数関数が処理されます。
PowerCenter統合サービス
によってマッピングで変数関数が検出される順序は、セッションを実行するたびに異なります。このため、マッピングで同じ変数関数を複数回使用すると、結果が一貫しないことがあります。
Min集計型のマッピング変数を指定してSETMINVARIABLEを使用してください。下記のトランスフォーメーションでSETMINVARIABLEを使用してください。
  • Expression
  • Filter
  • Router
  • Update Strategy
以下のいずれかの条件に該当する場合、
PowerCenter統合サービス
はマッピング変数の最終値をリポジトリに保存しません。
  • セッションの完了に失敗した。
  • セッションがテストロードに設定されている。
  • セッションがデバッグセッションである。
  • セッションがデバッグモードで実行され、セッション出力を無視するように設定されている。

構文

SETMINVARIABLE( $$
Variable
,
value
)
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
$$
変数
必須
設定したいマッピング変数の名前。Min集計型のマッピング変数を使用してください。
value
必須
PowerCenter統合サービス
に変数のカレント値と比較させたい値。変数のデータ型と互換性のあるデータ型の値を求める有効なトランスフォーメーション式を入力できます。

戻り値

変数のカレント値と指定値のいずれか低い方。戻り値は変数の新しいカレント値です。
value
がNULLの場合、
PowerCenter統合サービス
$$Variable
のカレント値を返します。

下記の式は、マッピング変数$$MinPriceと商品の価格を比較します。$$MinPriceを2つの値の低い方に設定し、これまでに一番低い商品価格をMIN_PRICEポートに返します。前回実行されたセッションからの$$MinPriceの初期値は、22.50です。
SETMINVARIABLE ($$MinPrice, PRICE)
DATE
PRICE
MIN_PRICE
05/01/2000 09:00:00
23.50
22.50
05/01/2000 10:00:00
27.00
22.50
05/01/2000 11:00:00
26.75
22.50
05/01/2000 12:00:00
25.25
22.50
05/01/2000 13:00:00
22.00
22.00
05/01/2000 14:00:00
22.75
22.00
05/01/2000 15:00:00
23.00
22.00
05/01/2000 16:00:00
24.25
22.00
05/01/2000 17:00:00
24.00
22.00
セッション終了時に、
PowerCenter統合サービス
は$$MinPriceの最小カレント値として22.00をリポジトリに保存します。 次回のセッション実行時に、
PowerCenter統合サービス
は$$MinPriceに対する初期値を22.00にします。
同一のセッションに3つのパーティションが含まれている場合、
PowerCenter統合サービス
は各パーティションで$$MinPriceを求めます。 そして、一番小さい値をリポジトリに保存します。たとえば、各パーティションで最後に求められた$$MinPriceの値は、下記のようになります。
Partition
Final Current Value for $$MinPrice
Partition 1
22.00
Partition 2
22.50
Partition 3
22.50