TurboPL Referenz

aggregates Kommando

Top  Previous  Next

Syntax

aggregates <Aggregations-Funktion1>, <Aggregations-Funktion2>

Kategorie

Datenbank-Befehl

Erklärung

Das Kommando aggregates aktiviert Aggregationsfunktionen wie Count, Max, Min, Sum, Avg usw. Solange Sie aggregates nicht benutzen, werden bei jeder Schleife über Datensätze im Programm alle Aggregationsfunktionen des ganzen Programms berechnet, gleichgültig, ob die Ergebnisse jemals benötigt werden oder nicht. Dies ist normalerweise kein Problem, bei großen Anwendungen mit sehr vielen Aggregationsfunktionen entstehen dadurch jedoch sehr lange Laufzeiten für LoopRecs, Link, Unterreports und ähnliche Schleifen.

In diesem Fall rufen Sie vor der Schleife das Kommando aggregates auf und geben diejenigen Aggregationsfunktionen an, auf die Sie nach dem Schleifendurchlauf zugreifen wollen. Wenn Sie gar keine Aggregationsfunktionen benötigen, rufen Sie aggregates ohne Argumente auf. Dadurch wird die Schleife teilweise bis zu einhundert mal schneller.

Nach einem Aufruf von aggregates sind alle Aggregationsfunktionen, die nicht als Argumente angegeben waren, deaktiviert. Deshalb müssen Sie dann vor jeder Schleife, bei der Sie anschließend das Ergebnis einer Aggregationsfunktion auswerten wollen, das Kommando aggregates aufrufen.

Beispiel

In diesem Bericht werden all Fahrzeuge und am Schluss die maximale Leistung und der maximale Hubraum ausgegeben. Das aggregates-Kommando bewirkt allerdings, dass nur Max(Leistung) korrekt berechnet wird, Max(Hubraum) wir als 0 ausgedruckt.

.report
.prolog
.primärdatei KFZ
.aggregates Max(Leisung)
.daten
$Leistung, $Hubraum
.epilog
$(Max(Leistung) Max(Hubraum))