3.18 同序集合按原序归并计算合集

 

在结构相同的两个表中,根据多个字段将其中的记录有序归并。
数学和英语成绩分别存储在两个文件中,统计每位学生的总分。

数学:

CLASS STUDENTID SUBJECT SCORE
1 1 Math 77
1 2 Math 80

英语:

CLASS STUDENTID SUBJECT SCORE
1 1 English 84
1 2 English 81

脚本:

A
1 =T(“Math.xlsx”)
2 =T(“English.xlsx”)
3 =A1.sort(CLASS,STUDENTID)
4 =A2.sort(CLASS,STUDENTID)
5 =[A3,A4].merge(CLASS,STUDENTID)
6 =A5.groups@o(CLASS,STUDENTID; ~.sum(SCORE):TOTALSCORE)

A1 读取数学成绩表
A2 读取英语成绩表
A3 数学成绩表按班级和学生排序
A4 英语成绩表按班级和学生排序
A5 使用 merge 函数,按班级和学生字段有序归并
A6 使用 groups 函数的 @o 选项,相邻值变化时重新分组。并统计每个学生的总分。

运行结果:

CLASS STUDENTID TOTALSCORE
1 1 161
1 2 161
1 3 159