润乾所有问题汇总

润乾所有问题汇总
润乾所有问题汇总

参数和宏

参数在SQL 语句中如何使用?

答:在sql 语句中需要用到参数的地方,写上"?",然后在参数的tab 页中,根据?的顺序,依次写入含参数或者不含参数的表达式,如下图所示:

参数能在单元格中使用吗?和在SQL 语句中的用法有什么区别?

答:可以,直接引用参数名即可,把参数作为表达式的一个变量来使用,例如:=arg1+1 sql 语句中写上

问号

根据问号顺序写

入含参数的表达

宏和参数有什么区别?怎么使用宏?

答:参数是有数据类型的变量,在报表运算过程中作为变量来使用。宏是一个字符串标识,没有数据类型,报表运算之前,引擎会搜索报表定义,检索到宏名,替换成宏值,全部替换结束后,才进行报表运算。

宏的引用方式:${macroName}

宏和参数在网页中如何传递?

答:方法一:通过tag 标签来传递,

params="param1=value1;param2=value2;… … ;macro1=value1;… … "

… …

/>

参数及宏的个数应该与报表中的参数及宏个数相同,参数名及宏名大小写一致。

如果参数值或宏值是变化的,那么应该先在JSP 代码中将参数串拼好,再传入Tag 中,

如下所示:

<%

String params = "param1=" + value1 + ";param2=" + value2 + ";" … … ";macro1=" +

value1 + … …

%>

params="<%=params%>"

… …

/>

WEB 发布时,如果我自己定制参数输入页面,如何把参数值传递给报表?

答:在jsp 中获得参数值,然后先在JSP 代码中将参数串拼好,再传入Tag 中,如下所

示:

<%

String params = "param1=" + value1 + ";param2=" + value2 + ";" … … ";macro1=" +

value1 + … …

%>

params="<%=params%>"

… …

/>

如何使用润乾报表定制参数输入页面?

答:假如有一张显示学生成绩的报表,名为student.raq,此报表有三个参数:性别(sex)、班级(class)、出生月份(month)。性别的输入方式为下拉列表框(1 代表男,2 代表女),班级的

输入方式为下拉数据窗口,月份的输入方式为简单输入框。下面我们先来定义一个参数表单:运行报表设计器,新建一张“填报或参数表单”报表,如下图所示:

在此报表中,输入参数名标签,删除多余的行列后,如下图所示:

使A1、C1、E1 单元格的“是否可写”属性为false,将此报表存为studentParam.raq。

选中B1 单元格,在右边的属性列表中“参数名/JSP 引用变量名”填入此格对应的报表

参数名sex,如下图所示。同样,对D1 填入class,F1 填入month。

选中B1 单元格,点击右键在弹出菜单中选择“数据类型及编辑风格”,在弹出窗口中

设置其编辑风格为“下拉列表框”,编辑代码值和显示值如下图所示:

选中D1 单元格,点击右键在弹出菜单中选择“数据类型及编辑风格”,在弹出窗口中

设置其编辑风格为“下拉数据窗口”,编辑各项如下图所示:

最后保存此报表,完成参数表单的定制。

现在来看如何在网页中发布,如下JSP 文件所示:

<%@ page contentType="text/html;charset=GBK" %>

<%@ taglib uri="/WEB-INF/runqianReport.tld" prefix="report" %>

/>

funcBarLocation="boTh"

needPageMark="yes"

functionBarColor="#fff5ee"

funcBarFontSize="9pt"

funcBarFontColor="blue"

separator="  "

needSaveAsExcel="yes"

needSaveAsPdf="yes"

needPrint="yes"

pageMarkLabel="页号{currpage}/{totalPage}"

printLabel="打印"

displayNoLinkPageMark="yes"

params="class=2;sex=1"

saveAsName="学生成绩表"

/>

运行结果如下图所示:

如何实现模糊查询?

答:需要模糊时,在sql 中使用"like ?",然后在参数tab 页中写上"%"+arg1+"%",如下图所示:

我希望用户不输入参数值时,相当于全部选出,该怎么做?

答:在sql 中使用where coln=? or ? is null 等类似的语句

参数tab 页中使用

"%"+arg1+"%"

sql 语句中使

用?

集成性和web 发布

启动Tomcat 的时候数据源绑定出错是什么原因

答:tomcat 不同版本的数据源jndi 设置方式不相同,首先请参考tomcat 相关配置手册,确认tomcat 的数据源配置正确。

另外需要特别注意的是在配置数据源之后,启动tomcat 之前需要把相关的jdbc 驱动jar 包拷贝到tomcat 的系统库目录下面, 例如tomcat5 需要将相关的jar 包拷贝到

/common/lib 下面,否则会报找不到jdbc 的相关类的错误

其次,查看web 应用目录下/WEB-INF/web.xml 文件里配置的datasource 的名称和您实际配置的tomcat 数据源名称是否一致

为什么提交填报报表数据之后网页显示结果仍然是旧的数据

答:这个和ie 浏览器的设置有关系,可以通过修改ie 访问属性为”每次访问此页时候检查”

润乾报表如何实现权限控制?

答:润乾报表本身不提供权限角色的管理,方便和web 应用集成。web 应用的用户名、角色名通过报表参数传递进来,报表中的任意一个单元格、任意一行、任意一列的所有属性都有属性值和表达式两种定义方式,可以在属性的表达式中采用if()或者case()函数来对不同

的用户、角色进行定义。

润乾报表如何实现连接池的管理?

答:润乾报表本身不提供连接池的管理,方便用户使用web server 的连接池,用户可以在web server 中配置datasource,然后把datasource 的名字在web.xml 里配置一下,如下所示:配置datasource

的名字、数据库

类型、数据编码

如何将定义好的润乾报表在web 上进行发布?

答:将润乾报表安装包里web 目录下的所有文件(除了web.xml),拷贝到你的web 应用目录下,将润乾报表提供的web.xml 文件中的内容拷贝到你的web.xml 文件中;把报表文件部署在web 应用的reportFiles 目录下,在jsp 中调用tag 标签来发布报表。tag 标签的写法参照

《润乾报表在web 中的使用说明》。

在webserver 中配置datasource,将datasource 的名字在web.xml 中进行配置。

报表工具是单线程的还是多线程的?

答:多线程的。

日志文件的位置我可以调整吗?还是就是规定好的?

答:可以在web.xml 里进行配置。

reportFileName="tmp.raq" width="2000" params="Time=jsp 变量"

答:和html 语法相同,需要用到变量的地方,用<%=变量名%>;但是一个属性里只能用一个变量,所以如果你的属性值是由多个变量组成的,你要在java 代码里先把这些变量拼成一个变量

例如:

params="Time=jsp 变量"

要在java 代码里先这样写:jsp 变量="time="+jsp 变量

然后在标签中这样写:

width="2000" params="<%=jsp 变量%>"

报表在编辑器中预览正常,但是在WEB 发布时,从数据库中取出的汉字乱码

答:检查web.xml 文件中,对应datasource 的数据编码配置是否正确。

设计器端报表预览可以出来数据,但是服务器端发布的时候数据出不来:

