Aggregate definieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Gewartete Aggregate verwenden


Mithilfe der Eigenschaft Aggregates legen Sie fest, dass in einer Client-Datenmenge Zusammenfassungen über die Datensätze berechnet werden sollen. Aggregates ist eine Auflistung von Aggregatdefinitionen (Datasnap.DBClient.TAggregate). Mithilfe des Editors für die Auflistung können Sie Ihrer Client-Datenmenge zur Entwurfszeit Aggregatdefinitionen hinzufügen oder zur Laufzeit dafür die Methode Add von Aggregates ausführen. Wenn Sie Feldkomponenten für die Aggregate erstellen wollen, erzeugen Sie im Felder-Editor persistente Felder für die zusammengefassten Werte.

Anmerkung:  Beim Erstellen von Zusammenfassungsfeldern werden die entsprechenden Aggregatobjekte automatisch der Eigenschaft Aggregates der Client-Datenmenge hinzugefügt. Fügen Sie sie nicht explizit hinzu, wenn Sie zusammengefasste persistente Felder erstellen.

Für jedes Aggregat gibt die Eigenschaft Expression die Art der Zusammenfassung an, die sie darstellt. Expression kann einfache zusammenfassende Ausdrücke enthalten, beispielsweise:

Sum(Field1)

Es sind aber auch komplexe Ausdrücke möglich, die Informationen aus mehreren Feldern zusammenfassen, wie etwa:

Sum(Qty * Price) - Sum(AmountPaid)

Aggregatfunktionen enthalten einen oder mehrere der in der folgenden Tabelle aufgeführten Zusammenfassungoperatoren.

Zusammenfassungsoperatoren für gewartete Aggregate :



Operator Verwendung

Sum

Berechnet die Gesamtsumme für ein numerisches Feld oder einen numerischen Ausdruck.

Avg

Berechnet den Mittelwert eines numerischen oder Datums-/Zeitfeldes bzw. -ausdrucks.

Count

Berechnet die Anzahl der nichtleeren Werte für ein Feld oder einen Ausdruck.

Min

Gibt den kleinsten zulässigen Wert für ein String-Feld, ein numerisches Feld oder ein TDateTime-Feld bzw. für einen entsprechenden Ausdruck an.

Max

Gibt den größten zulässigen Wert für ein String-Feld, ein numerisches Feld oder ein TDateTime-Feld bzw. für einen entsprechenden Ausdruck an.



Bei der Verwendung von Zusammenfassungsoperatoren für Feldwerte bzw. Ausdrücke, die auf Feldwerten basieren, werden die gleichen Operatoren wie bei der Erstellung von Filtern benutzt. Die Verschachtelung von Zusammenfassungsoperatoren ist jedoch nicht möglich. Mit Hilfe dieser Operatoren können Ausdrücke gebildet werden, die Zusammenfassungswerte mit anderen Zusammenfassungswerten oder mit Konstanten kombinieren. Die Kombination von Zusammenfassungswerten und Feldwerten ist aber nicht zulässig, da keine exakte Zuordnung möglich ist (es kann nicht angegeben werden, aus welchem Datensatz der Wert stammen soll). Die folgenden Beispielausdrücke verdeutlichen diese Regeln:



Sum(Anzahl * Preis)
{legal -- Zusammenfassung eines Ausdrucks mit Feldern }
Max(Feld1) - Max(Feld2)
{legal -- Ausdruck mit Zusammenfassungen }
Avg(Rabattstufe) * 100
{legal -- Ausdruck mit Zusammenfassung und Konstante }
Min(Sum(Feld1))
{illegal -- verschachtelte Zusammenfassungen }
Count(Feld1) - Feld2
{illegal -- Ausdruck mit Zusammenfassung und Feld }



Siehe auch