マッピング・エディターで使用される式

マッピング・エディターでは、式ビルダー内の多種多様な式を使用することができます。

式のタイプ

フィルター
SQL ステートメントの作成時には、ソース・データのサブセットだけが必要なことがあります。 また、特定の基準を満たす行だけを抽出したいこともあります。 マッピング・エディターでフィルターを使用して、最終的に表から抽出する行を限定する SQL WHERE 文節を作成することができます。
ソート条件
出力が昇順または降順のアルファベット順になるように、列に対するソートを定義することができます。 これが、生成する SQL スクリプト内の ORDER BY 文節になります。
結合条件
表を結合するには、マッピング内に複数のソース表が事前になければなりません。
変換
マッピング・エディター内のソースとターゲットの間でデータ・タイプを交換することができます。 ディスカバー関数で識別されたマッピングを受け入れた後か、またはマッピングを作成した後、列レベルの変換を個々のマッピング列に追加することができます。 ソース・エレメント値は、ターゲットに適用される前に、変換関数によって修正されます。

変換は、1 つのエレメントまたは列、または複数のエレメントまたは列を対象とすることができます。 例えば、単一エレメントの変換において、ドル建ての給与を示した列がソースに入っているとします。 ターゲット・サイドの一致列には、それに似通った列が入っているけれども、その値は数千ドルの単位であるとします。 そのため、ソース列のタイプを、ターゲット列のタイプに変換します。

複数エレメントの変換は、多対 1 の関係になります。 例えば、名エレメントと姓エレメントがソース・サイドにあるとします。 ターゲット・サイドにあるのは、単一名エレメントです。 変換によって、ソースの名フィールドと姓フィールドは、ターゲットの単一名フィールドに連結されます。 変換に関与する列は、マッピングではソースとして使用しなければなりません。

1 対多の対応は、必要に応じてそれぞれが独自の変換関数を備えた複数の 1 対 1 の対応として指定されます。

関数

データベース関数とは、一連の入力データ値と一連の結果値の関係のことです。 例えば、TIMESTAMP 関数に DATE および TIME のタイプの入力データ値を渡すことができ、その結果は TIMESTAMP となります。 関数は、組み込みまたはユーザー定義 (マッピングのターゲット・サイドから) のいずれかです。 関数式は、データの変換のため、フィルター条件または結合条件の中、あるいは共通の式パターンを取り込むために使用できます。

組み込み関数には、データベース・マネージャーが用意されています。 この関数は、1 つの結果値を戻します。 そのような関数には、列関数 (例えば AVG)、演算子関数 (例えば +)、およびキャスト関数 (例えば DECIMAL) などがあります。

マッピング・エディターでは、式ビルダー内のすべてのスカラー関数およびすべての集約関数を使用することができます。 それらの関数は、デプロイメント環境と互換性がなければなりません。 式ビルダーに用意されている関数をいくつか以下に示してあります。

日時
日時関数は、カレンダー関連の値を戻します。それには例えば、曜日名、タイム・スタンプ、曜日、年頭からの日数、月名、該当する日付が存在する 1 年のうちの四半期を表す整数などの値があります。 以下に例を示します。
DAYOFYEAR('1988-12-25')
String
ストリング関数とは、ストリング値が関与するスカラー関数のことです。
語 DINING の中の文字 N のすべての出現箇所を VID に置き換えます。

REPLACE ('DINING', 'N', 'VID')
キャスト
キャスト関数は、特定のデータ・タイプの値を別のデータ・タイプに変更するか、または異なる長さ、精度、あるいは位取りをもった同じデータ・タイプに変更します。 以下に例を示します。
CHAR(浮動小数点列) = 文字ストリング
集約
集約関数は、列値を処理して単一値を作成します。 以下に例を示します。
MAX(BONUS + 1000)
数学
数学関数は、基本の数学操作を実行します。 以下に例を示します。
ABS(SAMP.EMPLOYEE.EMPNO)

述部および演算子

算術演算子は、符号付き数値タイプおよび日時タイプに対して適用することができます。 例えば、USER+2 は有効ではありません。 接頭演算子 + (単項加算) の場合、オペランドは変更されません。 接頭演算子 - (単項減算) の場合、ゼロ以外のオペランドの符号は反転されます。さらに、A のデータ・タイプが短精度整数の場合、-A のデータ・タイプは長精度整数になります。 接頭演算子の後に続くトークンの先頭文字は、正符号 (+) または負符号 (-) であってはなりません。 挿入演算子 +、-、*、および / は、それぞれ加算、減算、乗算、および除算を指定します。 除算の 2 番目のオペランドの値はゼロであってはなりません。

述部は、ある特定の行またはグループに対して条件を True、False、または不明と指定します。

マッピング・エディターは、演算子 *、/、+、-、¥、<、>、=、% をサポートします。 マッピング・エディターは、キーワード BETWEEN、NOT、LIKE、NULL、IN、EXISTS をサポートします。

SALARY < 20000 
value1 BETWEEN value2 AND value3 
DEPTNO IN ('D01', 'B01', 'C01') 

フィードバック