答:先看应用服务器启动的时候,有没有报错,可能是授权证书没有拷贝到WEB-INF 的目录下;然后,再比较runqianReport.jar 看是否一致;最后检查datasource 的配置是否正确。

在页面发布的时候,把结果形成PDF 文件,但会出现乱码。

语句如下:

ServerletOutputStream outputstream = response.getOutputStream();

response.setContentType("application/pdf");

report.exportToPDF(outputstream);

outputstream.flush();

outpurstream.close();

错在哪里?

答:应该首先设置response.setContentType("application/pdf"); 然后再获得数据输出流。

常见错误信息

out of memery error 内存溢出

答:该问题可能是由于web 服务器java vm 的内存设置太小,也可能是由于报表数据量过大;解决办法:

1、java 虚拟机的设置:java -Xms128m -Xmx384m,根据实际机器的内存配置,灵活调

2、如果虚拟机设置后依旧出现内存溢出,可能是你的报表数据量过大,可以采取数据

集分页的办法或者数据集缓存的办法解决,如下图所示:

通过设置起始行和结

束行来控制数据集分

页,这两个属性可以通

过参数来传递

可以设置数据集

是否需要缓存,

此方法可以解决

内存溢出的问题

https://www.360docs.net/doc/6a5157863.html,ng.ClassNotFoundException: com.newatlanta.jturbo.driver.Driver at

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja

v

a:1428)

答:没有将数据库的jdbc 包部署在classpath 目录下。

单元格C4 中有错误,表达式ds1.select(contractno)中数据集未产生,可能因为

未连接数据库

答:编辑器没有连接数据库

java.sql.SQLException: [JTurbo 3.0.1 JDBC 2.1 Driver]: Parameter #2 has

not been set

答:sql 语句的定义有误,sql 语句里定义的问号个数比参数tab 页中定义的参数表达式的

数多

数据集ds1 的sql 异常:Line 1: Incorrect syntax near 'contract'.

答:类似这样的错误,往往是sql 语句的语法出现了错误,请检查sql 语句。

[JTurbo 3.0.1 JDBC 2.1 Driver]: Communication Link Failure. No buffer

space available (maximum connections reached?): JVM_Bind

答:sql 语句的定义有误,sql 语句里定义的问号个数比参数tab 页中定义的参数表达式的

数少

org.apache.jasper.JasperException: com/runqian/report/view/DataServlet

at

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248),后台没有任何错误信息,所有jsp 网页不能显示,但是html 网页可以显示;或者

org.apache.jasper.JasperException: /index.jsp(4,0) Unable to load class html

答:检查WEB-INF 目录名是否写成了小写,或者runqianReport.jar 包是否正确的部署在了web 应用的classpath 目录下。

The requested resource (/web/report.jsp) is not available.

答:此时的现象:所有的jsp 网页、html 网页、应用根目录都无法访问,应用没有正确启动原因:应用没有正确部署或者runqianReport.tld 文件没有正确部署

org.apache.jasper.JasperException: /defaultArg.jsp(22,0) Unable to load tag

handler class "com.runqian.report.tag.HtmlTag" for tag "report:html"

答:检查web 应用下的classpath 目录,看看是否所有的jar 包都已经放置在了classpath 目录下

https://www.360docs.net/doc/6a5157863.html,ng.NullPointerException at

com.runqian.report.view.ReportCalculator.calc(ReportCalculator.java:74) at

com.runqian.report.tag.HtmlTag.doStartTag(HtmlTag.java:195) at

org.apache.jsp.defaultArg_jsp._jspService(defaultArg_jsp.java:106) at

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

答:没找到License 文件,请把xrq_license.dat 文件放到WEB-INF 目录中!

https://www.360docs.net/doc/6a5157863.html,ng.NullPointerException at

https://www.360docs.net/doc/6a5157863.html,ermodel.ReportDataSetConfigs.calcDataSet(ReportDataSetC onfigs.java:99) at

com.runqian.report.engine.CalcRpt.calcRpt(CalcRpt.java:24) at

https://www.360docs.net/doc/6a5157863.html,ermodel.Engine.calc(Engine.java:144) at

com.runqian.report.ide.ReportEditor._$5157(ReportEditor.java:551)

答:请检查报表模板中自定义的数据集用到的类,看看是否正确的放在了classpath 目录下

https://www.360docs.net/doc/6a5157863.html,ng.NullPointerException at

com.runqian.report.view.excel.ExcelReport._$16606(ExcelReport.java:205)

at

com.runqian.report.view.excel.ExcelReport.createWorkbook(ExcelReport.java:67) at com.runqian.report.view.excel.ExcelReport.(ExcelReport.java:40)

at com.runqian.report.view.excel.ExcelReport.(ExcelReport.java:52)

at com.runqian.report.ide.CellSetConverter._$50529(CellSetConverter.java:42)

at com.runqian.report.ide.CellSetConverter.convert(CellSetConverter.java:76)

答:因为该报表是从excel 导入的,一些页面设置的默认值没有:例如纸张大小、纸张方向等,请设置一下这些值,点击保存即可。

在weblogic 下发布时,如果更新了类,没有重起web 服务,就会出现如下错误信息:

https://www.360docs.net/doc/6a5157863.html,ng.NullPointerException at

com.runqian.report.view.ReportCalculator.calc(ReportCalculator.java:61) at

com.runqian.report.tag.HtmlTag.doStartTag(HtmlTag.java:193)

答:将web.xml 里的reportFileHome 配成绝对路径,就可以避免这一问题。

https://www.360docs.net/doc/6a5157863.html,ng.ClassNotFoundException: com.runqian.report.ide.ReportFrame

at StartReportEditor.loadClass(StartReportEditor.java:187) at

https://www.360docs.net/doc/6a5157863.html,ng.ClassLoader.loadClass(ClassLoader.java:255) at

StartReportEditor.main(StartReportEditor.java:262)

答:润乾报表安装目录下,web/web-inf/lib 目录下的runqianReport.jar 包可能被破坏,请更新此包。

报表编辑

编辑器运行时提示无效的授权文件

答:jdk 的版本低,换成jdk1.4.1 及以上版本

编辑器里报表预览出现乱码什么原因

答:请检查系统/数据源连接设置是否选择了正确的数据编码

我定义的自由式报表,为什么当出现多条记录时,不能成片重复

答:把需要被重复的行的第一个单元格的左主格属性设成该记录的主动扩展格。如下图所示:上图中,c4 单元格是记录的主动扩展格,因此如果希望从第五行到第十行都随着c4 的扩展而被复制,那么从第五行到第十行的第一个单元格(a5:a10)的左主格属性都设成c4

当单元格中的数据过长,超出格子的宽度时,我该怎么办?

答:可以为单元格设置自动换行属性

报表里合计的行应该是属于页尾区还是数据区?

答:看你这个合计行是否需要被复制,是否需要每页显示;如果会随着主单元格的扩展而被复制出很多合计行,例如分组报表里的组合计,那么应该放在数据区;如果只在最后合计,但是每页显示,那么放在表尾区;如果只要最后一页显示,那么放在数据区;除了数据区,其它区域都是每页重复显示

编辑器运行时,一启动就莫名其妙的关闭了,怎么办?

