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 |