Posts Tagged ‘多数据源’

快逸增强版支持强大的“多源关联分片”

06.23.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

中国式报表,常常会出现多源关联分片的情况。比如下图这个报表,图中的白色分片区域的数据,来自于订单和订单明细表,浅绿色分片区域中的雇员数据来自于另外一个雇员表,而中间的交叉部分则是关联计算得出的。

这里,给您推荐一款报表工具--快逸报表(增强版),可以轻松的使用类似excel的设计界面,实现这样的复杂的中国式报表!!

如下图所示,利用快逸报表的多源关联分片可以设计出更加复杂的报表!

引自:报表工具知识库
相关文章:多源关联分片介绍 ; 套表/多表填报 ; 什么是web报表和java报表;快逸报表:将文字旋转90显示
其他相关内容:用多源关联分片解决复杂报表难题; 博计.NET报表打印输出; 探讨报表工具;web报表博客

巧用快逸报表属性中的显示值和独立多数据集

05.27.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

设计Web报表时,存储在数据库中的往往是员工D、员工编号、产品序号、简称,而报表展现出来的却需要是员工的姓名和产品的名称。

而且很多时候员工ID和员工姓名不是来自数据库的同一个表,在老式的报表工具中需要程序员写SQL将几个表中的数据字段拼接在一起。这时需要同时对这几个表进行WHERE条件运算,往往运算速度很慢;而且SQL写起来也比较复杂,后期维护困难。

在这种情况下,利用快逸报表的”报表属性”中的”显示值”和”独立多数据集”往往可以轻松的解决问题,而且解决方案非常直观,便于后期的维护和修改。具体应用例子我们来看下面这个张报表,如下图:

快逸报表</p

这是一种常见的订单统计表,报表中统计了不同年份中,各个销售人员完成订单金额的情况,以及各年份的订单金额总和。

这张报表是一张典型的二级分组报表,第一级按年份进行分组,第二级按销售员进行分组,这时问题来了,如果产生数据集ds1的物理表中,只有”雇员ID”,没有雇员的姓氏和名字。那如何得到雇员的全名呢?如下图所示:

数据集ds1</p

图中:A2表达式为:=ds1.Group(year(订购日期),false)+”年”,B2表达式为:=ds1.Group(雇员ID,false),数据集ds1里面没有雇员的姓氏和名字。这时如果不想写SQL语句改数据集ds1来增加雇员的姓氏和名字,有没有更一种简单的方法得到雇员的姓名呢?答案是利用快逸”报表属性”中的”显示值”和”独立多数据集”。如下图所示:

利用快逸报表属性</p

如图中所示:用简单的SQL语句增加一个数据集ds2:SELECT 雇员.雇员ID,雇员.姓氏,雇员.名字 FROM 雇员,然后直接设置B2的显示值为: ds2.select1(姓氏+名字,雇员ID==value()),这样就通过”显示值”表达式把”雇员ID”变成了”姓名”。这也就引出了快逸”独立多数据集的概念”,也就是在报表单元格中不能用多个数据集,但在单元格的”显示值”中却可以使用多个数据集,而且多个数据集可以相互关联。

我们再来看报表的C2和D2单元格的表达式,C2格中为:=ds1.sum(单价*数量),D2格中为:=sum(C2{}),根据快逸分组扩展的概念,C2只求数据本年本雇员的”单价*数量”,所以表达式很简单;而D2则通过更改主格为A1,从而通过sum(C2{})可以直接对本年度分组内C2格扩展出的所有单元格求和,如下图所示:

更改D2左主格,从而通过sum(C2{})可以直接对本年度分组内C2格扩展出的所有单元格求和

这时细心的读者可能会问:最后一列中的”比去年增长金额”如何计算?这个同样是利用”报表属性”中的”显示值”和”独立多数据集”:首先我们将数据集ds1原封不动的复制成数据集ds3:然后在E2里面写表达式:=year(ds1.订购日期)-1,再设置E2的”显示值”为:if(value() in ds3.Group(year(订购日期)), sum(C2{}) - ds3.sum(单价*数量,year(订购日期) == year(ds1.订购日期)-1),”去年为空”)。就能达到目的了,最终结果如第一张图所示。如果仔细观察还会发现用这种方法,还可以做出与上年或者上个月的同期比等报表,至于如何做留给读者自己去思考吧!

读到这里,有的读者可能还是觉得这样实现功能非常复杂,但是这仅仅是快逸报表免费版的功能,在快逸开发版和增强版中有更多高级功能,可以用更简单的方法来做本文的这张报表,包括直接在表达式中使用多个数据集。快逸报表开发版和增强版都提供免费试用,申请地址:http://www.quiee.com.cn/archives/341

快逸报表免费下载地址:http://www.quiee.com.cn/archives/337,推荐试用免费版。

引自:报表工具知识库
原文链接:巧用快逸报表属性中的显示值和独立多数据集
相关文章:Sql语句中的as问题 ; 多源关联分片介绍 ; 报表工具制表能力的探讨;五种主流web报表工具的功能对比模板与数据能否分离
其他相关内容:如何用多源关联设计复杂报表; 免费.NET Web报表工具下载; 探讨Web报表工具;.net报表研究

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

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报表 ; 报表软件