ORDA fournit une grande fonctionnalité pour canaliser les données à travers des filtres et obtenir des valeurs agrégées, en incluant un ensemble d’opérations d’agrégation facilement compréhensibles qui examinent et effectuent des calculs sur les ensembles de données. Par exemple, les méthodes sum, average, count, min, et max sont utilisées pour effectuer les opérations que leurs noms décrivent !
Mettons les mains à la pâte et voyons comment utiliser ces méthodes !
La table suivante s’appelle Mileage:
Cette table est composée de trois champs ID, Date et Miles, avec un enregistrement par jour. Nous allons examiner cinq chiffres intéressants tirés de cet ensemble de données :
- Le nombre de dates présentes dans la table.
- Le nombre total de kilomètres
- Le nombre moyen de kilomètres par jour
- Le début de la période dans le tableau
- La fin de la période dans le tableau
Comptez le nombre de dates dans le tableau
Si vous voulez savoir combien de dates sont présentes, il vous suffit de compter les lignes de votre tableau. Utilisez la méthode count() qui renvoie le nombre de données non nulles dans une colonne donnée :
$count:=ds.Mileage.all().count("Date") // $count=7
Somme de toutes les valeurs des Miles
Pour calculer le nombre total de kilomètres, vous devez additionner tout ce qui se trouve dans la colonne« Miles« . Utilisez la méthode sum() qui renvoie la somme de toutes les valeurs d’une colonne donnée :
$total:=ds.Mileage.all().sum("Miles") // $total=3069.7
nombre moyen de miles
Maintenant, nous allons trouver la moyenne des miles. Nous pouvons utiliser les méthodes sum() et count() pour la calculer nous-mêmes, mais ORDA a une méthode juste pour cela : average()
$avg:=ds.Mileage.all().average("Miles") // $avg=438.528
Début et fin d’une période
Et enfin, pour trouver la plage de dates dans le tableau, nous devons simplement trouver les valeurs minimum et maximum dans la colonne Date . Le moyen le plus simple est d’utiliser les méthodes min() et max() :
$dateMin:=ds.Mileage.all().min("Date") // $dateMin=14/03/2018
$dateMax :=ds.Mileage.all().max("Date") // $dateMax=20/03/2018
D’autres exemples de méthodes d’agrégation sont disponibles dans l’exemple de base de données.