全文约2000 字;
阅读时间:约6分钟;
听完时间:约12分钟;
通过使用WPS多维表格的“从数据库同步”功能,我们可以有效地实现多维表格与数据库之间的无缝对接,极大地简化了数据处理流程。对于工厂的PMC经理来说,借助这一工具不仅能够提高物料齐套的速度,还能显著增强订单准时交付的能力。
为了实现这一目标,我们将继续完善多维表格中的欠料模型。在完成了表1的生产主计划(MPS)及其对应的表2工单子件用料分析之后,下一步是进行库存数据进行同步。
同步系统库存一般来说,ERP库存报表都标准报表,名称一般是《现存量报表》,同步过来的时候,注意筛选不需要的一些数据,如“不合格仓、待退货仓等”,保证此库存都是可用库存。
操作步骤如下:点击右侧导航栏中的“从其他数据源同步”->“数据库”->选择对应的数据库类型,如MySQL等。在弹出的对话框中,输入相应的“账号名称、地址、端口、用户名和密码”等信息。找到对应的数据库后,点击“导入”。
同步成功后,您会看到多维表格中已自动创建了一个数据表,并且所有字段均已同步。需要注意的是,由于同步的是ERP数据,因此带有闪电标志的同步字段是不可编辑的。此次同步仅保留了最基本的字段“存货编码”和“可用现存量”。实际需要显示的信息可以在数据库中灵活设置。最后,请将此表格的名称更改为“表3:现存量”。
引用MPS日期接下来就是计算欠料了。根据该工厂PMC的需求,需要精确到每日的欠料情况。如果要批量自动计算表1中MPS生产计划的每日欠料,这可能需要使用WPS的JS脚本编程,这对人员的技术要求较高,并且后期维护也需要专业程序员的支持。
为了降低用户的学习和使用成本,我们决定不采用脚本编程的方式来实现每日欠料的计算,而是通过使用辅助数据表或字段,结合函数和多维表格自身的功能来完成。为了实现这一目标,首先需要使MPS中的“排程日期”字段与其他相关数据实现互联互通。
表2的用料分析是一个动态表,它会随着ERP系统的数据更新而自动同步更新。因此,我们需要在表2中新增一个公式字段,并将其命名为“排程日期”。
这里为什么不直接使用系统中的预计开工日期,是因为该日期是在下达生产工单时创建的,通常不够准确。所以我们需要使用表1中用户最新的MPS排程日期作为欠料计算的依据。请录入以下公式:
排程日期:
XLOOKUP([工单],'1.MPS计划'![工单],'1.MPS计划'![排程日期])
公式解释:
此公式使用XLOOKUP函数来查找与表2中的“工单”匹配的表1中MPS计划“工单”,然后返回相应的“排程日期”。这样可以确保每个工单的排程日期是最新的,并且用于后续的欠料计算。
效果如下图所示:
T+1 欠料计算第1步:创建辅助编号
请创建一个新的数据表,并命名为“T+1 欠料”。此表将专门用于计算T日(即今天)+1天的工单欠料情况。在新表中,添加一个辅助字段,设置其属性为文本,并命名为“编号”。在此字段中录入从1到1000的数字(具体数量可根据一天内的工单数量调整,如果数量超过1000,则需要增加编号范围)。
可以通过在传统表格中使用以下函数来生成这些数字:
=SEQUENCE(1000)
此函数的作用是生成从1到1000的连续升序数字。
生成后,将这些数字复制到多维表格的“编号”字段中。
第2步:引用排程日期:
继续创建一个属性为公式的字段,并将其命名为“排程日期”。这是一个辅助字段,主要用于后续筛选函数的条件设置。在该字段中录入以下公式:
=INDEX(UNIQUE('1.MPS计划'![排程日期]),1)
函数解释:
此公式用于提取“1.MPS计划”表中的“排程日期”的唯一值,并选取其中的第一个值。也就是第一天排程的日期“ 2024-08-25”;
第3步:筛选第1天的用料
创建一个属性为公式的字段,并将其命名为“工单”。由于多维表格中无法直接使用筛选函数FILTER,需要配合INDEX函数一起使用,这也是为什么我们在第一步中创建了“编号”字段的原因。请录入以下公式来筛选出第一天排程的工单的子件用料分析:
IFERROR(INDEX(FILTER('2.用料分析'![工单],'2.用料分析'![排程日期 ]=[@排程日期]),[@编号]),"")
公式解释:
此公式使用FILTER函数筛选出“2.用料分析”表中排程日期与当前行的“排程日期”相同的工单。然后使用INDEX函数根据当前行的“编号”来选择特定的工单。如果找不到对应的工单,则返回空字符串。
使用相同的方法将其他字段逐一筛选出来:
产品:
IFERROR(INDEX(FILTER('2.用料分析'![产品],'2.用料分析'![排程日期 ]=[@排程日期]),[@编号]),"")
数量:
IFERROR(INDEX(FILTER('2.用料分析'![数量],'2.用料分析'![排程日期 ]=[@排程日期]),[@编号]),"")
子件:
IFERROR(INDEX(FILTER('2.用料分析'![子件],'2.用料分析'![排程日期 ]=[@排程日期]),[@编号]),"")
未发量
IFERROR(INDEX(FILTER('2.用料分析'![未发量],'2.用料分析'![排程日期 ]=[@排程日期]),[@编号]),"")
在引用完成后,隐藏辅助字段“编号”,同时设置筛选条件,使得字段“工单”的显示条件为不为空。效果如下图所示:
今日技巧总结:通过上述步骤,我们不仅实现了从数据库到多维表格的数据同步,还通过创建辅助字段和运用高级函数,实现了对特定日期欠料情况的精准计算。这种方法不仅提高了数据处理的效率,也增强了数据的准确性。借助WPS多维表格的功能,PMC经理可以更加便捷地管理和分析物料需求,从而更好地控制生产进度,确保订单按时交付。
通过避免复杂的脚本编程,我们简化了欠料计算的过程,降低了维护难度,同时也减少了对专业技术团队的依赖,使得日常操作更加直观和简便。这样的做法不仅适用于当前的业务场景,也为未来的流程优化提供了坚实的基础。