集計関数、CALC 関数、NEW キーワード

データ整形では、次の関数がサポートされています。 操作対象の列を含む章に割り当てられる名前は、"チャプターエイリアス" です。

チャプターエイリアスは、"列名" を含む章に続く各章列名で構成され、すべてピリオドで区切って完全修飾できます。 たとえば、親章 chap1 に、金額列 amt を持つ子 chap2 が含まれている場合、修飾名は 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 関数の値である値の 1 つを返します。
計算式 説明
CALC() 任意の式を計算しますが、CALC 関数を含むレコードセットの行に対してのみ計算されます。 これらの Visual Basic for Applications (VBA) 関数を使用するすべての式を使用できます。
NEW キーワード 説明
NEW "フィールド型" [("幅" | "スケール" | "精度" | "エラー" [, "スケール" | "エラー"])] 指定した型の空の列をレコードセットに追加します。

NEW キーワードで渡される "フィールド型" には、次のいずれかのデータ型を指定できます。

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

新しいフィールドが decimal 型 (OLE DB の DBTYPE_DECIMAL、または ADO の adDecimal) の場合は、有効桁数と小数点以下桁数の値を指定する必要があります。

参照

データ シェイプの例
Shape の正式文法
一般的な Shape コマンド