聚合函数、CALC 函数和 NEW 关键字

数据整理支持以下函数。 分配给包含要操作的列的章节的名称是 chapter-alias。

chapter-alias 可以完全限定,由每个章节列名组成,该章节列名指向包含 column-name 的章节,都由句点分隔。 例如,如果父章节 chap1 包含子章节 chap2,该子章节包含数量列 amt,则限定名称将为 chap1.chap2.amt。

聚合函数 说明
SUM(chapter-alias.column-name) 计算指定列中所有值的和。
AVG(chapter-alias.column-name) 计算指定列中所有值的平均值。
MAX(chapter-alias.column-name) 计算指定列中的最大值。
MIN(chapter-alias.column-name) 计算指定列中的最小值。
COUNT(chapter-alias[.column-name]) 统计指定别名中的行数。 如果指定了一个列,则计数中只包含该列非 Null 的行。
STDEV(chapter-alias.column-name) 计算指定列中的标准偏差。
ANY(chapter-alias.column-name) 指定列的值。 只有当列的值对于章节中的所有行都相同时,ANY 才具有可预测的值。

注意 如果该列不包含章节中所有行的相同值,则 SHAPE 命令将任意返回一个值作为 ANY 函数的值。
计算表达式 说明
CALC(expression) 计算任意表达式,但仅计算包含 CALC 函数的 Recordset 的行。 允许使用这些 Visual Basic for Applications (VBA) 函数的任何表达式。
NEW 关键字 说明
NEW field-type [(width | scale | precision | error [, scale | error])] 将指定类型的空列添加到 Recordset。

使用 NEW 关键字传递的 field-type 可以是以下任何数据类型。

OLE DB 数据类型 ADO 数据类型等效项
DBTYPE_BSTR adBSTR
DBTYPE_BOOL adBoolean
DBTYPE_DECIMAL adDecimal
DBTYPE_UI1 adUnsignedTinyInt
DBTYPE_I1 adTinyInt
DBTYPE_UI2 adUnsignedSmallInt
DBTYPE_UI4 adUnsignedInt
DBTYPE_I8 adBigInt
DBTYPE_UI8 adUnsignedBigInt
DBTYPE_GUID adGuid
DBTYPE_BYTES adBinary、AdVarBinary、adLongVarBinary
DBTYPE_STR adChar、adVarChar、adLongVarChar
DBTYPE_WSTR adWChar、adVarWChar、adLongVarWChar
DBTYPE_NUMERIC adNumeric
DBTYPE_DBDATE adDBDate
DBTYPE_DBTIME adDBTime
DBTYPE_DBTIMESTAMP adDBTimeStamp
DBTYPE_VARNUMERIC adVarNumeric
DBTYPE_FILETIME adFileTime
DBTYPE_ERROR adError

当新字段为十进制类型时(在 OLE DB 中为 DBTYPE_DECIMAL,或者在 ADO 中为 adDecimal),必须指定精度和小数位数值。

另请参阅

数据整理示例
正式 Shape 语法
常用 Shape 命令