ORDA bietet eine großartige Funktion, um Daten durch Filter zu leiten und aggregierte Werte zu erhalten, indem es eine Reihe von leicht verständlichen Aggregationsoperationen enthält, die die Datensätze untersuchen und Berechnungen mit ihnen durchführen. Zum Beispiel können die sum, average, count, min, und max verwendet, um die Operationen durchzuführen, die ihre Namen beschreiben!
Machen wir uns die Hände schmutzig und sehen wir uns an, wie man diese Methoden anwendet!
Die folgende Tabelle heißt Kilometerstand:
Diese Tabelle besteht aus den drei Feldern ID, Datum und Kilometerstand, mit einem Datensatz pro Tag. Wir werden uns nun fünf interessante Zahlen aus diesem Datensatz ansehen:
- Wie viele Daten sind in der Tabelle enthalten?
- Die Gesamtzahl der Kilometer
- Die durchschnittliche Anzahl der Kilometer pro Tag
- Der Beginn des Zeitraums in der Tabelle
- Das Ende des Zeitraums in der Tabelle
Zählen Sie die Anzahl der Daten in der Tabelle
Wenn Sie wissen wollen, wie viele Daten vorhanden sind, brauchen Sie nur die Zeilen in Ihrer Tabelle zu zählen. Verwenden Sie die count() Methode, die die Anzahl der ungültigen Daten in einer bestimmten Spalte zurückgibt:
$count:=ds.Mileage.all().count("Datum") // $count=7
Summe aller Miles-Werte
Um die Gesamtzahl der Kilometer zu berechnen, müssen Sie alles in der Spalte„Kilometer“ zusammenzählen. Verwenden Sie die sum() Methode, die die Summe aller Werte in einer bestimmten Spalte zurückgibt:
$total:=ds.Mileage.all().sum("Meilen") // $total=3069.7
durchschnittliche Anzahl der Meilen
Jetzt müssen wir den Mittelwert der Meilen ermitteln. Dazu können wir die Methoden sum() und count() verwenden, um ihn selbst zu berechnen, aber ORDA verfügt über eine eigene Methode für diesen Zweck: average()
$avg:=ds.Mileage.all().average("Miles") // $avg=438.528
Beginn und Ende eines Zeitraums
Um schließlich den Datumsbereich in der Tabelle zu ermitteln, müssen wir einfach den Mindest- und den Höchstwert in der Spalte Datum finden. Der einfachste Weg ist die Verwendung der min() und max() Methoden:
$dateMin:=ds.Mileage.all().min("Datum") // $dateMin=14/03/2018
$dateMax :=ds.Mileage.all().max("Datum") // $dateMax=20/03/2018
Weitere Beispiele für Aggregatmethoden sind im Datenbankbeispiel zu finden.