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