結合処理
オペレーション名
結合
機能概要
二つの入力データを結合します。
プロパティ
基本設定
項目名 |
必須/省略可 |
変数の使用 |
説明 |
備考 |
---|---|---|---|---|
名前 |
必須 |
使用不可 |
スクリプトキャンバス上での名前を入力します。 |
|
入力データ(LEFT) |
必須 |
使用不可 |
スクリプトキャンバス上にあるコンポーネントを選択します。 |
|
入力データ(RIGHT) |
必須 |
使用不可 |
スクリプトキャンバス上にあるコンポーネントを選択します。 |
|
必須設定
項目名 |
必須/省略可 |
変数の使用 |
説明 |
備考 |
---|---|---|---|---|
処理種別 |
必須 |
使用不可 |
処理の種別を選択します。
|
|
結合キー設定 |
必須 |
- |
結合キーとなる列を指定します。 各列は以下のボタンで操作することができます。
|
|
結合キー設定/入力データ(LEFT) |
必須 |
使用不可 |
キーとなる[入力データ(LEFT)]の列名を選択します。 |
|
結合キー設定/入力データ(RIGHT) |
必須 |
使用不可 |
キーとなる[入力データ(RIGHT)]の列名を選択します。 |
|
出力設定
項目名 |
必須/省略可 |
変数の使用 |
説明 |
備考 |
---|---|---|---|---|
出力を手動で設定 |
省略可 |
使用不可 |
出力対象となる列を手動で設定するかどうかを選択します。
|
|
出力対象設定 |
省略可 |
- |
出力対象となる列を指定します。 各列は以下のボタンで操作することができます。
|
|
出力対象設定/データ元 |
必須 |
使用不可 |
出力対象となる列のデータ元を選択します。
|
|
出力対象設定/列名 |
必須 |
使用不可 |
出力対象となる列の列名を選択します。 [出力対象/データ元]に指定した値に応じた列名が選択肢として表示されます。
|
|
コメント
項目名 |
必須/省略可 |
変数の使用 |
説明 |
備考 |
---|---|---|---|---|
コメント |
省略可 |
使用不可 |
このコネクターの簡単な説明を記述することができます。 |
|
スキーマ
入力スキーマ
入力元コンポーネントのスキーマと同じです。
Mapperでのスキーマ読み込み
出力スキーマは自動で読み込まれますが、入力スキーマは手動で読み込む必要があります。
読み取りを行うデータのスキーマを指定してください。
詳細については、「スキーマ編集」を参照してください。
大容量データ処理
大容量データ処理には対応していません。
PSPでの使用について
PSPでは使用できません。
使用できるコンポーネント変数
コンポーネント変数名 |
説明 |
備考 |
---|---|---|
message_category |
エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。 |
|
message_code |
エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。 |
|
message_level |
エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。 |
|
error_type |
エラー発生時、発生したエラーの種類が格納されます。 |
|
error_message |
エラー発生時、発生したエラーのメッセージが格納されます。 |
|
error_trace |
エラー発生時、発生したエラーのトレース情報が格納されます。 |
|
入力元コンポーネントのスキーマ変更について
-
[入力データ(LEFT)]または[入力データ(RIGHT)]に指定したコンポーネントのスキーマを変更した場合、結合処理にその変更を反映させるため、結合処理のプロパティ設定ダイアログを開いて[完了]ボタンをクリックしてください。
-
[入力データ(LEFT)]または[入力データ(RIGHT)]に指定したコンポーネントのスキーマ構造を変更(スキーマの要素の順序変更や削除など)した場合、[結合キー設定/入力データ(LEFT)]や[結合キー設定/入力データ(RIGHT)]、[出力対象設定/列名]の設定も合わせて変更する必要があります。
これは、結合処理が列情報を名前ではなく順序(インデックス)で保持しているためです。
nullと空文字について
-
[結合キー設定]で指定した列の値にnullが存在する場合、nullを結合キーの値として処理します。
-
[結合キー設定]で指定した列の値に空文字が存在する場合、指定したもう片方の列のデータ型により動作が異なります。
-
String型の列同士の場合、空文字を結合キーの値として処理します。
-
String型と異なるデータ型の列の場合、エラーが発生します。
-
項目の説明
項目名 |
説明 |
---|---|
INNER JOIN(デフォルト) |
[入力データ(LEFT)]と[入力データ(RIGHT)]双方のテーブルのキーの値が一致するレコードのみ取得します。 |
LEFT OUTER JOIN |
[入力データ(LEFT)]のテーブルはすべてのレコードを、[入力データ(RIGHT)]のテーブルはキーの値が一致するレコードのみ取得します。 |
RIGHT OUTER JOIN |
[入力データ(RIGHT)]のテーブルはすべてのレコードを、[入力データ(LEFT)]のテーブルはキーの値が一致するレコードのみ取得します。 |
例:以下の二つのテーブル「Products」と「Sales」を、「品番」をキーとして結合します。
Products |
Sales |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
-
[INNER JOIN(デフォルト)]の場合
品番
製品名
注文個数
1
商品A
10
2
商品B
30
-
[LEFT OUTER JOIN]の場合
品番
製品名
注文個数
1
商品A
10
2
商品B
30
4
商品D
-
[RIGHT OUTER JOIN]の場合
品番
製品名
注文個数
1
商品A
10
2
商品B
30
3
50
データ型が異なる列の結合について
結合キーに指定された列のデータ型が異なる場合、以下のとおりデータ型の変換を行います。
データ型の変換
入力データ(LEFT)の列のデータ型 |
入力データ(RIGHT)の列のデータ型 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
byte |
short |
int |
long |
float |
double |
BigDecimal |
boolean |
String |
Date |
|
|
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 <入力データ>の列の値を結合キーとして処理できません。 |
[<入力データ>]の内容に、[結合キー設定]に指定したとおりに処理できない値が含まれています。 |
[<入力データ>]が[結合キー設定]に指定した内容に適合するかどうか、または空文字が含まれているかどうかを確認してください。 |