追加和累计到汇总表

 

举例

追加

有每日商品进货发货统计表如下图:

..

另有商品每日进销存汇总表如下:

..

现在需要把一日的进货发货数据追加到汇总表,并计算新的库存:前日库存+进货-发货

编写SPL脚本:


A

1

=T("e:/work/20200803.xlsx").derive(Inventory)

2

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

3

=A1.run(Inventory=A2.select@z1(Goods==A1.Goods).Inventory+Purchase-Delivery)

4

=file("e:/work/total.xlsx").xlsexport@a(A3)

A1   读出需追加汇总的当日数据并新增一列Inventory

A2   读出汇总表数据

A3   循环A1中每一行,令Inventory的值为汇总表中最后一条当前商品的Inventory加上当前的Purchase再减去当前的Delivery。选项@z1表示从后向前选择第1条满足条件的记录

A4   A3中的结果追加保存到文件total.xlsx,选项@a表示追加数据

 

累计

有销售人员每日销售额统计表,表中有一列是当月销售额统计,如下图所示是81日的表,月销售额已填:

..

下图所示是82日的表,只有当日销售额。本月其它表格均与此类似。

..

现在需要把各日表中的月销售额都填写完整。

编写SPL脚本:


A

B

1

=directory@p("e:/sales/*.xlsx").sort()

2

=A1.(T(~))


3

for   A2.to(2,)

=A3.run('Month sales'='Day sales'+A2(#A3).select@1(Name==A3.Name). 'Month sales')

4

=A2.run(T(A1(#),~))

A1   列出本月每日销售统计表文件并排序,选项@p表示列出文件全路径

A2   循环读出A1中所有的统计表数据为序表

A3   从第2日统计表开始循环

B3   循环当前统计表的每条记录,令月销售额为日销售额加上前一日该人员的月销售额

A4   循环A2中的所有计算后的统计表,保存到A1中相应序号的文件名中