答:此时往往是java 环境或者编辑器的包存在问题,最好的解决办法是在dos 命令行下,执行“润乾报表.bat”文件,然后根据错误信息寻找解决办法

编辑器要求jdk1.4.1 及以上版本,也可以先检查jdk 的版本是否正确。

报表中,希望单元格中存的是编码,显示成中文,要如何做?

答:通过定义单元格的显示值属性来实现,

做法一:为显示值属性表达式定义一个map(list(exp1,exp2......),list(exp1,exp2,...)),第一个list 是真实值列表,第二个list 是显示值列表

做法二:从数据集中获得显示值,dsn.select_one(nameCol, @value=idCol),@value 代表当前

单元格的真实值

做法三:直接写入显示值,例如“中国”

报表中,我希望引用某个单元格的显示值,要如何做?

答:可以采用disp 函数,例如:=disp(A1)+"——中国"

展现

你们导出XLS 格式单元格怎么比显示的要大的多呢?

答:因为微软的软件界面显示都有放大的效果,例如excel、word、看起来都比实际的大,但是导出到pdf 就是一样大,而且打印到纸上和excel、word 是一样大的

网页上导出到excel 文件时,是否分页页面报错

答:runqianReport.jar 包里缺少文件,更新最新的jar 文件

以分页的方式导出到excel 时,如何设置页面大小?

答:在tag 标签里设置属性,如下表所示:

width 否报表分页宽度

整数,单位为px,负数

表示无穷大

报表设计

页面宽度

height 否报表分页高度

整数,单位为px,负数

表示无穷大

报表设计

页面高度

excelUsePaperSize 否

存为EXCEL 时:yes

按报表设计时的纸张

尺寸,no 采用本TAG

标签中指定的width,

height 值

yes 或no no

导出到文本文件时,能否设置打印机控制码?如何设置?

答:可以。先建一个printer.ini 文件,文件格式如下图所示:

然后在报表编辑器中,点中报表首格,在右边的属性列表中,选择你要设置的打印机,如下图所示:

编辑器中预览报表时,从数据库中取出的汉字乱码,如何解决?

答:点击系统/数据源,选择您当前连接的数据源,点击配置,如下图所示:

查看您设置的数据编码是否正确,如果不正确,会导致数据乱码。

点击导出到excel 后出现是否分页窗口,选择以后就什么都不出现了

答:一般是poi 包的版本不对,必须用润乾公司提供的poi 包,因为润乾公司在poi 包的基

础上做了一些修改

还有一种可能是java 的classpath 下有多个poi 包,冲突了。

导出到pdf 出现中文字符不对

答:一般是webserver 端的操作系统安装有问题,往往是英文的操作系统,相应的中文字符集没安装。

此时往往出现网页预览的中文是对的,因为网页上用的是客户端操作系统的中文字符

集。

对于某些数据库,例如sqlsvr,其varchar 和nvarchar 字段,总有一种字段出来的

中文不对

答:请详细阅读jdbc 包的说明文档,例如对于sqlsvr 数据库,可在url 里这么配置:jdbc:JTurbo://[host]/[db]/charset=gbk,然后把数据编码设为GBK 即可

打印

点击打印后出错,一般什么原因?

答:一般两个原因:

一、客户端没安装java plug-in 1.4 或以上版本

二、web 应用根目录下没部署runqianReportApplet.jar

润乾报表在网页上如何实现精确打印?

答:通过润乾公司独立研发的applet 实现精确打印。

打印时,客户端需要下载控件吗?客户端的java 环境有何要求?

答:客户端需要下载applet 控件,控件大小为163k,客户端需要安装java plug-in 1.4 及以上版本,如果客户端没有安装,系统会自动安装。

润乾报表打印时有哪几种分页方式?

答:按数据行数分页和按纸张尺寸分页。

分页时能否设定表头每页重复?

答:不需要设置,表头每页自动重复,如果不需要重复的话,就不要设为表头。

能否一组分一页?

答:可以,可以把分组格设置行后分页属性

如何实现固定行报表?即每页报表都是固定行数,行数不够用空行补足,或者仅仅显

示行标题

答:可以。

套打时,A3 单据扫描出来的图片,放在报表背景上,比报表的A3 尺寸大很多

答:不同扫描仪的尺寸单位不同,扫描时没有选择扫描的像素,因此导致扫描出来的图片大很多,解决办法:扫描的时候设置像素单位,使得其和标准纸张大小一样,或者用画图软件

对图片进行压缩,缩成标准A3 大小,且分辨率设为72

纸张规格宽度(毫米)高度(毫米)

A0 841 1189

A1 594 841

A2 420 594

A3 297 420

A4 210 297

A5 148 210

B0 1000 1414

B1 707 1000

B2 500 707

B3 353 500

B4 250 353

B5 176 250

尺寸换算公式:

(1 毫米×72)/25.4=1 像素

72 像素=1 英寸

分辨率:72 像素/每英寸

注意:扫描底图的时候最好按照分辨率72 来扫描,因为打印机是按照72 分辨率打印的,不同的分辨率就会导致不同的尺寸

性能

润乾报表能够经受多大的压力测试?

答:

表名称

记录数量

(条)

用时

(分)

报表数量

(个)

报表日期

资产负债表50000 7 425 2006-1-31

损益明细表50000 12 425 2006-1-31

日计表50000 4 425 2006-1-1

活期对公对帐单10000 49 425 2006-1-1

测试日期:2004 年9 月9 日

统计图

统计图的分类轴和序列名称、序列值分别是什么含义?

答:

分类轴定义

相当于横轴,也就是统计图分类的数据来源定义。例如要画学生数学成绩的统计图,那

么是按学生来分类的,所以显示学生姓名的单元格就是分类轴,填写为单元格的名称,如“A1”。

一个统计图一般只有一个分类轴定义,但有些统计图会有多个分类轴定义,此时点击一

个分类轴时,下面的“系列”组框中显示的就是与它对应的系列定义。

统计图分类轴的定义可以是个单元格也可以是个常数,如果是单元格,该单元格应该

是序列值的主单元格;

统计图的序列名称的定义可以是个单元格也可以是个常数,如果是单元格,该单元格

应该是序列值的主单元格;

系列

用来画统计图的一类数据叫一个系列,一个分类轴可以对应多个系列,系列由系列名称

和系列值组成。例如要同时用学生数学、语文、英语成绩来画统计图,那么每门学科就分别为一个系列。

系列名称

序列名称的定义可以是个单元格也可以是个常数,如果是单元格,该单元格应该是序

分类轴,一个分类对应多个序

列,不同颜色的柱子代表不同的

序列,一种产品就是一个分类

列值的主单元格;

系列值

定义本系列的数据来源,其填写方法和分类轴定义相似。可以是常数也可以是单元格,

如果是单元格,该单元格应该是序列名称和分类轴的附属单元格

如何改变统计图的类型?

答:在统计图的属性中,直接选择统计图的类型,如下图所示:

能否由用户在网页上动态改变统计图类型?如何操作?

答:可以,下面是例子代码:

<%@ page contentType="text/html;charset=gb2312" %>

<%@ taglib uri="/WEB-INF/runqianReport.tld" prefix="report" %>

<%@ page import="https://www.360docs.net/doc/6a5157863.html,ermodel.*" %>

