根据我们了解的情况,企业ERP系统中用到的比较频繁的单据之一就是报表。比如每天采购要打印采购明细帐;仓库每天要导出收货或者出货明细;销售每天要打印订单明细等。所以报表的设计在ERP系统开发中占据大半江山。不过在实际工作中也发现,有些开发人员在设计ERP报表时,太过于复杂。
比如企业希望能够出一份报表,报表的内容包括四个部分。一是产品物料用量的用量、辅料的比较小采购量等信息;二是当月辅料的采购量信息(详细的采购订单等资料);三是当月辅料的出库信息(详细的出货记录);四是面料的安全库存信息。然后,根据这些信息计算出当月需要补下的满足安全库存的数量。从这个需求中可以看出,其主要涉及到产品基本资料、采购、仓库等三个模块的内容。这报表从技术上来说,实现的难度并不是很大。
但是从实用性角度考虑,或者从准确性来看,又会有什么结果呢?库管王服装企业ERP系统认为有以下两大方面:
第一、报表越复杂,准确性越难以把握
一般来说,报表越复杂,其准确性越难以把握。其实抛开ERP系统,从统计学的角度,我们也可以得出这个结论。例如,现在有三个抽屉,每个抽屉中都有0-9十个数字。如果现在从每个抽屉中随意抽出一个数字,比较后组成一个三位数。那么比较后有几种结构呢?这是一个排列组合的问题。推荐阅读:企业ERP系统导入的相关问题解析
再回过头来看一下,如果表单有三个模块的数据构成。就好像这三个抽屉。当然其抽屉中的数据远比10个数字要负载的多。我们设想一下,从单个模块来看。可能企业允许的误差率是5%。即100条记录中,允许有5条记录与实际有偏差。现在三部分信息共同组成的一张报表,而且比较后需要根据三部分信息的内容计算出一个值,那么这个出现错误的记录会有多少呢?这又是一个排列组合的问题。如假设每部分信息中,都有5条件有偏差,那么比较后理论上的错误记录是125条。显然这个错误率比较大。同时也可以看出,当涉及到的基础表数量越多,涉及到的模块越多,其比较后结果的准确性就越难以保障。而当数据的准确性不高时,其实用性也就相应的降低。
第二、报表关联越多,其性能也会直线下降
报表越复杂,其涉及到的后台数据库基础表也就越多。虽然多表之间的关联查询是允许的,但是关联的关键字越多,其查询的效率也就越低。特别是在关联条件中,有时候采用的并不是关键字之间的关联。如有可能日期(字符数据类型的关联)之间的关联,此时查询的效率会更低。再加上比较复杂的Where逻辑判断语句,复杂报表的查询时间会很长。如经过测试,按照上面这个用户的需求,设计出的报表其查询的时间需要近三分钟,而且是已经优化过的查询。另外,这个报表的查询由于涉及到众多的基础表,数据库基本上需要访问硬盘上的数据文件,而不能够使用缓存。这就有可能会导致比较严重的硬盘I/O冲突。从而影响到其它数据的查询效率。
所以企业ERP系统从数据库与应用软件的整体性能考虑,也不建议采用比较复杂的报表视图。毕竟性能降低、查询的时间比较长时,报表的实用性也在降低。相关阅读:企业信息管理系统与大数据时代结合是怎样的?
400-619-9527