补上同类数据的汇总信息
例1
有Excel文件book1.xlsx中有下图所示数据:
现在需要把每一组姓名中的 ID 号合并为指定格式,然后将合并值放到 C 列。期望的结果如下:
编写SPL脚本:
A |
|
1 |
=T("e:/work/book1.xlsx").derive(IDs) |
2 |
=A1.group(Name).run(a=~.(ID).concat("|"),~.run(IDs=a)) |
3 |
=T("e:/work/book2.xlsx",A1) |
A1 读出book1.xlsx数据并增加一列IDs
A2 按Name分组后,循环各组,将各组的ID值用|连接拼成串赋给变量a,再循环组内各记录令IDs=a
A3 把A1中的序表保存到文件book2.xlsx
例2
有Excel文件book1.xlsx中有下图所示数据,Employee是员工名字,Shift是上下班标记,Route ID是员工坐的班车号。
现在要统计出员工每天上下班时同班车的人数。结果如下图绿色区所示:
编写SPL脚本:
A |
|
1 |
=T("e:/work/book1.xlsx").derive(Employees) |
2 |
=A1.group('Route ID').run(a=~.count(),~.run(Employees=a)) |
3 |
=A1.group(Employee,Shift) |
4 |
=A3.new(Employee,Shift,"{"/~.(Employees).concat(";")/"}":Clubbing) |
5 |
=T("e:/work/book2.xlsx",A4) |
A1 读出book1.xlsx数据并增加一列Employees
A2 按Route ID分组后,循环各组,计算各组记录数(即同车人数)赋给变量a,再循环组内各记录令Employees=a
A3 再对A1按Employee和Shift分组
A4 用A3中的各组分别new出一条新记录,取出Employee、Shift字段,将组内各记录的Employees用分号连接成串,两边再加上大括号,命名为Clubbing字段。
A5 把A4中的序表保存到文件book2.xlsx
英文已更新