blob: c9e92310abc1351c3c168e807ad3b612685b0720 [file] [log] [blame]
declare function calculate($events){
from $event in $events
from $sponsor in $event.sponsoring_sigs
with $es := { "event": $event, "sponsor": $sponsor }
group by $sig_name := $sponsor.sig_name keeping $es
with $sig_sponsorship_count := count($es)
with $by_chapter :=
from $e in $es
group by $chapter_name := $e.sponsor.chapter_name keeping $es
select { "chapter_name": $chapter_name, "escount" : count($es) }
order by $sig_sponsorship_count desc
limit 5
select { "sig_name": $sig_name, "total_count": $sig_sponsorship_count, "chapter_breakdown": $by_chapter }
}
with $result := calculate(dataset('Events'))
select $result