3.23 多个序表按主键归并计算合集

 

在结构相同的多个表中,根据主键将其中的记录有序归并。
根据 6 月 1 日至 20 日期间的体温情况记录,查找曾经连续发烧 3 日或以上的同学名单。

StudentID Name Fever
10 Ryan 0
5 Ashley 0
13 Daniel 1
19 Samantha 0
1 Rebecca 0

脚本:

A
1 =to(601, 620)
2 =A1.(T(string(~)+“.xlsx”))
3 =A2.(~.keys(StudentID).sort(StudentID))
4 =A3.merge()
5 =A4.group@o(StudentID,Fever)
6 =A5.select(~.Fever==1 && ~.len()>=3).id(Name)

A1 创建表名序列
A2 循环导入 6 月 1 日到 20 日的文件
A3 设置学生 ID 为主键,并按学生 ID 排序
A4 使用 merge 函数有序归并比对主键。
A5 使用 group 函数的 o 选项,字段值发生变化时分到新组
A6 选出连续发烧 3 天的学生姓名

运行结果:

Name
Ashley
Rachel