报表杂谈

来源:互联网 发布:java合并excel 编辑:程序博客网 时间:2024/04/30 22:27
        首先要明确一个问题:什么是报表。
  凭借经验,我们有理由认为:报表是指定数据以指定运算方法得出结果后,以指定样式在指定纸张(页面)上的特殊表现形式。
  好,问题出来了:报表是为实际业务服务的,而实际业务在各个行业、各个企业、各个不同的应用场景、各个不同的数据消费习惯下,差别之大、之多,用一句冒酸气的话,叫做“数若恒沙”。那么,有没有一种或者几种数学模型,可以普遍地适应如许复杂变化呢?
  答案是:如果仅仅停留在寻找“万能模型”的角度上的话,那么这种万能模型一定是没有的!
  那么,我们能不能换一种方式来解决这个问题呢?我们发现了有这样一种设计思路,即:九大模型组合+柔性化报表加工算法 。以这种独特的思路,适应了千变万化的报表需求。
  那么,这种思路的依据是什么呢?
  从哲学的角度来说,无论事物的表象具有多少变化,核心的东西一定是有规律可循的。在这一点上,国外的先行者们为我们提供了非常好的借鉴思路。在集数学、逻辑学等诸多跨学科领域专家的协同下,目前在业界的学术和应用领域,基本形成了一套相对系统的报表模型理论,即九大报表模型:列表、分组、主从、嵌套、交叉、图形、套打、分栏、填报。这九套模型的组合,基本上已经可以满足各类以分析为目标的报表功能需求了。
  但是,且慢,或许有人会问,既然有了这九套模型,那么这个“柔性化报表算法”又是怎么回事呢?
  大家可能已经注意到,前面我们所说的,是“基本”上满足各类“以分析为目标”的报表功能需求。有两点需要注意的,一个是“基本”,一个是“以分析为目标”。所谓“基本”,就是大致上,差不多的意思,也就意味着“部分缺失”或者“部分欠缺”的意思。而“以分析为目标”,是指报表数据的展现,是以达到数据分析目的为唯一导向,而在样式上没有强制需求的应用场景。换句话说,决策所需要的数据,都统计出来了,看起来也并不费力,所以从功能上说,已经满足最终目的需求了。可是在样式上,很原始要求并不吻合,甚至差别很大。
  于是,柔性化报表算法就有了用武之地。
  什么叫柔性化呢?简单地来说,就是在九套常规模型的基础上,进一步加强对报表页面元素的控制能力,不仅在整体的数据构架上,并且剩入直至报表中的每一个格子、每一根线条、每一个数字、每一种颜色、每一个数据来源的计算方法……,对这些所有的报表最基本组成元素,做最直接的控制,包括创建、修改、编辑、删除,并且这种控制并不局限于报表相关元素被创建输出到屏幕之前,还包括输出之后的二次、三次直至多次根据需求进行调整控制。
  这样,设计者便几乎拥有了对报表从计算到展现的全方位控制能力,也就意味着报表的形式和内容在设计者的控制下,和用户需求都得到了完美的统一。
原创粉丝点击