当前位置:文档之家› 润乾报表常用函数

润乾报表常用函数

润乾报表常用函数
润乾报表常用函数

润乾报表常用函数

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 数字,如果带有小数位,转换后小数位被截掉

返回值:32位整数

示例:

例1:int( "100" ) 返回:100

例2:int( 100.1 ) 返回:100

例3:int(100.9999) 返回:100

4.map函数说明

显示值对照表函数,从对照表中找出当前单元格对应值的显示值,没有则返回null

语法:map(valueListExp, displayListExp)

参数说明:

valueListExp 真实值列表,可以是可扩展单元格或结果为集合列表的表达式displayListExp 显示值列表,可以是可扩展单元格或结果为集合列表的表达式真实值列表和显示值列表一一对应

返回值:字符型,和当前格真实值对应的显示值

示例:

例1:map(to(1,3),list("男","女","不定"))

例2:map(arg1,arg2) 其中arg1为1,2,3组成的参数组,arg2为"男","

女","不定"组成的字符串组

例3:map(list(1,2,3),list("男","女","不定"))

5.Select1函数说明:从数据集中按顺序检索到符合过滤条件的第一条记录,

返回其selectExp值

语法:datasetName.select1(selectExp{,filterExp{,rootGroupExp}})

参数说明:selectExp 要选择的字段列名/列号,,也可以是表达式。列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推filterExp 过滤条件rootGroupExp 是否root数据集表达式

返回值:数据类型不定,由selectExp的运算结果决定

特别说明:当对数据集运用过滤条件后确定只剩一条记录时,虽然select的运算结果一样,但是select1运算效率高,因为他只要找到符合条件的记录,就不继续检索了,而select要检索完所有的记录才返回。

示例:

例1:ds1.select1(name) 返回数据集ds1中第一条记录的name字段值

例2:ds1.select1(name,score>90) 从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值

6.Value函数说明:取得当前单元格的值

语法:value()

返回值:当前单元格的值

7.pno函数说明:取得当前页的页码,注意,本函数只是在分页后才有效

语法:pno({booleanExp})

参数说明:booleanExp 表达式

返回值:当前页的页码。

函数示例:

pno() 返回前页在总的页表中的页码

pno(true) 返回前页在纵向分页的页表中的页码

pno(false) 返回前页在横向分页的页表中的页码

8.pcsum:计算分页后的当前页中所有的单元格(cellExp)的和,注意,本函

数只是在分页后才有效

语法:pcsum({cellExp})

参数说明:cellExp 表达式

返回值:当前页中所有的单元格(cellExp)的和

函数示例:pcsum(A2{条件}) 返回当前页中所有的A2格之和

9.pccount函数说明:计算分页后的当前页中所有的单元格(cellExp)的个数,注意,本函数只是在分页后才有效

语法:pccount({cellExp})

参数说明:cellExp 表达式

返回值:当前页中所有的单元格(cellExp)的个数

函数示例:pccount(A2{条件}) 返回当前页中所有的A2格的个数

10.now函数说明:获得系统此刻的日期时间

语法:now()

返回值:日期时间

11.if函数说明

根据布尔表达式的不同计算结果,返回不同的值。本函数从左到右计算,先出现的布尔表达式先算,如果出现为true的表达式,则返回相应的结果,后面的不再计算。如果没有一个布尔表达式为true,而且有缺省值表达式,则返回缺省值,否则返回null。

语法:if(boolExp1,valueExp1{,boolExp2,valueExp2

{,boolExp3,valueExp3 {, {defaultExp}}}})

参数说明:

boolExp(n) 布尔表达式,如果结果为真,则返回对应的值表达式计算结果valueExp(n) 值表达式,和布尔表达式一一对应

defaultExp 缺省值表达式,如果所有布尔表达式结果都为假,则返回本表达式计算结果

返回值:数据类型不定,由valueExp(n)的运算结果决定。

示例:

