Afficher : Delphi C++
Préférences d'affichage

Agrégats de groupes d'enregistrements

De RAD Studio

Remonter à Utilisation d'ensembles de données client - Index

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



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)';
 Agg.IndexName := 'SalesCust';
 Agg.GroupingLevel := 1;
 Agg.AggregateName := 'Total for Rep';



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



Pour ajouter un agrégat qui synthétise chaque client pour un représentant donné, créez un agrégat maintenu de niveau 2.

Les agrégats maintenus qui synthétisent un groupe d'enregistrements sont associés à un index spécifique. La propriété Aggregates peut inclure des agrégats qui utilisent des index différents. Toutefois, seuls les agrégats qui synthétisent la totalité de l'ensemble de données client et ceux qui utilisent l'index en cours sont valides. La modification de l'index en cours détermine les agrégats valides. Pour déterminer les agrégats valides à un moment donné, utilisez la propriété ActiveAggs.

Voir aussi

Autres langues