結合処理

オペレーション名

結合

機能概要

二つの入力データを結合します。

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。
入出力のスキーマについては、「テーブルモデル型のスキーマ」を参照してください。

プロパティ

基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ(LEFT) 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
入力データ(RIGHT) 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
処理種別 必須 使用不可 処理の種別を選択します。
  • [INNER JOIN]:(デフォルト)
  • [LEFT OUTER JOIN]:
  • [RIGHT OUTER JOIN]:
結合キー設定 必須 - 結合キーとなる列を指定します。

各列は以下のボタンで操作することができます。
  • [追加]:
    キーを追加します。
  • [削除]:
    キーを削除します。
  • キーとなる列を複数指定した場合は、キーとなる列の値を比較してすべて一致したデータを結合します。
結合キー設定/入力データ(LEFT) 必須 使用不可 キーとなる[入力データ(LEFT)]の列名を選択します。
  • 列名の後ろに順序を表すインデックスを表示します。
  • [入力データ(LEFT)]の値を選択・変更した場合、列名は更新されます。
結合キー設定/入力データ(RIGHT) 必須 使用不可 キーとなる[入力データ(RIGHT)]の列名を選択します。
  • 列名の後ろに順序を表すインデックスを表示します。
  • [入力データ(RIGHT)]の値を選択・変更した場合、列名は更新されます。
出力設定
項目名 必須/省略可 変数の使用 説明 備考
出力を手動で設定 省略可 使用不可 出力対象となる列を手動で設定するかどうかを選択します。
  • [チェックあり]:
    出力対象を手動で設定します。
  • [チェックなし]:(デフォルト)
    指定済みのプロパティ項目の内容に応じて、出力対象を自動的に設定します。
  • チェックを入れない場合、出力対象は以下の順序になります。
    1. [結合キー設定]の設定順序
    2. [入力データ(LEFT)]の入力スキーマの順序([結合キー設定]で指定した列を除く)
    3. [入力データ(RIGHT)]の入力スキーマの順序([結合キー設定]で指定した列を除く)
出力対象設定 省略可 - 出力対象となる列を指定します。

各列は以下のボタンで操作することができます。
  • [上へ]:
    出力対象の出力順を1列分上に移動します。
  • [下へ]:
    出力対象の出力順を1列分下に移動します。
  • [追加]:
    出力対象を追加します。
  • [削除]:
    出力対象を削除します。
  • [出力を手動で設定]にチェックを入れた場合、有効になります。
出力対象設定/データ元 必須 使用不可 出力対象となる列のデータ元を選択します。
  • [結合キー(LEFT/RIGHT)]:
  • [入力データ(LEFT)]:
  • [入力データ(RIGHT)]:
 
出力対象設定/列名 必須 使用不可 出力対象となる列の列名を選択します。
[出力対象/データ元]に指定した値に応じた列名が選択肢として表示されます。
  • [<入力データ(LEFT)の列名>/<入力データ(RIGHT)の列名>]:
    [結合キー(LEFT/RIGHT)]を選択した場合に表示されます。
  • [<入力データ(LEFT)の列名>]:
    [入力データ(LEFT)]を選択した場合に表示されます。
  • [<入力データ(RIGHT)の列名>]:
    [入力データ(RIGHT)]を選択した場合に表示されます。
  • 列名の後ろに順序を表すインデックスを表示します。
  • [出力対象/データ元]の値を選択・変更した場合、列名は更新されます。
  • [結合キー設定]で指定した列を選択したい場合、[出力対象/データ元][結合キー(LEFT/RIGHT)]を選択してください。
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

入力元コンポーネントのスキーマと同じです。

出力スキーマ

[出力設定]の設定により、カラム数が異なります。
スキーマ構造については、「テーブルモデル型のスキーマ」を参照してください。

Mapperでのスキーマ読み込み

出力スキーマは自動で読み込まれますが、入力スキーマは手動で読み込む必要があります。
読み取りを行うデータのスキーマを指定してください。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理には対応していません。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

入力元コンポーネントのスキーマ変更について

nullと空文字について

処理種別について

処理種別では以下の結合方法を選択します。
項目の説明
項目名 説明
INNER JOIN(デフォルト) [入力データ(LEFT)][入力データ(RIGHT)]双方のテーブルのキーの値が一致するレコードのみ取得します。
LEFT OUTER JOIN [入力データ(LEFT)]のテーブルはすべてのレコードを、[入力データ(RIGHT)]のテーブルはキーの値が一致するレコードのみ取得します。
RIGHT OUTER JOIN [入力データ(RIGHT)]のテーブルはすべてのレコードを、[入力データ(LEFT)]のテーブルはキーの値が一致するレコードのみ取得します。

例:以下の二つのテーブル「Products」と「Sales」を、「品番」をキーとして結合します。

Products Sales
品番製品名
1商品A
2商品B
4商品D
品番注文個数
110
230
350

データ型が異なる列の結合について

結合キーに指定された列のデータ型が異なる場合、以下の通りデータ型の変換を行います。
データ型の変換
入力データ(LEFT)の
列のデータ型
入力データ(RIGHT)の列のデータ型
byte short int long float double BigDecimal boolean String Date byte[]
byte short int long BigDecimal BigDecimal BigDecimal × byte × ×
short short int long BigDecimal BigDecimal BigDecimal × short × ×
int int int long BigDecimal BigDecimal BigDecimal × int × ×
long long long long BigDecimal BigDecimal BigDecimal × long × ×
float BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal × BigDecimal × ×
double BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal × BigDecimal × ×
BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal × BigDecimal × ×
boolean × × × × × × × boolean × ×
String byte short int long BigDecimal BigDecimal BigDecimal boolean × ×
Date × × × × × × × × × × ×
byte[] × × × × × × × × × × ×
内部データ型のcharはStringとして扱います。
Stringからbooleanに変換する場合、「true」はtrue、それ以外の文字列はfalseに変換します。

仕様制限

主な例外

例外名 原因 対策
InputDataNotFoundException [入力データ]が指定されていません。 [入力データ]を指定する、またはデータフローを引いてください。
InvalidInputTypeException [入力データ]がテーブルモデル型ではありません。 [入力データ]がテーブルモデル型かどうかを確認してください。
InvalidPropertyConfigurationException
<プロパティ名>に値が指定されていません。
[<プロパティ名>]に値が指定されていません。 [<プロパティ名>]を指定してください。
InvalidPropertyConfigurationException
<プロパティ名1>の[<行番号>]行目の[<プロパティ名2>]に値が指定されていません。
[<プロパティ名2>]に値が指定されていません。 [<プロパティ名2>]を指定してください。
InvalidPropertyConfigurationException
<プロパティ名>の[<行番号>]行目に指定された値が重複しています。
[<プロパティ名>]に指定した値が重複しています。 [<プロパティ名>]に指定した値が適切かどうかを確認してください。
InvalidPropertyConfigurationException
<プロパティ名1>の[<行番号>]行目の[<プロパティ名2>]に指定された値が重複しています。
[<プロパティ名2>]に指定した値が重複しています。 [<プロパティ名2>]に指定した値が適切かどうかを確認してください。
ConversionFailedException
<入力データ>の列の値を結合キーとして処理できません。
[<入力データ>]の内容に、[結合キー設定]に指定した通りに処理できない値が含まれています。 [<入力データ>][結合キー設定]に指定した内容に適合するかどうか、または空文字が含まれているかどうかを確認してください。