报表和数据的关系

报表和数据的关系
 

报表和数据的关系

选择报表工具时,有一大误区,就是不重视报表与数据之间的关系. 

出现这种情况也很正常,我们最早接触的报表,可能就是 MS Access 里面带的报表工具,以及 VB 里面捆绑的 Crystal Report. 这些工具最典型的方法,就是,选择数据库,选择数据集,选择字段,选择条件,选择排序,然后把字段向上摆. 
不光是 Crystal Report 是这样,很多常见的报表工具,不论是国外的"高端"产品,还是现在在 Google 中一搜"报表工具"能见到的一大堆国内的低端产品,基本上也都是这种方式. 

 这种方式不能说没有道理,它的理论是: 

1、一张报表中的数据,基本上是有关系的,因此可以利用关系型数据库的特性,建立一个视图所需要的数据都包括进来。 

2、可以用子报表的方法,将不同的数据分别处理。 

然而,并不是这样简单! 

首先,如果表复杂一点,建立一个复杂的视图绝不是一个很轻松的工作,更不用说除了建立视图的效率,还要考虑数据库与报表的运行效率。

其次,子报表与主报表之间,既有可能在格式上有麻烦(比如表格的对齐),也有可能在计算上有困难(主子报表之间往往只传递参数,无法直接引用数据进行公式计算) 

因此,对报表工具而言,最根本的问题就是如何处理数据,以不同的方法处理数据,开发效率,运行效率可能都会相差十倍以上。而只有数据模型的改良,才是真正关乎报表工具效率的革命。象新一代报表工具如 FineReport,其最根本的优势也在于改进的数据模型与报表模型。

建议大家在选择报表工具时,一定要重视如何提取数据,这直接关系到未来的开发成本,以及生成的报表的可用性(会不会运行半天才能出来一张)。报表的开发成本,不仅仅在于画线、摆位置,更在于把数据表现出来。

<!--[if !supportLineBreakNewLine]--> 

<!--[endif]-->



了解Java报表工具就从这里开始

你可能感兴趣的:(报表和数据的关系)