blob: 6b0364c7c9e865e347f95ec4dfe92202e19a3158 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
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