<%@ page import="com.runqian.report.graph.*" %>

<%@ page import="com.runqian.base.graph.*" %>

润乾HTML 报表

<%

String type = request.getParameter( "type" );

if( type == null || type.equals( "1" ) ) type = String.valueOf( GraphInt.GT_COL );

else if( type.equals( "2" ) ) type = String.valueOf( GraphInt.GT_PIE );

else if( type.equals( "3" ) ) type = String.valueOf( GraphInt.GT_LINE );

ReportDefine rd = Report.getReportDefine( "graphType.raq", application ); GraphProperty gp = rd.getGraphProperty( 4, 1 );

if( gp != null ) {

gp.setPropertyValue( GraphProperty.GRAPH_TYPE, type );

}

rd.setGraphProperty( 4, 1, gp );

request.setAttribute( "graphType", rd );

%>

functionBarColor="#fff5ee"

funcBarFontFace="隶书"

funcBarFontSize="11pt"

funcBarFontColor="#00ff7f"

separator="|"

needSaveAsExcel="yes"

needSaveAsPdf="yes"

needPrint="yes"

pageMarkLabel="页号{currpage}/{totalPage}"

printLabel="打印"

displayNoLinkPageMark="yes"

/>

能否在统计图上添加超链接?如何添加?

答:可以,如下图所示:

如上图所示,在图形超链接属性中录入超链接字符串就行了。其中有几点注意事项:图形超链接关键词

统计图图例上的超链接,

@legend

可以在超链接中引用@legend,制图时,程序会将@legend 替换成当前图例的显示值。{APPMAP}

可以在超链接中引用{APPMAP},制图时,程序会将{APPMAP}替换成当前WEB 应用的相对路径

超链接目标窗口

当超链接被激活时,在目标窗口中打开

什么是时序状态图?

答:时序状态图是适用于类似广播电台等行业,显示不同频道在不同时段的状态,也可以用于数字电路中,显示不同电路出口随时间变化处于不同的电位状态

什么是时间走势图?

答:显示数据随时间变化而呈现不同的走势。

如何定义时序状态图?

说明

时序状态图不需要定义分类、序列等属性,而是定义起始时间、结束时间、分类、状态等,他的数据模型和一般统计图不太一样。

时序状态图的起始时间表达式

时序状态图一般是针对某一段时间区域来制图,因此需要指定该时间区域的起始时间,一般是某个单元格的值,填写单元格名称即可

时序状态图的结束时间表达式

时序状态图一般是针对某一段时间区域来制图,因此需要指定该时间区域的结束时间,一般是某个单元格的值,填写单元格名称即可

时序状态图的分类表达式

时序状态图可以同时显示多个分类的状态,分类值一般是某个扩展单元格的值,填写单元格名称即可,也可以是个常数,如果是单元格,那么该单元格必须是起始时间、结束时间、状态的主单元格

时序状态图的状态表达式

时序状态图的状态数据,一般是某个扩展单元格的值,填写单元格名称即可

如下图所示定义界面:

状态条高度

时序状态图状态条的高度,如果不填,缺省为4

时间刻度选择

横轴标签的刻度,一般根据起始时间和结束时间来决定

如何定义时间走势图?

说明

时间走势图的数据模型大部分和一般统计图差不多,例如分类轴定义、序列名称、序列

值等,可以参照一般统计图数据模型的说明,唯一的区别在于分类轴对应的单元格的数据值必须是日期时间型

时间走势图除了定义分类轴定义、序列名称、序列值外,还必须定义横轴坐标取值,下

面我们来讲解横轴坐标取值

横轴坐标取值定义

横轴坐标取值的定义界面如下图所示:

从图上可以看出,该定义包括起始值、结束值、取样间隔、标签间隔四部分,其中起始值和结束值定义必须是表达式,取样间隔是指图上取样点的间隔,而标签间隔是指横轴标签的标注点间隔

如果横轴坐标的取值不连续,可以添加多条取值定义

填报

润乾报表能否实现多条SQL 同时提交?能否保持数据库事务的一致性?如何实现?

答:可以。润乾报表可以为一张填报表同时定义多条更新属性,多条更新能够同时提交,并且可以保持数据库的事务一致性。多条更新可以针对不同的数据库。

扩展填报的更新属性如何区别对单元格的绝对引用和相对引用?

答:绝对引用的单元格加上$符号,相对引用的单元格直接写单元格的名称,例如:$A1 表示绝对引用A1;直接写A1 表示相对引用A1。

自动计算和合法性检查的表达式规则是什么?

答:依据javascript 的表达式规则,可以使用javascript 的函数,把单元格作为变量引用。

合法性检查能否在光标移开的时候检查,而不是提交服务器的时候检查?如何实现?

答:可以。定义合法性检查的时候,有一个“是否立即校验”选项,选择是,就可以在光标移开的时候校验。

对于扩展的填报,自动计算表达式如何实现随扩展而变化?

答:需要随扩展而动态变化的单元格用${}括起来,例如:${D10*F10},表示随着单元格的扩展,该表达式自动变成D11*F11, D12*F12......等等

上传图片支持哪些格式的图片?能否同时上传多种格式的图片?

答:任意格式文件都支持上传和下载,但是展现只支持GIF, BMP, JPG, PNG 等

是否支持除图片以外其它格式文件的上传?

答:支持,但不支持展现。

离线填报是否需要客户端安装控件?

答:不需要,客户端采取纯HTML 和EXCEL 方式的离线填报,不需要安装控件。

自动计算和合法性检查是否在客户端通过applet 来实现的?是否需要安装控件?答:不需要,客户端采取javascript 方式自动计算和合法性检查,不需要任何控件。

填报提交的时候,显示“服务器连接时间太长,请重新连接”

答:填报表的参数有一定的缓存时间,过了这个时间,参数没有了,报表没法提交。这个时间可以在web.xml 里配置,

cachedParamsTimeout

10

时间单位是分钟。__

润乾报表常用函数

润乾报表常用函数 1.to函数说明:生成一组连续的整数数据 语法:to(startExp,endExp{,stepExp}) 参数说明: startExp 整数数据开始的表达式 endExp 整数数据结束的表达式 stepExp 整数数据步长的表达式 函数示例: to(1,5)=list(1,2,3,4,5) to(1,5,2)=list(1,3,5) to(-5,-10,-2)=list(-5,-7,-9) to(-10,-8)=list(-10,-9,-8) 2.select函数说明:从数据集的当前行集中选取符合条件的记录 语法: datasetName.select( {, desc_exp{, filter_exp{, sort_exp{,rootGroupExp}}}} ) datasetName.select( , , )//适用于不需排序或数据集中已排好序 参数说明: select_exp:要选择的字段列名/列号,,也可以是表达式。列号用#n 表示,例如#0代表第0列,#1代表第1列,依此类推 desc_exp: 指定数据排序的顺序,true表示降序排列,false表示升序排列。 filter_exp: 数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位。

