SUM 関数

構文

SUM (dynamic.array)

説明

SUM 関数を使用すると、数値データの合計を計算できます。動的な配列の最も低い区切りレベルにあるエレメントだけが合計されます。合計は、次の最も高い区切りレベルにある単一のエレメントとして返されます。

区切りはレベルの高い方から順に、フィールド、値、およびサブ値です。

区切りには CHAR(254) から CHAR(248) までの 7 レベルがあります。すなわち、フィールド・マーク、サブ値マーク、テキスト・マーク、CHAR(250)、CHAR(249)、および CHAR(248) です。

SUM 関数は、動的な配列から最も低い区切りレベルを除去します。 フィールド、値、および従属値を含む動的配列では、SUM 関数は従属値のみを合計し、その合計を値として返します。フィールド、および値を含む動的な配列では、SUM 関数は値だけを合計し、その合計をフィールドとして返します。フィールドだけを含む動的な配列では、SUM 関数はフィールドを合計し、その合計を配列の唯一のフィールドとして返します。 SUM は繰り返し適用でき、そうすることで複数のレベルのデータをより高い区切りレベルや単一の値に高めることができます。

NULL 値以外の非数値は、0 として扱われます。dynamic.array が NULL 値として評価される場合、NULL が戻ります。NULL 値であるエレメントは、dynamic.array のすべてのエレメントが NULL でない限り無視されます。すべてのエレメントが NULL の場合、NULL が戻ります。

次の例では、フィールド・マークが F、値マークが V、サブ値マークが S でそれぞれ示されます。

ソース行
プログラム出力
X=20:@VM:18:@VM:9:@VM:30:@VM:80 PRINT "SUM(X)=",SUM(X)
SUM(X)= 157
X=17:@FM:18:@FM:15 Y=10:@FM:20 PRINT "SUM(X)+SUM(Y)= ",SUM(X)+SUM(Y)
SUM(X)+SUM(Y)=     80
X=3:@SM:4:@SM:10:@VM:3:@VM:20 Y=SUM(X) PRINT "Y= ",Y Z=SUM(Y) PRINT "Z= ",Z
Y=    17V3V20
Z=    40