产品发展
润乾公司在润乾报表3.x中首次应用了非线性报表模型,并在该版本的实践过程中积累了丰富的工程化经验。在这些基础上开发出的润乾报表5.x,实现了理论模型和工程实践的完美结合,不仅保持原有的开发高效性,运算性能指标也有了大幅度提高,成为一款经典的报表工具软件。
产品在应用过程中不断有新的需求加入,而且在完善过程中也难以对仍在快速积累中的需求进行深入梳理,润乾报表5.x逐步发展成融合了固定报表、自助报表和填写表单这三项主要功能的庞大体系。
随着应用经验的进一步丰富,我们逐渐意识到,报表工具的这三项主要功能虽然看起来有相通性,但本质上,这些功能各自的努力目标、面临的技术难点、合理应用场景等诸多方面都有较大不同。把这些功能继续混在一起,会造成各个功能及其实现技术之间的耦合度过高,相互影响,难以专心地去解决某类特定问题,而且对产品后续的完善维护工作也带来了很大麻烦。
因此,在发展润乾报表下一轮新版本时,我们将这几项功能拆分开,形成了两个独立的软件和一个模块,各自专心解决相应的问题,且可以互相配合工作。
集算报表(超链接)
集算报表定位于固定报表,面向人群是程序员。
所谓固定报表,是指事先开发好,只由参数控制不同形态的报表。这类报表的计算过程和呈现格式都较为复杂,需要有程序设计能力的开发人员来实现,业务人员无法理解报表开发过程中的复杂步骤和数据关系。
固定报表的技术难点主要在于复杂的数据准备和格式呈现两个环节。
润乾公司提出的非线性报表模型,较为彻底地解决了报表格式呈现环节的问题,目前已成为国内报表工具的标准。集算报表继承了这一模型。
在经历了多年潜心研发后,润乾公司发布了功能强大的数据计算引擎——集算器。集算报表集成了集算器(产品也因此得以命名),在用非线性报表模型解决格式呈现难题的十年后,润乾公司再一次对报表工具进行革命,引入集算器解决数据准备难题。
集成集算器后,不仅能够进一步提高报表开发和运算性能,更重要的是能够起到优化报表应用体系结构的作用,降低应用程序与报表模块之间的耦合性、大幅减少数据库中的临时表、实现多数据库并行混合运算等。
超维报表(超链接)
超维报表定位于自助报表,由程序员集成后供业务人员直接使用。
自助报表是指由业务人员临时获取数据后生成报表的过程。由于业务人员的技术局限性,自助报表不会涉及过于复杂的多步骤计算和格式呈现。
自助报表的技术难点与固定报表完全不同。
自助报表的技术本质是数据查询问题,其中关键在于数据关联的解决。数据库中已有的数据,要让业务人员可理解的方式(界面)取出,而有意义的查询常常是有关联的,而业务人员难以理解E-R图及有JOIN的SQL语法,只能实施无关联的查询。
包括润乾报表4.x在内的有自助报表功能的产品都是采用预先建模的手段,将有关联的查询事先做成视图,有新的关联需求时需要技术人员重新建模,这种按需建模的方法事实上无法做到“自助”的效果。
润乾公司在深入研究数据关联运算的内在规律后,提出了以维度为核心 的类SQL查询语法——DQL。DQL采用比SQL更易于理解的方式描述数据关联,基于DQL实现的界面可被业务人员理解后实施复杂的关联查询,相当于允许业务人员临时自建模。这种不依赖于技术人员的非按需建模方式才能达到“自助”报表的效果。
填报表单
填报表单的主要目标在于数据采集,即已有的数据不够完整,还需要相关人员或部门补充录入一部分后才能再进行下一步的统计分析。
支持填写的表格需要增加大量相关的属性,这些属性对于只用于查看的统计报表没有用处;而用于填写的表格一般没有多复杂的计算要求,这却又是统计报表最需要的地方。如果把这两个功能点混合到一个产品中,就容易产生顾此失彼的问题,报表计算时会带着许多无用的填写属性,影响性能,而处理填写问题时又要确保与复杂的计算逻辑不矛盾,降低灵活性。虽然报表和填写都体现在表格上,但事实上是侧重点很不相同的功能。
因此,在新版本中,我们把填报功能单独拆分出来。
填报表单的技术难点除了要能够方便填写之外,更重要的在于能让业务人员自行设计出可结构化的表格以供填写。填写本身的技术在过去填报表的发展过程中已经较为完善;但降低结构化操作的难度一直没有实现。
数据补充采集一般由业务部门主导,而只有结构化后的数据才可以进一步分析处理,但业务人员难以掌握数据结构化的原理和技术,目前只能借助技术部门定制开发,或者采集回一些未结构化的数据后只能简单查看而无法进一步分析统计。
润乾报表5.x对这个目标解决得也不好,虽然提供了灵活的数据源映射机制,但没有降低结构化的理解难度,仍需要程序员才能描述表格数据与结构化存储之间的对应关系。
新的填报表单在保持原有填写技术的同时,着重设计了数据映射关系,只要熟悉Excel的业务用户经过的案例讲解就能够设计出可结构化的表格,采集上来的数据可以直接实施分组汇总、交叉钻取以及绘制图形等分析动作。