sort_exp: 数据排序表达式。当此项为空时先检查desc_exp是否为空,如果为空,则不排序,否则使用select_exp排序。rootGroupExp 是否root数据集表达式 返回值:一组数据的集合,数据类型由select_exp的运算结果决定函数示例: 例1:ds1.select( name ) 从数据源ds1中选取name字段列的所有值, 不排序 例2:ds1.select( #2, true ) 从数据源ds1中选取第二个字段列的所有值并降序排列 例3:ds1.select( name,false,sex=='1') 从数据源ds1中选取性别为男性的name字段列的值并升序排列 例4:ds1.select( name, true, sex=='1', id ) 从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列 3.Int函数说明:将字符串或数字转换成整数 语法:int( string ) int( number ) 参数说明: string 需要转换的字符串表达式 number 数字,如果带有小数位,转换后小数位被截掉

润乾报表与帆软报表产品对比

润乾报表与帆软报表产品对比

目录 (2) 前言 (3) 第一章报表设计 (3) 1.1对EXCEL的支持 (3) 1.1.1设计器打开Excel文件 (3) 1.1.2对Excel的公式支持 (4) 1.1.3复制粘贴Excel的内容 (4) 1.2制作报表 (4) 1.3制作统计图 (7) 1.4远程设计 (8) 第二章功能性 (9) 2.1中国式复杂报表 (9) 2.2.1多源分片 (9) 2.2.2动态格间运算 (10) 2.2.3行列对称 (10) 2.2.4不规则分组 (11) 2.2数据源 (11) 2.3主子表 (12) 2.4行类型 (13) 2.5折叠报表 (13) 2.6统计图 (16) 2.7超链接 (16) 2.8参数与宏 (17) 第三章集成性 (18) 3.1WEB应用集成 (18) 3.2API接口 (19) 3.3自定义数据接口 (19) 3.4移动端展现 (19) 第四章性能与容量 (21) 4.1多源关联 (21) 4.2容量 (21) 4.3响应 (22) 4.4并发 (22) 第五章美观性 (23) 4.1设计器UI (23) 4.2统计图 (24) 第六章总结 (25)

多年以来,我们经常被客户询问关于润乾报表与帆软报表的不同之处,对此我们的态度一直是避而不谈,因为从心底里不愿意去做这样的对比,我们坚信“你若盛开,清风自来”,也一直在秉行只说自己好,不去评判竞争者好坏的商业原则。如果客户在面对选型时有所纠结,我们都是建议客户自己去对比选择并积极配合。但是现在这样的客户反馈越来越多,而且确实有许多客户对报表工具不熟悉,不知道在选型时该对比哪些内容。另外,市场上长期以来充斥着一些倾向性非常明显、内容却很片面且与实际不符的对比材料,其编造者也不敢署名,这些错误的材料误导了客户对报表市场的感知能力。因此,不管是客户需求,还是市场需要,还是自我澄清,我们现在都有必要做个回应。下面对两种产品进行了详细测评,并整理汇总出文档供业界参考。我们力求做到客观公正,但由于对友商的产品不是非常熟悉(我们的精力更多的是研究客户需求,而不是竞争者),因此难免有错,敬请广大业内人士指正,特别是敬请友商指正。 润乾报表和帆软报表都是国内知名的报表解决方案供应商,两者的共同特点都是类Excel的纯Java的Web报表工具,但在技术细节和发展方向上存在差异。 本文主要考察这两款报表工具在制作固定报表时的差异。固定报表是指由报表开发人员预先定义好报表样式、取数规则、查询条件、业务逻辑等,报表的使用人员仅在Web端进行报表的查看,不涉及报表结构的修改。固定报表是业务系统中最常用的、开发工作量最大的任务,其制作方便性及能力对项目开发周期有很大的影响。另外,由于固定报表主要是在应用程序中使用,其集成性也是非常重要。本文将对这些方面进行客观的测评。 第一章报表设计 1.1对EXCEL的支持 既然润乾和帆软都是类Excel的设计模型,那么我们先来看看二者对Excel 的支持情况。对Excel的支持从以下几方面进行: 1.1.1设计器打开Excel文件

润乾报表独立部署Tomcat

润乾报表独立部署Tomcat 2017年12月

润乾报表v4是在设计器中制作报表,然后通过内置的tomcat服务器,通过一个jsp在ie中发布报表。那么,如何将润乾v4的demo应用部署到客户方的tomcat下过程如下: (1).拷贝润乾v4安装目录下webapps下的demo应用到客户方tomcat下的webapps下。 (2).将v4服务器授权文件放到demo下的\WEB-INF\classes下,然后修改\demo\WEB-INF下的reportConfig.xml如下字段: license 服务器授权的名字.lic (3).依旧是reportConfig.xml文件,配置数据库相关信息,修改如下字段:(value格式如下) dataSource sft,oracle (4).在tomcat下的\work\Catalina\localhost路径下,建立一个配置文件,文件名字为拷贝的v4应用的名字,默认为demo.xml。在这个配置文件中配置数据库连接池的相关信息。(格式如下)

(5).将配置文件中配置的数据库类型的驱动程序,放置到tomcat下的\lib下。 (6).启动tomcat,然后在ie中输入 http://127.0.0.1:6001/demo(此处的端口号为tomcat端口号,根据自身配置进行更改)。这个页面,即为demo库。将自己的报表放到\demo\reportFiles下,然后刷新页面,即可预览报表!

润乾报表常用函数

润乾常用函数数值计算 函数说明:abs(numberExp) 计算参数的绝对值 语法: abs(numberExp) 参数说明: numberExp 待计算绝对值的数据 返回值: 数值型 示例: 例1:abs(-3245.54) 返回:3245.54 例2:abs(-987) 返回:987 函数说明:cos(numberExp) 计算参数的余弦值,其中参数以弧度为单位 相关的函数有sin() 计算参数的正弦值 tan() 计算参数的正切值 语法: cos(numberExp) 参数说明: numberExp 待计算余弦值的弧度数 返回值:double型 示例: 例1:cos(pi()) 返回:-1 例2:cos(pi(2)) 返回:1

函数说明:eval( StringExp ) 动态解析并计算表达式 语法: eval( StringExp ) eval( StringExp, SubRptExp ) eval( StringExp, DataSetExp ) 参数说明: StringExp 待计算的表达式串 SubRptExp 嵌入式子报表对象,一般是含有子报表的单元格 DataSetExp 数据集对象,一般是ds函数 返回值:表达式的结果值,数据类型由表达式决定 示例: 例1:eval( "1+5" ) 返回6 例2:eval("B2+10", A1) 其中A1为嵌入式子报表,表示计算A1子报表中的B2+10 例3:eval("salary+100", ds("ds1")) 表示计算数据集ds1中salary加100 函数说明:exp(nExp) 计算e的n次幂 语法: exp(nExp) 参数说明: nExp 指定次幂数 返回值:数值型 示例: 例1:exp(4.3) 返回:73.69979369959579 函数说明:fact(nExp) 计算参数的阶乘 语法: fact(nExp)

润乾集算报表实现动态层次钻取报表(一)

润乾集算报表实现动态层次钻取报表(一) 在报表项目中有时会有动态层次报表,而且还需要层次钻取的场景,开发难度较大。这里记录了使润乾集算报表开发《各级部门KPI报表》的过程。 《各级部门KPI报表》初始状态如下图: 当前节点是根节点“河北省”,要求报表显示当前节点的下一级节点“地市”汇总的KPI 数值。Kpi又分为普通指标和VIP指标两类,共四项。如果点击“石家庄”来钻取的时候,要求能够将石家庄下一级的KPI汇总指标显示出来,如下图: 点击“中心区”钻取,要求能够将下一级的KPI汇总指标显示出来,以此类推,直到显示到最后一级。如下图: 前四级固定是“省、地市、区县、营业部”,后边则是动态的“架构4、架构5、架构6. . . 架构13”(根节点“省”对应“架构0”)。 这个报表对应的oracle数据库表有两个,tree(树形结构维表)和kpi(指标事实表),如下图:

Tree表 Kpi表 Tree表的叶子节点,通过id字段与kpi表关联。这个报表的难点在于1、动态的多层数据、标题;2、树形结构数据与事实表关联。 采用润乾集算报表实现的第一步:编写集算脚本tree.dfx,完成源数据计算。集算脚本 A1:连接预先配置好的oracle数据库。 A2:新建一个序列,内容是“省、地市、区县、营业部、架构4、架构5、架构6. . . 架构13”。 A3:使用oracle数据库提供的connect by语句编写sql,从数据库中取出指定id(节点编号)

的所有父节点id、name。id是预先定义的网格参数,如果传进来的值是104020,那么A3的计算结果是: A4:为A3增加一个字段title,按照顺序,对应A2中的层级。结果是: A5:计算变量level,是A3序表的长度,也就是输入节点“104020”的层级号“4”(“省”为第一级)。 A6:计算输入节点“104020”的下一级对应的层级名称“架构4”,赋值给变量xtitle。 A7:编写sql,从tree表中取出输入节点“104020”的所有叶子节点,并拆分sys_connect_by_path字符串,得到这些叶子节点对应的输入节点“104020”的下一级节点。形成临时表leaf与kpi表关联分组汇总。为了能够得到输入节点“104020”的下一级节点的name,leaf还需要与tree关联一次。需要注意的是,如果输入节点号本身就是叶子节点,结果中的name将为空。完整的sql如下: with leaf as( SELECT tree.id id,REGEXP_SUBSTR(SYS_CONNECT_BY_PATH(id, ';'),'[^;]+',1,2) x FROM tree where connect_by_isleaf=1 START WITH ID = ? CONNECT BY NOCYCLE PRIOR id = pid ) select nvl(leaf.x,max(leaf.id)) id,'"+xtitle+"' title,max(https://www.360docs.net/doc/6a5157863.html,) name, sum(kpi.kpi1) kpi1,sum(kpi.kpi2) kpi2,sum(kpi.vipkpi1) vipkpi1,sum(kpi.vipkpi2) vipkpi2 from leaf left join kpi on leaf.id = kpi.id left join tree on leaf.x=tree.id group by leaf.x order by leaf.x 计算的结果是: A8:关闭数据库连接。 A9:向报表返回A4、A7两个结果集。 第二步:在报表设计器中定义报表参数和集算数据集,调用tree.dfx。如下图:

(完整版)润乾报表使用手册

报表使用手册 报表使用手册 XX股份有限公司 中国济南

目录 1概述.............................................................................................................................. - 3 - 2安装.............................................................................................................................. - 3 - 2.1准备好安装程序.......................................................................................... - 3 - 2.2安装中的选项.............................................................................................. - 3 - 2.3授权文件配置.............................................................................................. - 4 - 3报表制作...................................................................................................................... - 5 - 3.1报表制作要求.............................................................................................. - 5 - 3.2制作一张报表的步骤.................................................................................. - 5 - 3.3启动报表设计器.......................................................................................... - 6 - 3.4连接数据源.................................................................................................. - 7 - 3.4.1 数据源对话框......................................................................................... - 7 - 3.4.2 编辑数据源............................................................................................. - 7 - 3.4.3 注意事项................................................................................................. - 9 - 3.5设计报表格式.............................................................................................. - 9 - 3.5.1 格式设计................................................................................................. - 9 - 3.5.2 需注意事项........................................................................................... - 10 - 3.6定义参数.................................................................................................... - 10 - 3.6.1 参数的编辑........................................................................................... - 10 - 3.6.2 常用参数举例....................................................................................... - 11 - 3.7定义宏........................................................................................................ - 11 - 3.7.1 宏的编辑............................................................................................... - 11 - 3.7.2 常用宏举例........................................................................................... - 12 - 3.8建立数据集................................................................................................ - 12 - 3.8.1 数据集的编辑....................................................................................... - 12 - 3.8.2 常用数据集举例................................................................................... - 13 - 3.9设置单元格属性........................................................................................ - 14 - 3.9.1 数据集在单元格中应用....................................................................... - 14 - 3.9.2 显示格式............................................................................................... - 14 - 3.9.3 设置预警条件....................................................................................... - 15 - 3.9.4 增加动态背景色................................................................................... - 15 - 3.9.5 按参数隐藏列....................................................................................... - 16 - 3.9.6 主格应用............................................................................................... - 16 - 3.10报表预览.................................................................................................... - 17 - 3.11报表发布.................................................................................................... - 17 - 4报表部署.................................................................................................................... - 18 - 4.1部署位置.................................................................................................... - 18 - 4.2Web中显示................................................................................................ - 18 - 5重要概念.................................................................................................................... - 19 - 5.1数据源........................................................................................................ - 19 - 5.2数据集........................................................................................................ - 19 - 5.3参数............................................................................................................ - 19 - 5.4宏定义........................................................................................................ - 22 -

总结了润乾报表的查询标签属性

1)raq:部署到通用查询应用中的报表的名称,为必须项,格式要符合文件名或变量名规则通用查询面板的布局方式。 2)srcType:报表源的类型,默认值为file。 3)needSave:是否生成通用查询页面上的保存按钮,即保存当前查询设置的保存按钮,默认值是yes。 4)needReload:是否生成通用查询页面上的载入已定义按钮,即载入已有的查询条件设置的按钮,默认值是yes。 5)needQuery:是否生成通用查询页面下方提交查询设置的查询按钮,默认值是yes。 6)conditions:设置可见的预置条件,预置条件为预先设置查询条件作为默认查询条件。预置条件的固定设置格式为:数据集名称,(,字段名称,比较符,条件值1,条件值2,),逻辑符; 一个预置条件必须含有八项(其中括号”()”算一项且必须),包括:数据集名称、左括号、所选的字段名称、比较符(参见比较符对应表)、条件值1、条件值2、右括号、逻辑符(or或and);其中两个条件值是针对选择”在……之间”这种类型的比较符,若选择的是只需一个条件值的比较符,那么只设置条件值1,条件值2为空即可。 7)hiddenConditions:将预先设置的查询条件隐藏,这样进入通用查询页面时,预置条件不显示,在提交查询条件时,与用户设置的查询条件一同传入报表。不可见预置条件的设置方法与规则同可见预置条件的一致。 8)dataSets:生成通用查询面板所使用的数据集列表,设置报表模板中的数据集,设置格式为半角逗号分割的列表。 9)macroNames:若设计的报表模板含有宏,则在这个标签处设置报表中的宏,此处宏名称的列表要与数据集名称一一对应。 10)fieldColWidth:设置通用查询字段列表的宽度,格式是像素值,或者百分比。 11)setupIcon:”高级设置”功能键对应的图标路径,格式可以是绝对或相对URL地址。 12)multiIcon:”横向布局”功能键对应的图片路径,格式可以是绝对或相对URL地址。 13)saveIcon:”保存”功能键对应的图标路径,格式可以是绝对或相对URL地址。 14)reloadIcon:”载入已定义”功能键对应的图标路径,格式可以是绝对或相对URL 地址。 15)calIcon:”日历编辑风格”对应的图标路径,格式可以是绝对或相对URL地址。

