ソート処理

オペレーション名

ソート

機能概要

入力データをソートします。

データモデル

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

プロパティ

基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
ソートキー設定 必須 - ソート処理のキーとなる列を指定します。
上の行に設定したキーの比較優先順位が高くなります。

各列は以下のボタンで操作することができます。
  • [上へ]:
    キーの比較優先順位を上げます。
  • [下へ]:
    キーの比較優先順位を下げます。
  • [追加]:
    キーを追加します。
  • [削除]:
    キーを削除します。
  • キーとなる列を複数指定した場合は、優先度の高いキーから順次比較していきます。比較した結果が等しい場合のみ、後続のキーを比較します。
  • キーとなる列をすべて比較した結果で順序が等しい場合のデフォルトの動作は、該当する行データの出力順序を保証しません。
  • データ型がbyte[]型の列を指定してソートすることはできません。
ソートキー設定/列名 必須 使用不可 キーとなる列名を選択します。
  • 列名の後ろに順序を表すインデックスを表示します。
  • [入力データ]の値を選択・変更した場合、列名は更新されます。
ソートキー設定/データ型 必須 使用不可 キーとなる列が文字列の場合、ソート時のデータ型を選択します。
  • [文字列]:(デフォルト)
    列を変換せずにそのまま比較します。
  • [数値]:
    列を数値に変換して比較します。
  • [日付/時間]:
    列を日時に変換して比較します。
  • [ソートキー設定/列名]に指定した列のデータ型が文字列の場合、有効になります。
  • [日付/時間]を選択した場合、SkyOnDemandの日付フォーマットを使用して文字列から日時に変換します。
ソートキー設定/順序 必須 使用不可 ソート処理の順序を選択します。
  • [昇順]:(デフォルト)
    列が昇順になるように行データを並び替えます。
  • [降順]:
    列が降順になるように行データを並び替えます。
  • 列が文字列の場合、[ソートキー設定/データ型]で指定したデータ型に応じた順序で並び替えます。
  • 列が文字列以外の場合、列のデータ型に応じた順序で並び替えます。
  • 文字列として並び替える場合、順序はUnicode順となります。
ソートキーの値が同じデータは入力順序を維持する 省略可 使用不可 ソートキーの値が同じデータの場合、入力データの順序を維持するかどうかを選択します。
  • [チェックあり]:
    順序を維持します。
  • [チェックなし]:(デフォルト)
    順序は維持されません。
  • チェックを入れた場合、処理パフォーマンスが低下する可能性があります。
出力設定
項目名 必須/省略可 変数の使用 説明 備考
出力を手動で設定 省略可 使用不可 出力対象となる列を手動で設定するかどうかを選択します。
  • [チェックあり]:
    出力対象を手動で設定します。
  • [チェックなし]:(デフォルト)
    指定済みのプロパティ項目の内容に応じて、出力対象を自動的に設定します。
  • チェックを入れない場合、出力対象は以下の順序になります。
    1. [入力データ]の入力スキーマの順序
出力対象設定 省略可 - 出力対象となる列を指定します。

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

スキーマ

入力スキーマ

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

出力スキーマ

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

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と空文字について

仕様制限

主な例外

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