Agrégats de groupes d'enregistrements

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des agrégats maintenus


Par défaut, les agrégats maintenus sont calculés afin qu'ils synthétisent tous les enregistrements de l'ensemble de données client. Toutefois, vous pouvez spécifier que l'opération ne porte que sur les enregistrements d'un groupe. Cela vous permet d'obtenir des synthèses intermédiaires, comme des sous-totaux impliquant des groupes d'enregistrements ayant une valeur de champ commune. Pour spécifier un agrégat maintenu sur un groupe d'enregistrements, vous devez disposer d'un index à partir duquel peut s'opérer le regroupement.

Une fois que vous disposez d'un index qui regroupe les données en fonction de la synthèse que vous voulez opérer, spécifiez les propriétés IndexName et GroupingLevel d'agrégat pour indiquer l'index à utiliser et le groupe ou sous-groupe de cet index qui définit les enregistrements à synthétiser.

Par exemple, considérons la portion de table de commandes suivante triée par représentants (SalesRep) puis par clients (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";


Le code suivant définit un agrégat maintenu qui indique le montant total des ventes réalisé par chaque représentant :

Agg.Expression := 'Sum(Amount)';

Voir aussi