ORDA offre un’ottima funzionalità per incanalare i dati attraverso i filtri e ottenere valori aggregati, includendo una serie di operazioni di aggregazione facilmente comprensibili che esaminano ed eseguono calcoli sui set di dati. Ad esempio, i metodi sum, average, count, min, e max sono utilizzati per eseguire le operazioni che i loro nomi descrivono!
Sporchiamoci le mani e vediamo come utilizzare questi metodi!
La tabella seguente si chiama Chilometraggio:
Questa tabella è composta da tre campi ID, Data e Miglia, con un record per giorno. Esamineremo cinque numeri interessanti di questa serie di dati:
- Quante date ci sono nella tabella
- Il numero totale di chilometri
- Il numero medio di chilometri al giorno
- L’inizio del periodo nella tabella
- La fine del periodo nella tabella
Contare il numero di date nella tabella
Se si vuole sapere quante date sono presenti, basta contare le righe della tabella. Utilizzare il metodo count() che restituisce il numero di dati non nulli in una determinata colonna:
$count:=ds.Mileage.all().count("Data") // $count=7
Somma di tutti i valori delle Miglia
Per calcolare il numero totale di chilometri, è necessario sommare tutti i dati presenti nella colonna“Miglia“. Utilizzare il metodo sum() che restituisce la somma di tutti i valori di una determinata colonna:
$total:=ds.Mileage.all().sum("Miglia") // $total=3069.7
numero medio di chilometri
Ora dobbiamo trovare la media dei chilometri. Possiamo usare i metodi sum() e count() per calcolarla da soli, ma ORDA ha un metodo apposito: average()
$avg:=ds.Mileage.all().average("Miglia") // $avg=438.528
Inizio e fine di un periodo
Infine, per trovare l’intervallo di date nella tabella, è sufficiente trovare i valori minimo e massimo nella colonna Data . Il modo più semplice è usare i metodi min() e max() :
$dateMin:=ds.Mileage.all().min("Data") // $dateMin=14/03/2018
$dateMax :=ds.Mileage.all().max("Data") // $dateMax=20/03/2018
Altri esempi di metodi aggregati sono disponibili nell’esempio di database.