haas_summary = aq.from(query)
.params({
radioSort: radioSort
})
.groupby("surname")
.rollup({
avg_points: d => op.mean(d.points),
total_points: d => op.sum(d.points),
crash_retirements: d => op.sum(op.includes(["Accident", "Collision", "Collision damage", "Withdrew"], d.status)),
points_finishes: d => op.sum(d.points > 0),
races: d => op.count()
})
.derive({
crashRetirementPercent: d => d.crash_retirements / d.races,
pointsFinishPercent: d => d.points_finishes / d.races,
pointsPerCrashRetirement: d => d.total_points / d.crash_retirements
})
.filter(d => d.races > 20)
.orderby(aq.desc(radioSort))
.select(aq.not("total_points"))