可能提前终止的累计
举例
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 选出迭代处理后的A1中Quantity>0的记录
A4 把A3保存到kucun1.xlsx中
英文已更新