Spécification d'agrégats

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des agrégats maintenus


Pour spécifier que vous voulez opérer des calculs synthétiques à partir des enregistrements d'un ensemble de données client, utilisez la propriété Aggregates. Aggregates est un ensemble de spécifications d'agrégat (Datasnap.DBClient.TAggregate). Vous pouvez ajouter des spécifications d'agrégat à votre ensemble de données client à l'aide de l'éditeur de collection lors de la conception ou en utilisant la méthode Add de Aggregates lors de l'exécution. Si vous souhaitez créer des composants champ pour les agrégats, créez des champs persistants pour les valeurs synthétisées dans l'éditeur de champs.

Remarque :  Lorsque vous créez des champs synthétisés, les objets agrégat appropriés sont automatiquement ajoutés à la propriété Aggregates de l'ensemble de données client. Ne les ajoutez pas de façon explicite lors de la création des champs persistants synthétisés.

Pour chaque agrégat, la propriété Expression indique le calcul synthétique qu'elle représente. Expression peut contenir une simple expression synthétique telle que

Sum(Champ1)

ou une expression complexe qui combine les informations de plusieurs champs, telle que

Sum(Qty * Price) - Sum(AmountPaid)

Les expressions d'agrégat incluent un ou plusieurs opérateurs de synthèse du tableau suivant :

Opérateurs de synthèse pour les agrégats maintenus :



Opérateur Utilisation

Sum

Somme des valeurs d'un champ numérique ou d'une expression

Avg

Valeur moyenne d'un champ numérique ou date/heure ou d'une expression

Count

Spécifie le nombre de valeurs exprimées pour un champ ou pour une expression

Min

Valeur minimale d'un champ chaîne, numérique ou date/heure ou d'une expression

Max

Valeur maximale d'un champ chaîne, numérique ou date/heure ou d'une expression



Les opérateurs de synthèse portent sur des valeurs de champ ou sur des expressions conçues à partir de valeurs de champ à l'aide des mêmes opérateurs que ceux utilisés pour la création de filtres. Vous ne pouvez pas, toutefois, imbriquer des opérateurs de synthèse. Vous pouvez créer des expressions avec des opérateurs à partir de valeurs synthétisées, ou de valeurs synthétisées et de constantes. Toutefois, vous ne pouvez pas combiner des valeurs synthétisées et des valeurs de champ, car de telles expressions sont ambiguës (rien n'indique quel enregistrement doit fournir la valeur de champ). Ces règles sont illustrées dans les expressions suivantes :



Sum(Qty * Price)
{valide -- récapitulatif d'une expression sur des champs }
Max(Champ1) - Max(Champ2)
{valide -- expression sur des récapitulatifs }
Avg(DiscountRate) * 100
{ valide -- expression de récapitulatif et constante }
Min(Sum(Champ1))
{ incorrect -- récapitulatifs imbriqués }
Count(Champ1) - Champ2
{ incorrect -- expression de récapitulatif et champ }



Voir aussi