补上同类数据的汇总信息

 

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   再对A1EmployeeShift分组

A4   A3中的各组分别new出一条新记录,取出EmployeeShift字段,将组内各记录的Employees用分号连接成串,两边再加上大括号,命名为Clubbing字段。

A5   A4中的序表保存到文件book2.xlsx