A ORDA fornece uma grande funcionalidade para canalizar dados através de filtros e obter valores agregados, ao incluir um conjunto de operações de agregação de fácil compreensão que examinam e efectuam cálculos sobre os conjuntos de dados. Por exemplo, a sum, average, count, mine max são utilizados métodos para realizar as operações que os seus nomes descrevem!
Vamos sujar as nossas mãos e ver como usar estes métodos!
A tabela seguinte chama-se Mileage:
Esta tabela é composta por três campos ID, Data e Milhas, com um registo por dia. Vamos analisar cinco números interessantes a partir deste conjunto de dados:
- Quantas datas estão na tabela
- O número total de milhas
- O número médio de milhas por dia
- O início do período na tabela
- O fim do período na tabela
Contar o número de datas na tabela
Se quiser saber quantas datas estão presentes, basta marcar as linhas na sua mesa. Utilize a tabela de count() método, que devolve o número de dados não nulos numa dada coluna:
$count:=ds.Mileage.all().count("Data") // $count=7
Soma de todos os valores das Milhas
Para calcular o número total de milhas, é necessário somar tudo o que se encontra na coluna“Milhas“. Utilizar o método sum() que devolve a soma de todos os valores de uma dada coluna:
$total:=ds.Mileage.all().sum("Miles") // $total=3069.7
número médio de milhas
Agora vamos encontrar a média das milhas. Poderíamos utilizar o sum() e count() métodos para o calcular nós próprios, mas a ORDA tem um método só para isso: average()
$avg:=ds.Mileage.all().average("Miles") // $avg=438.528
Início e fim de um período
E finalmente, para encontrar o intervalo de datas na tabela, precisamos simplesmente de encontrar os valores mínimo e máximo na coluna Data . A forma mais fácil é utilizar o min() e max() métodos:
$dateMin:=ds.Mileage.all().min("Data") // $dateMin=14/03/2018
$dateMax :=ds.Mileage.all().max("Data") // $dateMax=20/03/2018
Mais exemplos de métodos agregados estão disponíveis no exemplo da base de dados.