润乾报表入门

1 前言 鉴于目前报表开发没有一个统一的规范,每个开发的风格和习惯也不一致,所以动手写了这份报表开发文档,一来有助于统一大家的报表的风格,提供一些常见问题的解决方案,二来方便以后新人的学习使用。本人也是略懂皮毛,有什么错误和不足之处,欢迎大家补充修改。

2.报表工具安装 解压后运行runqian-v4.5.5-install.exe安装文件,按引导完成安装。其中,在初次打开报表文件和发布报表文件的时候(后续会提到),会提示我们需要lic文件,就是下图中的两个lic文件。 Figure 1

3.报表工具的使用 3-1 配置数据源 使用报表时需要先对数据源进行配置: Figure 2选择新建一个数据源:

Figure 3 项目中默认使用的数据源名称为reportjndi.参考图3进行配置后,点击连接,进行数据源连接,这样就完成了报表服务器与数据库的连接。 3-2 新建报表 目前的报表形式分为两部分,一是用来显示查询结果的“报表名.raq”文件,另一个是用来提供查询条件的“报表名_arg.raq”文件。我们只需要在保存文件的时候,按上述格式命名,打开.raq文件时,会自动打开相关的_arg.raq文件。 3-3 结果显示报表设计 首先新建一张报表,直接点击左上角工具栏上的即可。按照给定的表样设计好报表名名、列名。如下图,这里提供一种样式当做参考模板,如客户无特殊需求,希望各开发按照统一的样式标准进行设计,有助于提高所有报表的统一性,后面还会提到一些规范,希望大家也可以遵守起来。

