ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

两个工作表关联后进行累减

2021-11-10 11:04:32  阅读:157  来源: 互联网

标签:累减 xlsx 库存 迭代 关联 工作 A3 kucun 数量


例题描述

Excel文件kucun.xlsx中有下图所示的数据:

..

..

总库存是在仓库里面盘点出来的所有库存,并按地点和库存地点表示存货所在位置,其中委托加工库存是接收的外部公司加工的存货,不属于公司所有。现在要对按总库存表格式,减掉已知的委托加工库存数量,显示属于本公司库存的位置,减去规则如下图所示:

..

最后实际库存结果如下图所示:

..

此题涉及数据表关联(join连接)、分组、组内迭代等知识。

实现步骤

1、  编写脚本:

A
1=file("E:/kucun/kucun.xlsx").xlsimport@t(;"总库存")
2=file("E:/kucun/kucun.xlsx").xlsimport@t(;"委托加工库存").keys(货号)
3=A1.join(商品编码,A2,数量:委托数量)
4=A3.group(商品编码).(~.iterate((a=min(数量,~~),数量-=a,~~-a),委托数量,~~==0))
5=A3.select(数量>0).new(商品编码,地点,库存地点,数量,小类,大类)
6=file("E:/kucun/kucun.xlsx").xlsexport@ta(A5;"实际库存")

A1   读取kucun.xlsx文件中的总库存数据

A2   读取kucun.xlsx文件中的委托加工库存数据,并指定货号为主键

A3   将A1按照商品编码与A2的主键货号进行join连接,并连接A2中的数量列重命名为委托数量

A4   将A3按商品编码进行分组后循环各组,在组内进行iterate循环迭代处理,循环中~~代表上次迭代运行的结果,用委托数量作为~~的初始值。取当前记录的数量与~~的最小值赋给变量a,当前记录的数量减去a,用~~-a作为本次迭代的结果;当迭代结果~~为0时,结束迭代。

A5   选出迭代处理后的A3中数量>0的记录,并取出商品编码,地点,库存地点,数量,小类,大类几列构成新的数据集

A6   把A5导出到kucun.xlsx中的实际库存Sheet,选项@t表示首行输出列标题,a表示追加导出Sheet

2、  运行程序,结束后再打开kucun.xlsx就可以看到实际库存Sheet中的数据。

   

标签:累减,xlsx,库存,迭代,关联,工作,A3,kucun,数量
来源: https://blog.csdn.net/raqsoft/article/details/121244066

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有