ページの先頭行へ戻る
Interstage Data Effector リファレンス集
Interstage

3.5.1 集計式の書式

集計式の定義を以下の図に示します。


図3.44 集計式の定義


図3.45 項目参照


図3.46 数値演算式(数値型の場合)


項目名

入力ファイルにおける、処理の対象とする項目を項目名で指定します。
関数のパラメタでない場合、グループ内の任意の1レコードの項目の内容をそのまま返します。

テキスト式

入力ファイルにおける、処理の対象とする要素をテキスト式で指定します。
関数のパラメタでない場合、グループ内の任意の1レコードのテキストノードの内容をそのまま返します。


図3.47 テキスト式の定義

注意

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

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

  • パス式については、“3.1.2 パス式”を参照してください。

属性式

入力ファイルにおける、処理の対象とする属性ノードを属性式で指定します。

参照

属性式の詳細は、“3.1.4 属性式”を参照してください。


仮想項目名

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

参照

仮想項目機能の詳細については、“3.8 仮想項目機能”を参照してください。

数値演算式

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


数値リテラル

ラベル

出力データにおいて項目名、またはタグ名として使用される文字列を指定します。

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


集合関数指定

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

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


参照

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


注意

  • 集計結果を抽出機能や連結機能の入力ファイルとして指定する場合には、ラベルを必ず記述してください。記述しない場合には、他機能との連携ができない場合があります。
    また、XML形式で結果を出力する場合には、タグ名にラベル名が設定されるため、ラベル名が指定されていない場合には、集計式に指定された内容がラベル名として設定されます。
    この結果、タグ名に指定できない二重引用符(")などの文字が設定される場合があるため、ラベル名を指定することをお奨めします。

  • 集計式に「sum($val)」と記述し、ラベルが指定されていない場合には、出力される項目名称は「sum(val)」となります。ただし、集計式に仮想項目が指定されている場合、「数値」には、「UNEVALUATED」が出力される場合があります。

  • 集計式に「sum($val)」と記述し、集計式の結果がオーバーフローとなった場合には、出力ファイルに「"ERR(=sum(数値))"」が出力され、処理を継続します。

    • コマンド利用時は、終了ステータスとして「警告」が返却されます。

    • C API利用時は、AsisExecuteAnalyze関数はエラーで復帰し、エラーレベル「警告」が設定されます。

  • 算術演算を使用した集計式「sum($val)*1000」を記述し、結果がオーバーフローとなった場合には、出力ファイルに「"ERR(=sum(数値)*1000")が出力されます。ただし、集計式に仮想項目が指定されている場合、「数値」には、「UNEVALUATED」が出力される場合があります。
    「数値」には、オーバーフローした集計結果が出力されますが、集計結果が27桁を超えた場合には、出力ファイルは出力されません。

  • 集計式に「sum($val)/min($val)」と記述し、min($val)の結果が0となった場合には、「"ERR(=sum(数値)/min(0))"」と出力され、処理を継続します。ただし、集計式に仮想項目が指定されている場合、「数値」には、「UNEVALUATED」が出力される場合があります。

    • コマンド利用時は、終了ステータスとして「警告」が返却されます。

    • C API利用時は、AsisExecuteAnalyze関数はエラーで復帰し、エラーレベル「警告」が設定されます。