ページの先頭行へ戻る
Interstage Data Effector 導入・運用ガイド
Interstage

A.7.1 リターン式の書式

抽出機能のリターン式の定義を以下に示します。

抽出機能の場合

図A.51 入力ファイルタイプがCSVの場合


図A.52 入力ファイルタイプがXMLの場合

項目名

入力ファイルにおける、処理の対象とする項目を項目名で指定します。


パス式

パス式は、階層構造にあるXML文書中の特定の要素ノードの位置を指定するものです。

注意

  1. パス式のパス演算子に“//”は指定できません。

  2. パス式のパス要素に“*”は指定できません。

注意

パス式については、“A.1.2 パス式”を参照してください。

バインド変数参照

バインド変数参照は、検索式のフィルタ式で宣言されたバインド変数の値を出力する場合に指定します。

変数名の後に続くパス式は、バインド変数の示すノードからの相対的なパスになります。

ポイント

  • リターン式にパス式だけを指定する場合、そのパス式が示すすべてのノードが出力されます。

  • リターン式にバインド変数参照を指定する場合、バインド変数宣言の右辺に指定されたフィルタ式の条件を満たすノードだけが出力されます。

参照

バインド変数については、“A.2.9 フィルタ式”を参照してください。


連結機能・ソート機能場合

連結機能またはソート機能のリターン式の定義を以下の図に示します。

図A.53 リターン式の定義(連結機能・ソート機能の場合)

図A.54 項目参照(連結機能の場合)

図A.55 項目参照(ソート機能の場合)

図A.56 数値演算式(数値型の場合)


ポイント

入力ファイルタイプがXMLの場合、リターン式で指定した項目が、繰返し項目として複数存在するときは、先頭の項目がソートの対象となります。

参照

数値演算式における空の扱いについては、“A.5.2 数値演算式における空の扱い”を参照してください。

仮想項目名

仮想項目名は、仮想項目定義で定義される仮想項目の値を返します。

参照

仮想項目機能の詳細は、“A.8 仮想項目機能”を参照してください。

項目名

入力ファイルにおける、処理の対象とする項目を項目名で指定します。


テキスト式

入力ファイルにおける、処理の対象とする要素をテキスト式で指定します。


図A.57 テキスト式の定義

注意

  • パス式のパス演算子に“//”は指定できません。

  • パス式のパス要素に“*”は指定できません。

参照

パス式については、“A.1.2 パス式”を参照してください。


数値演算式

val関数、集合関数および算術演算などが指定できます。


数値リテラル
  • プログラム実行中に変化しない数値のことです。

  • 整数部、および、小数部は、18桁まで有効です。18桁を超えるとエラーとなります。

  • 除算演算子(/)のあとに0は指定できません。



ラベル

出力データにおいて項目名、またはタグ名として使用される文字列を指定します。
ラベルを指定する場合、その前の指定内容が項目参照または定数のときには、ラベルの前に半角空白を指定する必要があります。

入力ファイルタイプがCSVの場合、ラベルは省略することもできます。


集合関数指定

集合関数は、グループ内の入力レコード全体に対し、関数のパラメタに指定した項目参照の内容を集計した値を返します。
集合関数のパラメタに指定した項目参照で指定した項目、およびテキストノードが入力レコード中に存在しない場合や、空の場合は、集計の対象に含めません。詳細については、“A.5.2 数値演算式における空の扱い”を参照してください。
sum関数、max関数、min関数およびavg関数は、項目参照で指定した文字列から数値を抜き出して、その数値を集計します。項目から数値を抜き出す規則は、val関数と同じです。先頭の0を除き、整数部が18桁を超えるとエラーとなります。

sum関数、max関数、min関数およびavg関数は、セミコロン(;)で区切って、複数の項目参照を記述できます。



参照

詳細については、以下を参照してください。

注意

  • 結果を抽出機能や連結機能の入力ファイルとして指定する場合には、ラベルを必ず記述してください。記述しない場合には、他機能との連携ができない場合があります。

  • リターン式に「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利用時は、関数はエラーで復帰し、エラーレベル「警告」が設定されます。