3.27 序列的聚合运算:交集

 

对序列构成的序列聚合计算交列。
根据销售数据表,统计 2014 年每个月销售金额均在前 20 名的客户名称。

OrderID Customer SellerId OrderDate Amount
10400 EASTC 1 2014/01/01 3063.0
10401 HANAR 1 2014/01/01 3868.6
10402 ERNSH 8 2014/01/02 2713.5
10403 ERNSH 4 2014/01/03 1005.9
10404 MAGAA 2 2014/01/03 1675.0

脚本:

A
1 =connect(“db”).query@x(“select * from sales”)
2 =A1.select(year(OrderDate)==2014)
3 =A2.group(month(OrderDate))
4 =A3.(~.group(Customer))
5 =A4.(~.top(-20;sum(Amount)))
6 =A5.(~.(Customer))
7 =A6.isect()

A1 连接数据源,读取销售表
A2 选出 2014 年数据
A3 使用 group 函数,将 2014 年的数据按照月份分组
A4 分组后的成员按照客户分组
A5 循环每个月的数据,计算每月销售额前 20 的客户
A6 列出每个月销售额前 20 名的客户名称
A7 使用 isect() 函数计算所有组之间的交集

运行结果:

Member
HANAR
SAVEA