Figure 4 报表名这一行,采用黑色、二号字,加粗。列名采用白色、三号字,加粗,背景色使用淡紫色(颜色相近即可)。若每一列下面还要分列,则使用黑色、小三号字,结果数据使用黑色、四号字。 Figure 5 设定好报表样式后,开始根据逻辑进行取数,设置每一列的宽度时,如果需要在一行中完整显示的,要选择“按单元格内容扩大”,并去掉“自动换行”。

润乾集算报表呈现输出之票据套打

润乾集算报表呈现输出之票据套打 实际项目开发中,很多情况会用到票据的打印。即在一张印刷好的空白票据上,准确无误地打印上票据的内容。用传统的报表工具,我们通常会用尺子量每一个数据区域的位置,然后在屏幕上根据尺子量出的尺寸设计每个格子的位置,反复调试。这样制作一张票据打印的报表费时费力,而且一旦票据格式发生变化,报表制作人员又要重新制作报表。 集算报表采用底图描绘的方案解决套打时的报表绘制问题。将需要套打的票据扫描成图片,插入到报表设计的界面上,然后依照底图进行报表描绘,可保证每一个单元格都和单据上的数据区域严格对齐。这样设计出来的报表,打印到空白票据上,不会产生错位。 具体操作如下: 准备扫描空白票据,使用扫描仪,注意要设置像素单位,使得其和标准纸张大小一样,或者扫描之后用画图软件将图片压缩成标准纸张大小,扫描分辨率一般使用72dpi。得到空白票据图片如下图。请注意发票名称、表格线、表格中的各个标题都是空白发票已经印刷好的,报表需要填写生成的是空白部分。 使用集算报表设计器新建空白报表,并插入背景图片。 在工具菜单中选择【报表属性】,弹出报表属性窗口,选择【其它】标签,在【URL 或 表达式】中选择我们要做为背景图案的票据扫描件,点【确定】即可如图所示:

此时报表会以扫描票扫描件为背景图片,我们调整报表的行高和列宽,使报表中要要填入数据的单元格与扫描件空白区域对应,比如:C2单元格对应”发票单位”,D5单元格对应”日期”等,如图中蓝色字体所示。本例中是直接填写的字符串,实际应用中也可以从相应数据集中读取。 设置报表打印属性 1、在工具菜单中选择【报表】--【报表属性】,弹出报表属性窗口,选择”打印”标签,将 【打印背景图】选中,如图所示:

常用报表工具对比

常用报表工具对比 目前市场上主流的报表工具有,IBM公司的Cognos、SAP公司的BO、润乾公司的润乾报表等等。 1、Cognos Cognos公司的产品是由一系列的功能模块组合而成的套件,包括如下一些模块: Powerplay Enterprise Server——是PowerPlay企业级的服务器。由应用服务器和Web 服务器组成。可在Internet、广域网和局域网上发布Cubes并作为在线分析运行平台。 Impromptu Web Report—— WEB界面的报表制作和发布的专业平台。 Scenario ——系统提供的ETL工具。 4Thought——建模与预测模块,采用神经网络技术。 Impromptu——是企业级、交互式数据库查询和报表生成工具,提供查询、报表功能,针对关系型数据。 Powerplay——提供OLAP分析功能,针对多维数据PowerCube(Cognos的多维数据结构)。在Powerplay中可以钻取到Impromptu中。这是Cognos公司的集成平台。 Transformer——是一个OLAP服务器。主要用来创建模型,帮助你组织数据,将不同数据源的数据整合到PowerCube当中,形成多维数据源。 Cognos Upfont ——网络集成的门户 Upfont Access ——负责权限的设置与验证

2、BO BusinessObjects Explorer Reporter 查看、刷新、计划、分发和打印全客户文档,创建新查询和文档,OLAP 的旋转和切片以及钻取功能。 Designer 允许universe 设计者创建、管理和分发universes. universe 用日常商业商业术语代表数据结构,属于语义层 Supervisor 允许管理员进行权限管理 BusinessQuery Excel 加载项,使用BusinessObjects universe, 支持关系型和多维数据库(OLAP) BusinessMiner 发现并处理数据中的隐含关系 企业级服务器产品包括: Infoview WebIntelligence (Reporter 和Explorer) 是BusinessObjects 基于WEB的决策支持系统。Broadcast Agent 制定自动发布文档的定时机制。

润乾报表在websphere服务器下的部署操作介绍

润乾报表在websphere服务器下的部署操作

第1章配置数据源库连接池 拷贝jdbc驱动包 首先将数据库的驱动包拷贝到[WebSphere安装目录]\WebSphere\AppServer\lib目录下,如果没有数据库的驱动包可到网上下载,放到该目录下即可。 配置websphere环境变量 在配置数据源之前,可以设置一些WebSphere变量,点击配置界面左边的环境——WebSphere变量,会显示下面的界面,如图3.3.1.2_1: 图3.3.1.2_1 会看到一个名称为User-defined_JDBC_DRIVER_PATH,即驱动包的路径,设它的值为[WebSphere安装目录]\AppServer\lib。 配置JDBC提供程序 接下来开始配置数据源,先编辑JDBC提供程序的属性,点击配置界面左侧资源——JDBC——JDBC提供程序,在右侧的界面上点新建,新建一个JDBC的属性,如下图:

