可能提前终止的累计

 

举例

Excel文件kucun.xlsx中有下图所示的数据,4列分别是商品编码、商品地点编号、库存仓库编号、库存数量,文件中只有一种商品的库存数据。

..

现在已知今天卖出此种商品数量50,请计算新的库存数据。按照表中的顺序,依次清除库存数量,累计清除50为止,最后只保留库存数量大于0的记录。

编写SPL脚本:


A

1

=T("E:/kucun/kucun.xlsx")

2

=A1.iterate((a=min(Quantity,~~),Quantity-=a,~~-a),50,~~==0))

3

=A1.select(Quantity>0)

4

=T("E:/kucun/kucun1.xlsx",A3)

A1   读取kucun.xlsx文件数据

A2   进行iterate循环迭代处理,循环中~~代表上次迭代运行的结果,它的初始值设为50。取当前记录的Quantity~~的最小值赋给变量a,将当前记录的数量减去a,用~~-a作为本次迭代的结果;当迭代结果~~0时,结束迭代。

A3   选出迭代处理后的A1Quantity>0的记录

A4   A3保存到kucun1.xlsx