Java报表软件--Style Report 自定义报表设计新思路

让用户自己设计和修订报表的用户自定义报表(又称即席报表)是Java报表软件很多年来所不断追求的一个境界。但在很多尝试之后,我们可以说离用户自定义报表还有很大的距离。现有的解决方案大致可以归为两类。

  • 第一种是把桌面报表设计界面搬到浏览器上。
  • 第二种是提供一个简单的Wizard界面,让用户可以在不需要培训的情况下,可以自己做一些设计。




把桌面设计界面直接搬到网上基本上是把技术的和应用混淆了。这类型里最具代表的厂家当属Cognos和它的ReportNet。ReportNet应该是最早应用AJAX技术在浏览器里全面实现报表设计界面的报表产品。从技术的角度,ReportNet的实现方式在2004年可以算是当之无愧的技术领先者。但这并不表示用了最新的技术就解决了用户的问题。

其实用户是否需要安装一个软件,只是自定义报表的很多因素中的一个。在让用户可以任何时间都使用报表设计界面的基础上,这个软件还必须带来一个既易用又强大的工具。如果我们把一个给开发人员使用的工具交给终端用户,得到的结果只能是一群迷茫的用户。这往往还要改变工具的使用模式。

而提供一个简单Wizard的方式往往太过限制。报表Wizard通常提供了一些基本的功能,比如数据选择,排序,过滤,汇总等。虽然这些功能听起来很多,但除了一些最简单的报表,用户基本上不能做出太多的东西。在实际操作中,Wizard大概只能满足不到30%的客户需求。

Java报表软件厂家在追逐了用户自定义报表(即席报表)很多年以后,一直没有找到一个可行的解决方案。可以说现在已经是要换一个新的思路的时候了。

从根本上解决用户自定义报表问题,我们必须要解决数据的提取和处理,同时需要简化报表的排列。

简化数据的处理是一个很困难的任务。绝大多数用户并没有数据库的经验。要让他们掌握数据的提取,必须给他们提供一个十分所得及所见的环境。而大多数报表的软件往往把数据的功能限制在过滤,分组,和汇总的层面上,极大地限制了工具的灵活性。

要克服这些缺点,Java报表软件必须摆脱传统的数据处理的模型。不止是提供一个可以提取回显示数据的功能,同时应用可视化的功能,让用户可以更加直观的和数据互动。通过直观的数据的显示和在图表上数据的操作,用户可以在不用学习数据结构的前提下直接对数据进行提前和处理。

下面是一个典型的数据发布图。

 


如果用户想要得到销售数量大而又打折很低的产品,只需要在图表上选择左上角的点。

 

然后通过显示细节数据的功能来取出相应的数据。
 
      当然这只是通过可视化进行数据提取的形式之一。当一个Java报表工具提供了丰富的可视化互动功能时,用户可以几乎是无限制地对数据进行多样的操作。完全不需要被数据库的技术所限制。

      和此相辅相成的是对数据的呈现。数据可视化工具通常提供了一个让用户随心所欲的排列信息的功能。因为用户不需要关注最后数据的排版,界面的设计得到了极大的简化。比如在我们需要显示一个交叉表时,传统的Java报表软件要求用户考虑到数据的扩展和的排版。而在一个互动的界面里,数据的扩展完全可以通过滚动条来控制。

 

       有些读者可能会想,在电脑界面上使用滚动条固然好,但当要把结果输出到打印时,用户是否还是要对格式做一些指定。否则结果还是不能满足使用的需求。这里有一定的道理。具体的使用就要看这个Java报表软件是否有足够的功能来自动地处理信息的扩展和排列。

       在大部分的情况下,软件有足够的信息自动的扩展和调整内容的位置,从而达到一个让大部分用户可以接受的结果。

 


在自动排版不能达到最理想效果的情况下,可视化软件必须提供一个让用户自己安排内容的途径。一种可行的方式是自动把可视化界面转化成用户可以更多控制的报表的格式。当然,这种解决方案需要相应的软件同时支持可视化和报表的功能。

在今天高度信息化的环境里,电脑界面应该是一个主流的浏览和操作数据的途径。当然打印的输出也不能忽视。所以,通过可视化界面解决及时报表的方式,需要在这两方面都有一个完整的解决方案。这样,用户既可以很简易地生成自己需要的信息,又有足够的控制来生成最后的结果。

 

你可能感兴趣的:(java报表,java报表软件,报表设计,自定义报表,即席报表)