润乾报表常用函数.docx
- 文档编号:6386121
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:10
- 大小:26.42KB
润乾报表常用函数.docx
《润乾报表常用函数.docx》由会员分享,可在线阅读,更多相关《润乾报表常用函数.docx(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(
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()<=100andvalue()>80,-16776961,-14336)表示当前格的值大于100时,返回-65536颜色值,当前格的值小于等于100且大于80时,返回-16776961颜色值,否则返回-14336颜色值
12.row函数说明:
取得当前单元格所在行的行号
语法:
row({cellExp})
参数说明:
cellExp单元格表达式(不写表示当前单元格)
返回值:
整数
举例:
在第三行单元格中写入=row(),返回值为3,如果第三行存在纵向扩展格,则行号依次改变。
13.group函数说明:
根据分组表达式,从数据集中选出一组组集
语法:
datasetName.group( 参数说明: 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里的单元格为当前格计算表达式expexp表达式 返回值: 实数或者字符型,由被汇总的单元格数据类型决定 示例: 例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-0900: 00: 00 例2: date("1982-08-0910: 20: 30")返回日期: 1982-08-0900: 00: 00 18.dselect函数说明: 从数据集的当前行集中选取符合条件的记录,选出字段相同的行将会只保留第一行 语法: datasetName.dselect( 参数说明: 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>1andid<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==1or类别ID==3,"副食品",类别ID==6,"肉类","其他") 将数据集中满足类别ID==1or类别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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报表 常用 函数