集計の指定
維持管理される集計の使用 への移動
クライアント データセット内のレコードを集計するように指定するには、Aggregates プロパティを使用します。Aggregates は、集計の仕様(Datasnap.DBClient.TAggregate)のコレクションです。集計の仕様をクライアント データセットに追加するには、設計時にコレクション エディタを使用するか、実行時に Aggregates の Add メソッドを使用します。集計用のフィールド コンポーネントを作成する場合は、フィールド エディタで集計値用の永続フィールドを作成します。
メモ: 集計フィールドを作成すると、適切な集計オブジェクトがクライアント データセットの Aggregates プロパティに自動的に追加されます。永続集計フィールドを作成する際は、それらを明示的に追加しないでください。
各集計の Expression プロパティは、その集計で表される集計計算を示します。Expression には、次のような単純な集計式が格納されることがあります。
Sum(Field1)
あるいは、次のように、いくつかのフィールドの情報を組み合わせる複雑な式のこともあります。
Sum(Qty * Price) - Sum(AmountPaid)
集計式には、次の表に示す集計演算子が 1 つ以上含まれています。
維持管理される集計の集計演算子:
演算子 | 用途 |
---|---|
Sum |
数値フィールドまたは数式の値の合計を計算する |
Avg |
数値または日時を表すフィールドまたは式の平均値を計算する |
Count |
空でない値を持つフィールドまたは式の数を返す |
Min |
文字列、数値、日時のいずれかを表すフィールドまたは式の最小値を示す |
Max |
文字列、数値、日時のいずれかを表すフィールドまたは式の最大値を示す |
集計演算子は、フィールド値または、フィルタの作成に使用されるのと同じ演算子を使ってフィールド値から構成される式に対して作用します。ただし、集計演算子はネストできません。式を作成するには、集計値と他の集計値に対して、または集計値と定数に対して演算子を使用します。ただし、集計値とフィールド値を組み合わせることはできません。そのような式は、フィールド値がどのレコードからのものかを示すものがなく、あいまいだからです。これらの規則を以下の例で説明します。
Sum(Qty * Price) |
{有効 -- 複数のフィールドに関する式の集計 } |
Max(Field1) - Max(Field2) |
{有効 -- 集計に関する式 } |
Avg(DiscountRate) * 100 |
{有効 -- 集計と定数の式 } |
Min(Sum(Field1)) |
{無効 -- ネストした集計 } |
Count(Field1) - Field2 |
{無効 -- 集計とフィールドの式 } |