同类数据不连续时使用同类相邻行计算

举例

Excel文件book1.xlsx中有一组按地区,产品以及周分类的粮食作物进口数量表,部分数据截图如下:

..

现在需要计算相同地区下同类产品比上周数量增量,并将计算的结果放入 E 列,如下图,相同颜色为相应跨行计算的 Quantity 增量示意图:

..

编写SPL脚本:


A

1

=T("e:/work/book1.xlsx")

2

=A1.group(Product,Region)

3

=A2.run(~.run(#5=if(#>1,Quantity-Quantity[-1])))

4

=T("e:/work/book2.xlsx",A1)

A1   读入文件book1.xlsx中数据

A2   ProductRegion分组

A3   循环各组,组内再循环各条记录,如果记录在组内的序号#大于1,则计算第5列的值为当前记录的Quantity减去上一条记录的Quantity

A4   A1的结果保存到文件book2.xlsx