3上一篇 2011年5月27日  新闻热线 010-63744178 放大 缩小 默认  
返回版面  
  版面导航

大道至简 三招设计复杂ERP报表


  有一次,一家企业提出了如下需求:他们希望能够出一份报表,报表的内容包括4个部分。一是成品零件的用量、零件的最小采购量等信息;二是当月零件的采购量信息;三是当月零件的出库信息;四是零件的安全库存信息。然后,根据这些信息计算出当月需要补下的满足安全库存的数量。从这个需求中可以看出,其主要设计到产品基本资料、采购、仓库等3个模块的内容。这么复杂的报表,从技术上来说,实现的难度并不是很大,但从准确性来看并不容易。

  为此笔者根据自己的项目经验,提出了以下几个建议。

  一是可以使用固化视图来改善数据库的性能。复杂报表所导致的不利影响,其首当其冲的是报表查询时速度会很慢,性能很低。为此在涉及到复杂报表时,开发人员可以考虑采用固化视图来改善数据库的性能。不过需要注意的是,物化视图也会带来一些负面影响。如物化视图的数据会保存在硬盘中,为此就会占用额外的存储空间等。

  二是复杂的报表当设计到多表时,最好采用模块化的设计。如上面这个案例,至少可以将其分为四层。最基层是基本数据表,第二层是零件出库信息、当月采购信息等数据,第三层是根据第二层的数据进行计算分析;第三层视图再将这些视图进行连接。这么操作的话,方便后续的维护与查询。同时也可以提高查询的速度。为什么这么说呢?如在第二层视图设计中,可以对基础表的数据进行过滤。此时由于基础数据少,那么后续的报表查询速度也会加快。为此对于比较复杂报表的设计,要考虑分层设计的思路。以提高报表的查询性能与灵活性。

  三是要考虑数据核对的需要。比较复杂的报表,其可能会涉及到多个不同的部门。笔者认为,可以将这些视图分模块化设计。如将涉及到不同的部门的信息先设计成不同的报表。在某个特定的时刻,如月末,先让各个部门的人员核对相关的数据。核对完成没有错误之后,再对相关的数据进行运算。而不是一开始就将所有数据在一张报表上显示。这会导致各个部门数据核对的麻烦,即各个部门不利于核对与自己相关的数据。 (李倩)

3上一篇


报社简介 - 广告服务订阅报纸 - 记者查询 - 记者站联系方式
中华合作时报、中国合作经济、中国农资的电子版内容版权归中华合作时报社所有 转载请联系本网站管理员并注明出处
特别声明:本站若有侵害其他单位与个人权益的文章或内容,请尽快告知本站管理员,将立即删除
电话:010-63703494 传真:010-63702680 电子邮件:web@zh-hz.cn
京ICP备05031563号