レコード グループを集計する

提供: RAD Studio
移動先: 案内検索

維持管理される集計の使用 への移動


デフォルトでは、保守されている集約は計算され、クライアント データセットにおけるすべてのレコードが集計されます。 ただし、代わりに、グループ内のレコード群を集計するよう指定することもできます。 これにより、共通フィールド値を共有するレコード グループの小計など、中間集計を提供することができます。 あるレコードのグループに対して保守する集約を指定するには、その前に、適切なグループ化をサポートするためのインデックスを使用しなければなりません。

集計の目的に合うようにデータをグループ化するようインデックスが整ったら、集約のプロパティ IndexName および GroupingLevel を指定して、使用するインデックスと、そのインデックスのどのグループまたはサブグループによって集計するレコードを定義するのかを示します。

たとえば、SalesRep によってグループ化され、さらに SalesRep の中で Customer によってグループ化されている、受注テーブルからの一部分を考えてみましょう:

SalesRep Customer OrderNo Amount

1

1

5

100

1

1

2

50

1

2

3

200

1

2

6

75

2

1

1

10

2

3

4

200

次のコードは、各営業担当の総売り上げ金額を示す、保守された集約を設定します。

Delphi:

Agg.Expression := 'Sum(Amount)';
Agg.IndexName := 'SalesCust';
Agg.GroupingLevel := 1;
Agg.AggregateName := 'Total for Rep';

C++:

Agg->Expression = "Sum(Amount)";
Agg->IndexName = "SalesCust";
Agg->GroupingLevel = 1;
Agg->AggregateName = "Total for Rep";

指定された営業担当者の各顧客を集計する、集約を追加するには、保守される集約をレベル 2 で作成します。

レコード グループを集計する保守された集約は、特定のインデックスを関連づけられます。 Aggregates プロパティは、別のインデックスを使用する集約を保持することができます。 しかし、データセット全体を集計する集約と、現在のインデックスを使用する集約のみが有効です。 現在のインデックスを変更すると、どの集約が有効かが変わります。 ある時点でどの集約が有効かを決定するには、ActiveAggs プロパティを使用します。

関連項目

集合体を指定する

集合体の値を取得する