SUM 函数

语法

SUM (dynamic.array)

描述

使用 SUM 函数计算数值数据的总和。 只对动态数组最低分隔符层的元素求和。 总计将作为单个元素返回,分隔符级别为下一级。

分隔符从高到低依次为字段、值和子值。

从 CHAR(254) 到 CHAR(248) 共有七级分隔符:字段标记、值标记、子值标记、文本标记、CHAR(250)、CHAR(249) 和 CHAR(248)。

SUM 函数从动态数组中移除最低分隔符层。 在包含字段、值和从属值的动态数组中,SUM 函数只对从属值求和,并将和作为值返回。 在包含字段和值的动态数组中,SUM 函数只对值求和,并将和作为字段返回。 在只包含字段的动态数组中,SUM 函数会对字段求和,并返回作为数组唯一字段的总和。 可以重复应用 SUM 函数,将多级数据提升到最高分隔符级别或单一值。

非数值(空值除外)被视为 0。 如果dynamic.array的值为空,则返回空值。 任何为空值的元素都会被忽略,除非dynamic.array的所有元素都为空,在这种情况下,空值会被返回。

示例

在以下示例中,字段标记用F 表示,值标记用V 表示,子值标记用S 表示。

来源线路
程序输出
X=20:@VM:18:@VM:9:@VM:30:@VM:80打印 "sum(x)=",sum(x)
SUM(X)= 157
X=17:@FM:18:@FM:15 Y=10:@FM:20print "sum(x)+sum(y)= ",sum(x)+sum(y)
SUM(X)+SUM(Y)=     80
X=3:@SM:4:@SM:10:@VM:3:@VM:20y=sum(x) print "y= ",y z=sum(y) print "z= ",z
Y=    17V3V20
Z=    40