图3.3.1.3_1 WebSphere自带了几种数据库的配置,在这里我主要介绍配置mysql数据库的连接,而上边并没有,所以选择用户自定义的,如图3.3.1.3_2 图3.3.1.3_2 实现类名里填入的是数据库的驱动,这里是mysql的驱动 com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource,如果是别的数据库,写上自己的驱动即可,名称自己设,这里用mysql,描述里写上对此的配置的描述,一般不用管它,点下一步,进入数据库的类路径信息,如图3.3.1.3_3

图3.3.1.3_3 这用到了前边设置的WebSphere变量,databaseBinary.jar换成自己的驱动名称,也可以不用WebSphere的变量,而写该驱动包的全路径,例如: C:\IBM2\WebSphere\AppServer\lib\mysql-connector-java-3.1.13-bin.jar,然后点下一步,出现配置的总结界面,显示刚才配置的一些信息,点完成即可,则出现下界面,如图3.3.1.3_4: 图3.3.1.3_4 将会看到刚才配置的mysql出现在界面中,点击上边的保存即可。 同样,配置好的JDBC提供程序也可以再修改,点击图3.3.1.3_4首选项中需要修改的名称,进入图3.3.1.3_5所示界面:

集算报表与润乾报表的函数语法对比

集算报表与润乾报表的函数语法对比 集算报表5.0在保留润乾报表V4.x的核心功能外,进行了优化和精简,其中报表函数也做了适当优化,这里就常见计算来比较一下二者函数语法之间的差异。 对比函数一览表 1数据集函数 1.1d s.group() 润乾报表: datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGr oupExp}}}}}}) 集算报表: datasetName.group({,filter_exp};{sort1}{:order1},…;{ groupSortExp }:{ groupOrderExp })

选项: @r 是否root数据集表达式 主要改变: 1、增加@r函数选项,取代原rootGroupExp表达式参数 2、取消分组前记录的排序顺序descExp参数 3、更改排序表达式和排序顺序参数语法 举例: 1.2d s.select()/ds.select1() 润乾报表: datasetName.select( {, desc_exp{, filter_exp{, sort_exp{,rootGroupExp}}}} ) datasetName.select1(selectExp{,filterExp{,rootGroupExp}}) 集算报表: 将原ds.select()和ds.select1()合并为ds.select()语法如下 datasetName.select({: order_exp},{ filter_exp },{num_exp},{distinct_exp})选项: @r 是否root数据集表达式 主要改变: 1、增加@r函数选项,取代原rootGroupExp表达式参数 2、取消数据的排序顺序descExp参数 3、更改排序顺序参数语法 举例:

润乾报表设计器简易教程

润乾报表设计器简易教程 建立一个新的报表由存储过程的编写和表样的设计两部分组成,其中,表样的设计是利 用润乾设计器进行的。用润乾建立一个新的表样可以分为以下几步:新建数据源、连接数据源、设置参数、设置数据集、绘制表样、预览表样。 在以下步骤说明中,以预算上报下达差异表为例进行说明。该报表的查询条件包括年度、 单位和模板。表样如下所示: 2010年预算上报下达差异表 制表部门:查询单位期间:2010年单位:万元 制表人:登录用户制表时间:2010-07-26 1新建数据源 配置数据源的目的是为了连接数据库。 配置的步骤如下: 打开设计器后,点击配置——数据源,打开配置数据源的界面。 点击新建,在数据库类型中根据实际情况选择数据库类型,针对TBM系统,选择的是关系数据库,点击确定。 在数据源常规属性设置页面进行数据源的设置,如下图所示:

?数据源名称:可以任意指定,建议采取tbmbj等名称对各地数据库进行直观性 区分。 ?数据库类型:选择对应数据库类型,TBM系统采用的是DB2数据库。 ?客户端字符集:指的是从数据库取出的数据在客户端展现时的字符编码,可以采用默认的GBK。 ?数据库字符集:指的是从数据库中取过来的字符编码,根据数据库的编码类型选择,可以采用默认的GBK。 ?驱动程序:输入“com.ibm.db2.jcc.DB2Driver”即可。 ?数据源URL:数据源URL的输入格式为jdbc:db2:// IP地址:端口号/数据库名,例如:jdbc:db2://192.168.168.6:50000/tbmbj。 ?用户、口令:数据库用户名和密码。 设置完成后,点击【确定】按钮,回到数据源配置界面,关系数据库类型的数据源就配置完成了,数据源配置界面中就列出了新建的数据源。 2连接和断开数据源 选中需要连接和断开的数据源后,点击数据源配置窗口的连接或断开即可。 3设置参数 此处设置的参数是指报表中需要的参数,包括报表的查询条件、从页面URL传过来的参数等。 对于预算上报和下达差异表,需要传入两类参数:一是查询条件,包括年份dateflag、单位dptid和模板groupid;二是从URL中传过来的参数,用于显示制表部门和制表人,其中指标部门即用户在查询条件中选择的单位,无需再次设置该参数,制表人即当前登录用户,因此需设置参数userid。由于从页面或URL传入的都是ID而不是名称,所以 在设置参数的时候也是设置的dptid而不是dptname,别的参数类似。 点击配置——参数,打开参数编辑页面,点击增加后在该页面增加一条参数记录;

润乾报表集成到Eclipse开发环境

目录 1 将润乾报表整合到Eclipse Web项目 (2) 1.1 拷贝润乾报表所需文件 (2) 1.2 修改配置文件 (4) 1.3 添加数据源 (6) 1.4 多数据源配置 (7) 2 润乾报表模板配置 (7) 2.1 新建数据源 (7) 2.2 新建报表 (9) 2.3 给报表添加过滤条件 (14) 2.4 分组报表 (19) 2.5 多数据源报表 (22) 2.6 子报表 (26) 2.7 引用子报表内容 (32) 2.8 设置报表样式 (33) 3 在JSP中引用报表 (35)

1将润乾报表整合到Eclipse Web项目 1.1拷贝润乾报表所需文件 打开润乾报表程序根目录下的webapps\demo\WEB-INF\lib, 将目录下的所有jar包拷贝到Web项目的lib目录下: 打开润乾报表程序根目录下的webapps\demo\WEB-INF, 将以下文件拷贝到Web项目的WEB-INF目录下:

打开润乾报表程序根目录下的webapps\demo, 将以下文件拷贝到Web项目的WebContent目录下: 在WebContent目录下新建reportFiles目录用来存放报表文件:

将润乾报表Designer授权文件拷贝到Web项目的src目录下: 1.2修改配置文件 web.xml 打开Web项目的web.xml文件, 在web-app节点内添加如下内容: SetContextServlet com.runqian.util.webutil.SetContextServlet 2 reportServlet com.runqian.report4.view.ReportServlet configFile /WEB-INF/reportConfig.xml 1 DMServlet com.raq.web.view.DMServlet configFile /WEB-INF/dmConfig.xml 10

相关文档
最新文档