|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
自定义报表使用技巧总结
对于一标准版软件而言,更多地关注客户的共性,因而在某种程度上而言,不能满足客户的个性需求。而自定义报表在正是解决这一矛盾的有力工具。
本人在上期实施过程中,通过对自定义报变进行了深入详尽的学习,基本上能满足离散性机加工行业繁琐的日常报表需求,为项目的顺利验收作出一定贡献。
以下为本人的少许经验:
1. 数据量少且前台有表采用自定义报表中自带的设计模板:
自定义报表制作模板类似于ms-sql的视图管理,是通过在自定义报表模板中的拖拽很容易得到脚本,但是自定义报表也存在模板修改困难,并且自定义报表模板中字段不全,因而实际操控性能并不强。据我分析自定义报表实际就是ms-sql的外层执行程序,是将sql执行的结果以表格的形式表现出来。经尝试发现U8系列自定义报表可以直接执行sql语句。这样做好处很多,既可以使得自定义报表可以和sql中所使用的库完全无缝连接,也可以跨库查询,甚至跨实例查询,极大的增强了自定义报表的扩展能力。
2.对于进行时间筛选的表应注意数据范围。
自定义报表条件查询实际是将临时表中的内容做where查询,因此当涉及大量起初期末以及每一时点值得时候,必须将有关该表前后的所有内容全部查出,然后在做查询。当然,这样做的数据量会很大,当服务器速度慢或者关联表过多已近表间逻辑较为复杂的情况下会造成报表反映迟钝的问题。
3.不要将大量的脚本写入自定义报表中。
当自定义报表中sql脚本最外层有大量函数或者内部有大量数据类型间转换的情况下,自定义报表的查询条件经常设置后会发生错误。因此最好将sql脚本生成视图,然后再在自定义报表中直接调用视图。这样做条件查询一般不会发生错误。
4.脚本书写过程中应多用视图。
由于ms-sql自身的原因,在多表union或者union all的情况下,会发生数据冗余,造成报表数据错误。用多视图关联的方法,可以很好解决此种矛盾。此外,由于脚本要经常修改,当采用将所有脚本写入同一脚本中后会发生修改困难的情况,往往一处修改要造成整表修改。而采用视图间多视图关联的方法可以使程序模块化,当发生某一处数据错误的时候,仅仅需要修改该模块就可以,方便修改。当然由于多视图间关联系统会自动进行脚本重新编译,因而效率会略有降低,但是一般情况下都可忍受。
5.对数据量大,逻辑复杂的脚本可以设立作业。
企业中经常有一些不需要适时数据、 使用频率低但重要程度高的汇总表(例如投入产出表),当数据量的时仅仅执行脚本就需要数个小时,并且影响整个erp系统的执行效率。此时就不应该在自定义报表中直接运行该脚本,而应当将该脚本写成存储过程格式,然后再ms-sql中直接设置作业及作业时间,使得该脚本在系统空闲时间计算,并将该表示算结果写入数据库表中,然后用自定义报表直接读取该表数据,速度奇快。
当然,这样做也存在一定问题,就是不能实时得到精准数据。但是当客户系统管理员素质较高的情况下,如果迫切需要该表的实时数据情况下,可以让其在sql查询分析其中直接执行该存储过程。
总之,以上为本人在适应自定义报表中的一点经验。当然也希望自定义报表能够做的更加完善。 |
|