blob: 6b0364c7c9e865e347f95ec4dfe92202e19a3158 [file] [log] [blame]
Ian Maxon857dc132015-09-25 17:13:19 -07001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
buyingyi2fd7fa62014-11-24 19:31:55 -080019declare function calculate($events){
20from $event in $events
21from $sponsor in $event.sponsoring_sigs
22with $es := { "event": $event, "sponsor": $sponsor }
buyingyi3ca46d02015-01-27 23:22:09 -080023group by $sig_name := $sponsor.sig_name keeping $es
buyingyi2fd7fa62014-11-24 19:31:55 -080024with $sig_sponsorship_count := count($es)
25with $by_chapter :=
26 from $e in $es
buyingyi3ca46d02015-01-27 23:22:09 -080027 group by $chapter_name := $e.sponsor.chapter_name keeping $es
buyingyi2fd7fa62014-11-24 19:31:55 -080028 select { "chapter_name": $chapter_name, "escount" : count($es) }
29order by $sig_sponsorship_count desc
30limit 5
31select { "sig_name": $sig_name, "total_count": $sig_sponsorship_count, "chapter_breakdown": $by_chapter }
32}
33
34with $result := calculate(dataset('Events'))
Ian Maxon857dc132015-09-25 17:13:19 -070035select $result