例1:if(value()>100,-65536,value()<=100 and

value()>80,-16776961,-14336 ) 表示当前格的值大于100时,返回-65536颜色值,当前格的值小于等于100且大于80时,返回-16776961颜色值,否则返回-14336颜色值

12.row函数说明:取得当前单元格所在行的行号

语法:row({cellExp})

参数说明: cellExp 单元格表达式(不写表示当前单元格)

返回值:整数

举例:在第三行单元格中写入=row(),返回值为3,如果第三行存在纵向扩展格,则行号依次改变。

13.group函数说明:根据分组表达式,从数据集中选出一组组集

语法:datasetName.group(

datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,gr oupSortExp{,groupDescExp{,rootGroupExp}}}}}})

参数说明:selectExp 选出的分组表达式,可以是字段列名/列号,也可以是表达式。列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推descExp 分组前记录的排序顺序,true为逆序,false为顺序

filterExp 过滤表达式sortExp 分组前记录的排序依据表达式

groupSortExp 分组后对组的排序表达式,一般是汇总运算的表达式,如组合计等groupDescExp 组排序顺序,true为逆序,false为顺序

rootGroupExp 是否root数据集表达式

返回值:一组数据的集合,数据类型由selectExp的运算结果来决定

示例:

例1:ds1.group(class) 把数据集ds1中所有记录按照class字段进行分组,并返回每组的class值组成的集合

例2:ds1.group(class, true ) 把数据集ds1中所有记录按照class字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合

例3:ds1.group(class,false,sex=='1') 从数据源ds1中选取性别为"1"

的记录,按照class字段升序排列,然后根据class进行分组,并返回每组的class值组成的集合

例4:ds1.group(class, true, sex=='1', id ) 从数据源ds1中选取性别为"1"的记录,按照id字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合

例5:ds1.group(省份,true,,,sum(工业产值),true) 对数据集ds1按照省份进行分组,分组后求出每组的sum(工业产值),然后按照这个汇总值对组进行逆序排列

14.count函数说明:对可扩展单元格或集合表达式进行计数

语法:count(expression{,containNull})

参数说明:

expression 需要被计数的单元格或表达式,一般为可扩展单元格或集合表达式

containNull 缺省为true,表示对null元素也进行计数;false则相反

返回值:整数

示例:

例1:count(A1:B10,false) 以当前格为基格计算A1和B10之间总共有几个单元格,如果单元格的值为空则不进行计数

例2:count(A1[1]:B10[3])计算A1扩展出来的第一个格和B10扩展出来的第三个格之间总共有几个单元格

例3:count(arg1) 其中arg1是参数组,统计arg1中有几个数据

例4:count(B1{})表示求得当前主格扩展区域内所有扩展后的B1单元格的个数

例5:count(B1{`0}{})表示求得根坐标下所有扩展后的B1单元格的个数15.list函数说明:获得一个枚举的数据集合

语法:list(valueExp1{,valueExp2{,valueExp3{,……}}})

参数说明:valueExp(n) 可以是常数或表达式,也可以是集合表达式返回值:一组枚举数据的集合

示例:

例1:list(1,3,5,7,9)

例2:list("abc","def","ghj")

例3:list(arg1,to(1,3),"a","b","c") 假设arg1是个整数组,其值为7,8,9,那么该表达式的结果值为{7,8,9,1,2,3,"a","b","c"}

16.Sum单元格函数说明:对可扩展单元格或集合表达式进行求和

语法:sum(expression) sum(cellExp,exp)

参数说明:expression 需要被求和的单元格或表达式,一般为可扩展单元格或集合表达式cellExp 单元格或单元格集合,以cellExp里的单元格为当前格计算表达式exp exp 表达式

返回值:实数或者字符型,由被汇总的单元格数据类型决定

示例:例1:sum(A1:A10) 求出单元格A1至A10的合计值,被统计单元格可以是数值型也可以是字符型

例2:sum(arg1) 其中arg1是参数组,求出arg1中所有元素的合计值

例3:sum(B1{})表示求得当前主格扩展区域内所有扩展后的B1单元格的合计值

例4:sum(B1[`0]{}) 表示求得根坐标下所有扩展后的B1单元格的合计值

