ソート機能のリターン式の定義を以下の図に示します。
図3.58 リターン式の定義
図3.59 項目参照
図3.60 数値演算式(数値型の場合)
ポイント
入力ファイルタイプがXMLの場合、リターン式で指定した項目が、繰返し項目として複数存在するときは、先頭の項目がソートの対象となります。
参照
数値演算式における空の扱いについては、“3.5.2 数値演算式における空の扱い”を参照してください。
入力ファイルにおける、処理の対象とする要素をテキスト式で指定します。
図3.61 テキスト式の定義
注意
パス式のパス演算子に“//”は指定できません。
パス式のパス要素に“*”は指定できません。
参照
パス式については、“3.1.2 パス式”を参照してください。
入力ファイルにおける、処理の対象とする属性ノードを属性式で指定します。
参照
属性式の詳細は、“3.1.4 属性式”を参照してください。
仮想項目名は、仮想項目定義で定義される仮想項目の値を返します。
参照
仮想項目機能の詳細は、“3.8 仮想項目機能”を参照してください。
必要に応じて、単一行関数を指定します。
参照
使用できる単一行関数の詳細については、“第4章 関数の書式”を参照してください。
必要に応じて、集合関数を指定します。
参照
使用できる集合関数の詳細については、“第4章 関数の書式”を参照してください。
val関数、集合関数および算術演算などが指定できます。
プログラム実行中に変化しない数値のことです。
整数部、および、小数部は、18桁まで有効です。18桁を超えるとエラーとなります。
除算演算子(/)のあとに0は指定できません。
集合関数は、1レコード内で、関数のパラメタに指定した項目参照の内容を集計した値を返します。
集合関数のパラメタに指定した項目参照で指定した項目、テキストノードまたは属性ノードが入力レコード中に存在しない場合や、空の場合は、集計の対象に含めません。詳細については、“3.5.2 数値演算式における空の扱い”を参照してください。
sum関数、max関数、min関数およびavg関数は、項目参照で指定した文字列から数値を抜き出して、その数値を集計します。項目から数値を抜き出す規則は、val関数と同じです。先頭の0を除き、整数部が18桁を超えるとエラーとなります。
sum関数、max関数、min関数およびavg関数は、セミコロン(;)で区切って、複数の項目参照を記述できます。
参照
詳細については、以下を参照してください。
項目参照については、“3.1.9 項目参照”
リテラルについては“3.1.6 リテラル”
使用できる関数の詳細については、“第4章 関数の書式”
注意
結果を抽出機能や連結機能の入力ファイルとして指定する場合には、ラベルを必ず記述してください。記述しない場合には、他機能との連携ができない場合があります。
リターン式に「sum($val)」と記述し、ラベルが指定されていない場合には、出力される項目名称は「sum(val)」となります。
リターン式に「sum($val)」と記述し、集計式の結果がオーバーフローとなった場合には、出力ファイルに「"ERR(=sum(数値))"」が出力され、処理を継続します。
コマンド利用時は、終了ステータスとして「警告」が返却されます。
C API利用時は、関数はエラーで復帰し、エラーレベル「警告」が設定されます。
算術演算を使用したリターン式「sum($val)*1000」を記述し、結果がオーバーフローとなった場合には、出力ファイルに「"ERR(=sum(数値)*1000")」が出力されます。
「数値」には、オーバーフローした結果が出力されますが、結果が27桁を超えた場合には、出力ファイルは出力されません。
リターン式に「sum($val)/min($val)」と記述し、min($val)の結果が0となった場合には、「"ERR(=sum(数値)/min(0))"」と出力され、処理を継続します。
コマンド利用時は、終了ステータスとして「警告」が返却されます。
C API利用時は、関数はエラーで復帰し、エラーレベル「警告」が設定されます。