blob: 1b01e10e3589f32ca35ee61920436e11d84371d8 [file] [log] [blame]
DataverseUse events
TypeDecl AddressType [
closed RecordType {
street : string,
city : string,
zip : string
}
]
TypeDecl EventType [
closed RecordType {
name : string,
location : AddressType?,
organizers : UnorderedList < open RecordType {
name : string,
role : string
}
>
,
sponsoring_sigs : OrderedList [ open RecordType {
sig_name : string,
chapter_name : string
}
]
,
interest_keywords : UnorderedList <string>
,
price : double?,
start_time : datetime,
end_time : datetime
}
]
DatasetDecl Event(EventType) partitioned by [[name]]
WriteOutputTo asterix_nc1:/tmp/q2.adm
Query:
SELECT ELEMENT [
RecordConstructor [
(
LiteralExpr [STRING] [sig_name]
:
Variable [ Name=$sig_name ]
)
(
LiteralExpr [STRING] [total_count]
:
Variable [ Name=$sig_sponsorship_count ]
)
(
LiteralExpr [STRING] [chapter_breakdown]
:
Variable [ Name=$by_chapter ]
)
]
]
FROM [ FunctionCall Metadata.dataset@1[
LiteralExpr [STRING] [Event]
]
AS Variable [ Name=$event ]
,
FieldAccessor [
Variable [ Name=$event ]
Field=sponsoring_sigs
]
AS Variable [ Name=$sponsor ]
]
Let Variable [ Name=$es ]
:=
RecordConstructor [
(
LiteralExpr [STRING] [event]
:
Variable [ Name=$event ]
)
(
LiteralExpr [STRING] [sponsor]
:
Variable [ Name=$sponsor ]
)
]
Groupby
Variable [ Name=$sig_name ]
:=
FieldAccessor [
Variable [ Name=$sponsor ]
Field=sig_name
]
GROUP AS Variable [ Name=#1 ]
(
event:=Variable [ Name=$event ]
sponsor:=Variable [ Name=$sponsor ]
)
Let Variable [ Name=$sig_sponsorship_count ]
:=
FunctionCall events.sql-count@1[
(
SELECT ELEMENT [
FunctionCall Metadata.dataset@1[
LiteralExpr [STRING] [es]
]
]
FROM [ Variable [ Name=#1 ]
AS Variable [ Name=#2 ]
]
)
]
Let Variable [ Name=$by_chapter ]
:=
(
SELECT ELEMENT [
RecordConstructor [
(
LiteralExpr [STRING] [chapter_name]
:
Variable [ Name=$chapter_name ]
)
(
LiteralExpr [STRING] [escount]
:
FunctionCall events.sql-count@1[
(
SELECT ELEMENT [
FieldAccessor [
Variable [ Name=#4 ]
Field=e
]
]
FROM [ Variable [ Name=#3 ]
AS Variable [ Name=#4 ]
]
)
]
)
]
]
FROM [ FunctionCall Metadata.dataset@1[
LiteralExpr [STRING] [es]
]
AS Variable [ Name=$e ]
]
Groupby
Variable [ Name=$chapter_name ]
:=
FieldAccessor [
FieldAccessor [
Variable [ Name=$e ]
Field=sponsor
]
Field=chapter_name
]
GROUP AS Variable [ Name=#3 ]
(
e:=Variable [ Name=$e ]
)
)
Orderby
Variable [ Name=$sig_sponsorship_count ]
DESC
Limit
LiteralExpr [LONG] [5]