例5:sum(A1[`0]{},B1+C1) 计算分别与每个A1相对应的B1、C1的和的合计值

默认汇总规则的格式:sum(cell{})。

17.date函数说明:将字符串转换成日期型数据语法:date(stringExp)

参数说明:stringExp 字符串表达式,其结果必须返回合法日期格式的字符串要求格式为yyyy-MM-dd,不含时间,如果含了时间,时间部分不转换

返回值:日期时间型,但是时间部分都为00:00:00

示例:

例1:date("1982-08-09") 返回日期:1982-08-09 00:00:00

例2:date("1982-08-09 10:20:30") 返回日期:1982-08-09 00:00:00 18.dselect函数说明:从数据集的当前行集中选取符合条件的记录,选出字段相

同的行将会只保留第一行

语法:datasetName.dselect( {,

filter_exp{,rootGroupExp}} )

参数说明:select_exp 要选择的字段列名/列号,,也可以是表达式。列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推filter_exp 数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位。

rootGroupExp 是否root数据集表达式

返回值:一组数据的集合,数据类型由select_exp的运算结果决定函数

示例:例1:ds1.dselect( name ) 从数据源ds1中选取name字段列的所有值,name相同的纪录只会保留第一个

19.eval函数说明:动态解析并计算表达式

语法:eval( StringExp ) eval( StringExp, SubRptExp )

eval( StringExp, DataSetExp )

参数说明:StringExp 待计算的表达式串SubRptExp 嵌入式子报表对象,一般是含有子报表的单元格DataSetExp 数据集对象,一般是ds函数

函数示例:

例1:eval( "1+5" ) 返回6

例2:ds1.count( eval("id > 1 and id < 10") ) 返回数据集ds1中id 大于1且小于10的记录个数特殊使用:

例3:eval("B2+10", A1)或eval("B2",A1)+10,其中A1为嵌入式子报表,表示计算A1子报表中的B2+10

例4:eval("salary+100", ds("ds1")),表示计算数据集ds1中salary 加100,它与eval("ds1.salary+100")等效

20.Count数据集函数说明:计算数据集当前记录行集中,满足条件的记录数

语法:

datasetName.count({filterExp{,rootGroupExp{,nullCheckExp}}})

参数说明:filterExp 条件表达式,如果全部选出,则不要此参数,

rootGroupExp 是否root数据集表达式nullCheckExp 检查某一条记录是否为空的标达式

返回值:整数

举例:

例1:ds1.count() 表示对ds1中当前记录行集中所有记录进行计数,返回记录数。

例2:ds1.count(true) 含义同上,但是运算速度比ds1.count()慢,因此当记录全部选出时,建议不要true

例3:ds1.count(quantity>500) 表示从ds1当前记录行集中选出

quantity>500的记录进行计数,返回记录数。

例4:ds1.count(,,ID) 表示当前记录行集中ID不为空的纪录数目

21.sum数据集函数说明:从数据集当前记录行集中检索出符合条件的记录集合,算出给定字段或表达式的汇总值

语法:datasetName.sum(selectExp{,filterExp{,rootGroupExp}})

参数说明:selectExp 需求和的字段或表达式filterExp 条件表达式

rootGroupExp 是否root数据集表达式

返回值:实数

示例:

例1:ds1.sum(quantity) 求得数据集ds1当前行集中quantity字段的汇总值

例2:ds1.sum(quantity,productid=="1") 从数据集ds1当前行集中检索出productid="1"的记录集,求得其quantity字段的汇总值

22.enumGroup函数说明:根据表达式的不同计算结果,返回不同的值,然

后按这些值进行分组

本函数:从左到右计算,先出现的表达式先算,如果出现满足的表达式,则返回相应的结果,后面的不再计算。如果没有一个表达式满足条件,而且有缺省值表达式,则返回缺省值,否则返回null。

语法:

ds.enumGroup({hasNullGroup{,termExp1,resultExp1{,term2,resultExp2{,...{,defaultExp}}}}})

参数说明:

hasNullGroup 布尔表达式,true返回空组,false不返回空组

termExp(n) 条件表达式

resultExp(n) 返回结果表达式

defaultExp 缺省值表达式,如果所有表达式结果都不满足,则返回本表达式计算结果

返回值:一组数据的集合,数据类型由resultExp1的运算结果决定

函数示例:

例1:ds1.enumGroup(true,类别ID==1 or 类别ID==3,"副食品",类别ID==6,"肉类","其他")

将数据集中满足类别ID==1 or 类别ID==3的记录归到“副食品”组中,满足类别ID==6的记录归到“肉类”组中,其他的记录归到“其他”组中

23.overLap函数说明:对每一条记录依次计算条件表达式,如果满足则把

该条记录加入到相应的组里。如果有多个组满足,则这些组中都会含有此条记录。如果都不满足并且有缺省值表达式,则把该条记录加入到缺省组中。

组值为以该组的第一条记录计算结果表达式所得到的值。

语法:

ds.overlap({hasNullGroup{,termExp1,resultExp1{,term2,resultExp2{,...{,defaultExp}}}}})

参数说明:

hasNullGroup 布尔表达式,true返回空组,false不返回空组

termExp(n) 条件表达式

resultExp(n) 返回结果表达式

defaultExp 缺省值表达式,如果所有表达式结果都不满足,则返回本表达式计算结果

返回值:一组数据的集合,数据类型由resultExp1的运算结果决定

函数示例:

例1:ds1.overlap(true,货主地区=="华北","华北",货主城市=="北京"," 其中:北京",货主地区=="华南","华南",货主地区=="华中","华中","其他")

把数据集中满足“货主地区=="华北"”的记录归到"华北"组中,满足“货主城市=="北京"”的记录归到" 其中:北京"组中,满足“货主地区=="华南"”的记录归到"华南"组中,满足“货主地区=="华中"”的记录归到"华中"组中,剩余的记录归到"其他"组中。

24.plot函数说明: 计算一个值在一个完全划分中的位置

语法: plot( valueExp, ListExp{, eqExp}{, ascExp} )

参数说明:

valueExp 返回值的表达式,值可以是字符串、数值、日期、时间等

ListExp 返回同valueExp数据类型相同的数组,要求其中元素从小到大排列

eqExp 返回布尔值的表达式,缺省为false,为false表示与ListExp元素比较时不包含等于ascExp 返回布尔值的表达式,缺省为true,即表示ListExp中元素从小到大排列,否则为从大到小排列

示例:

例1:plot( 0, list(0,10,100) ) 返回1,第一个集合为<0,不包含0,第二个集合为>=0且<10,所以0落在了第二个集合中,集合的编号从0开始起编,依次为0,1,2,3,所以结果为1

例2:plot( 0, list(0,10,100),true,true) 返回0

例3:plot( 10, list(0,10,100), false ) 返回2

例4:plot(10,list(100,10,0),true,false) 返回1

详细说明:划分是指将一个集合划分成几个集合,如数组{0,10,100}在eqExp返回false的情况下将整数集或实数集划分成4个集合,依次分别是<0、<10(此集合中元素必定>=0)、<100(此集合中元素必定>=10)及其它(即>=100);在eqExp返回true的情况下将整数集或实数集划分成4个集合,分别是<=0、<=10(且>0)、<=100(且>10)及其它(即>100);对于数组{100,10,0},eqExp为false时也划分成4个集合,分别为>100,>10(且<=100),>0(且<=10)及其它(即<=0); eqExp为true时则为>=100,>=10(且<100),>=0(且<10)及其它(即<0)

润乾报表常用函数

润乾报表常用函数 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)

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

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

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 设定好报表样式后,开始根据逻辑进行取数,设置每一列的宽度时,如果需要在一行中完整显示的,要选择“按单元格内容扩大”,并去掉“自动换行”。

常用报表工具对比

常用报表工具对比 目前市场上主流的报表工具有,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

润乾报表实现预置分组报表及改进

润乾报表实现预置分组报表及改进 预置分组报表在报表开发中比较常见而且比较棘手。所谓预置分组报表是指分组没有规律,可能是分组范围没有规律,也可能分组顺序没有规律,需要报表开发人员事先预置(固定)分组的报表。常见的预置分组报表一般有如下三类:按段分组报表、固定次序分组报表、多层固定次序分组报表。下面分别看一下这几类报表的特点,以及润乾报表的实现方法。 按段分组报表 这类报表的特点是分段的区间并未在数据库中存储需要根据相应字段(如年龄、日期)计算,并且每个分段可能会发生变化(如每年节假日所在日期可能不同),经常由用户随意指定。如:统计20-30岁,30-40岁,40-50岁各年龄段的用户数量;每年节假日(春节、端午节、国庆节)期间公路铁路承载的旅客统计。 下面通过实例说明,报表样式如下: 该报表是根据订单表统计各(预置)时间段内,各地区的订单数量、订单金额汇总。其中各时间段范围为: 【1996年圣诞前:date <= 1996-12-25 1996年圣诞--1997年国庆:1996-12-25 <=date <= 1997-10-1 1997年国庆--1998年五一:1997-10-1 < date <= 1998-5-1 1998年五一以后:date>1998-5-1】 实现 润乾报表实现该类按段分组报表主要使用ds.plot()函数,计算一个值在一个完全划分中的位置。报表模板及其表达式如下: 其中,参数arg1为日期组,默认值为:1996-12-25,1997-10-1,1998-5-1。 设置B1显示值表达式:map(to(0,count(arg1)+1),arg2),其中参数arg2为字符串组,默认值为:1996年圣诞前,1996年圣诞--1997年国庆,1997年国庆--1998年五一,1998年五一以后。 使用ds.plot()函数可以非常方便地实现上述报表,而且可以通过该函数的参数控制是否包含边界,对于分组较少并且边界包含规律的分组报表尤其适用。 不过,当段界包含不规律时则无法使用ds.plot()实现,比如上例中如果时间范围变成:

润乾报表使用手册

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

目录 1 概述.................................................................................................................................. - 4 - 2 安装.................................................................................................................................. - 4 - 2.1 准备好安装程序 ............................................................................................ - 4 - 2.2 安装中的选项................................................................................................. - 4 - 2.3 授权文件配置................................................................................................. - 5 - 3 报表制作.......................................................................................................................... - 6 - 3.1 报表制作要求................................................................................................. - 6 - 3.2 制作一张报表的步骤.................................................................................... - 6 - 3.3 启动报表设计器 ............................................................................................ - 7 - 3.4 连接数据源..................................................................................................... - 8 - 3.4.1 数据源对话框 ........................................................................................... - 8 - 3.4.2 编辑数据源 ............................................................................................... - 8 - 3.4.3 注意事项.................................................................................................. - 10 - 3.5 设计报表格式............................................................................................... - 11 - 3.5.1 格式设计.................................................................................................. - 11 - 3.5.2 需注意事项 ............................................................................................. - 12 - 3.6 定义参数....................................................................................................... - 12 - 3.6.1 参数的编辑 ............................................................................................. - 12 - 3.6.2 常用参数举例 ......................................................................................... - 13 - 3.7 定义宏........................................................................................................... - 13 - 3.7.1 宏的编辑.................................................................................................. - 13 -

相关主题
相关文档 最新文档