Archive for 02月, 2009

报表工具制表能力的探讨

02.22.2009 by web报表 - 15 Comments - 0
Posted in web报表

所谓报表工具,最核心最本质的功能,就是它的制表能力,即是否能够不写代码而制作出自己需要的各种报表。但用户在考察报表工具时往往很注重打印输出、绘制方案、管理调度等外围因素,而忽视了报表工具最本质的制表能力。当然不可否认这些外围的功能对一个报表工具来说也是很重要的衡量标准,但是报表工具的主要用途是制作报表。目前市场上的主流产品能够处理处理复杂报表的只有FineReport和润乾报表。

通过对这两个产品的研究,我们认为,报表工具对复杂报表的处理能力应该体现在如下几个方面:

首先是多源分片。

传统的报表工具只支持单源报表,即使是数据来自于多个物理数据表或者物理数据库,也需要在报表设计前将多源通过写SQL,存储过程等转化成单源处理。

多源往往带来分片,正是由于分片,使得报表设计必须直接基于多源进行,而不能先将多源转成单源进行。有相当一部分分片报表无论如何也不可能换成单源处理,部分能转成单源的报表处理也非常繁琐。

其次,是不规则划分机制。

传统的分组是完全规则划分的,即划分标准一致且有规则(一般都按某个字段或表达式),所有字段都必须出现且只出现一次,分组值次序与原数据记录次序一致。

但是与完全划分相对应的,在报表汇总中却常常需要不规则划分,即划分标准看不出规律(常常只能穷举),所有事实不一定全部出现在分组结果中、个别事实还可能重复出现,次序也与原数据记录无关。

然后,还有动态格间运算的能力

所有的报表工具都会提供一些计算列的功能,在原始数据基础上再计算出一些别的列值或统计值,这是报表展现中是不可缺少的功能。

一般的报表工具一般只提供同行内的格间运算和针对某组(或全体)的集合运算,对于常见的比如累计,取第一名等跨行组运算则相当困难。

除了有规律的跨行组运算外,报表中还可能会有一些随意的独立格运算,其值可能是报表中的任意几个其它格运算出来,甚至还可能会引用到报表外的数据(比如和数据库中的数据再次运算等)。所以运算后报表数据项命名机制就很重要,传统工具只能用列名命名设计阶段的数据单元,随意的独立格运算会就使传统工具无法处理,而报表外的数据引用更是只能借助脚本或外围应用程序,导致代码极为混乱。

另外,所有以上的讨论中还贯穿了一点,即行列对称。纵方向上拥有的自动复制扩展的能力需要完全实现在横方向上。报表可以横向分组、横向分片,对于横向变列的报表可以定义跨列组运算等。

上面提到目前市场上的主流产品能够处理复杂报表的只有FineReport和润乾。其它的产品都没有这种无编码处理复杂报表的能力。

web报表填报功能

02.04.2009 by web报表 - 12 Comments - 0
Posted in web报表

现在很多web报表工具都声称支持在线填报,但有些web报表工具其实只是能生成可以填写的HTML而已,距离真正需要的填写上报功能相去甚远。
如果你有填报的需求,在选择web报表工具的时候,可以着重考察以下几个方面 :

1.Web报表工具能够处理数据入库。开发者不用为每个报表编写入库程序,数据能自动写入事先设计好的、能反映业务规则的数据结构中,而不是报表工具指定的固定数据结构。需要填写的web报表可能是行式的或交叉式的,数据入库的规则在报表定义时应当只定义一行(或一格),其它行(格)能够自动按规则重复;

2.填报方案能够支持多级汇总填报,即填报表格首先是从基层数据库汇总而来,然后再回填入上级数据库中,而不是总是对着一个空表填写;

3.最好能支持离线填写,即不联网时也可以填写,在联网后再上报数据;

4.提供合法性检查功能,判断事先定义好的检查条件是否满足,如不满足则拒绝接收数据且给出提示;在页面端提供类EXCEL的自动计算功能,某个数据修改后,关联的数据立即变动,计算关系可以在报表中事先定义;合法性检查和自动计算关系都与入库定义类似需要能够自动按规则重复而不必为每个字段单独设计;

5.提供多种多种编辑风格,如编辑框、下拉框等;下拉框的内容可以是固定列表,也可以来自数据库,另外,还应当支持两个下拉框之间的关联过滤(如部门和子部分之间自动过滤);

选择统计图类型指南

02.02.2009 by web报表 - 5 Comments - 0
Posted in 报表统计图

Andrew Abela 整理了一份如何选择统计图的文章Choosing a good chart,ExcelPro将其翻译成了中文,我个人觉得挺有用的就收藏起来,现在和大家共享一下希望对大家有用。看大图点击这里

润乾报表旧版统计图

数据源找不到时的问题排查方法

02.02.2009 by fengzhou - 3 Comments - 0
Posted in java报表相关

在刚刚进行报表开发的阶段,首先要通过的一关就是数据源的正确连接,这一关过不去,后面的都是空谈。下面就给出报数据源找不到错误时的问题排查方法:

1)检查数据源名称在3个地方是否一致:

a)Web服务器配置
b)报表端配置 :Web.xml(v3.55) /reportConfig.xml(v4)
c)报表中设置

2)编写简单程序测试web服务器数据源配置:

测试web服务器数据源程序:
page contentType=”text/html;charset=gb2312″
page import=”javax.sql.*,javax.naming.*,java.sql.*”

try{
Context ctx = new InitialContext();
//DataSource ds = ( DataSource )ctx.lookup( “java:comp/env/ora9i” );
//测试数据源一
DataSource ds = ( DataSource )ctx.lookup( “java:comp/env/ora9i” );
out.println(”1=======”+ds);
out.println(””);
out.println(”1=======”+ds.getConnection());
out.println(””);
}catch(Exception e){
e.printStackTrace();
}

3)检查Web服务器问题:

a)驱动程序是否正确
b)Web中使用的驱动版本和数据库的是否一致
c)不同web服务器的数据源配置方式
d)连接池的配置
e)Tomcat5.0和5.5、6.0配置不同
f)Spring架构JVM1.3下jdbc配置依赖的jdbc2_0-stdext.jar问题:
Spring架构,在JVM是1.3的版本时,jdbc配置需要依赖jdbc2_0-stdext.jar的支持,但是当JVM是1.4以上版本时,是不需要的,最好是删掉,以免出现问题。

4)检查报表端问题:

a)reportConfig.xml配置格式是否正确
b)不同数据源的url前缀设置
c)报表设计中的数据集设置

3)多数据源配置
润乾多源配置方式(数据源名称,数据库类型,编码;数据源名称,数据库类型,编码;)

引自:润乾报表知识库
原文链接:数据源找不到时的问题排查方法
相关文章:一种实现类似excel把负数显示成红色且去掉负号的方法 ; 导入带公式excel的问题web报表的扩展功能
润乾报表出了新版统计图解决行式填报导入excel发生错位的问题
其他相关内容: 润乾商业智能解决方案 ; 商业智能BI联盟 ; Java报表 ; 报表软件