函数示例:
例1:ds1.select( name )
从数据源ds1中选取name字段列的所有值,不排序
例2:ds1.select( #2, true )
从数据源ds1中选取第二个字段列的所有值并降序排列
例3:ds1.select( name,false,sex=='1')
从数据源ds1中选取性别为男性('1')的name字段列的值并升序排列
例4:ds1.select( name, true, sex=='1', id )
从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列
=====================================================================
示例:
例1:ds1.select1(name)
返回数据集ds1中第一条记录的name字段值
例2:ds1.select1(name,score>90)
从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值
======================================================================
示例:
例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(工业产值),
然后按照这个汇总值对组进行逆序排列
润乾报表:
datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGroupExp}}}}}})
集算报表:
datasetName.group(<selectExp>{,filter_exp};{sort1}{:order1},…;{groupSortExp }:{ groupOrderExp })
选项:
@r 是否root数据集表达式。
主要改变:
1、 增加@r函数选项,取代原rootGroupExp表达式参数;
2、 取消分组前记录的排序顺序descExp参数;
3、 更改排序表达式和排序顺序参数语法。
举例:
======================================================================
函数说明:
获得一个枚举的数据集合
语法:
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"}
======================================================================
函数说明:
根据指定位置返回数组或者集合表达式中的某一个元素
语法:
valueat(arrayexp,suffixExp)
参数说明:
arrayexp 数组或者集合表达式
suffixExp 整数,用于指定返回集合中的第几个元素,以0开始计数
返回值:
集合中的一个元素,数据类型由集合中的元素类型决定
示例:
例1:valueat(to(5,8),2) 返回值为:7
例2:valueat({"a","b","c"},0) 返回值为:"a"
===================================================
函数示例:
例1:ds1.select( name )
从数据源ds1中选取name字段列的所有值,不排序
例2:ds1.select( #2, true )
从数据源ds1中选取第二个字段列的所有值并降序排列
例3:ds1.select( name,false,sex=='1')
从数据源ds1中选取性别为男性('1')的name字段列的值并升序排列
例4:ds1.select( name, true, sex=='1', id )
从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列
=====================================================================
示例:
例1:ds1.select1(name)
返回数据集ds1中第一条记录的name字段值
例2:ds1.select1(name,score>90)
从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值
======================================================================
示例:
例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(工业产值),
然后按照这个汇总值对组进行逆序排列
======================================================================
函数说明:
获得一个枚举的数据集合
语法:
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"}
======================================================================
函数说明:
根据指定位置返回数组或者集合表达式中的某一个元素
语法:
valueat(arrayexp,suffixExp)
参数说明:
arrayexp 数组或者集合表达式
suffixExp 整数,用于指定返回集合中的第几个元素,以0开始计数
返回值:
集合中的一个元素,数据类型由集合中的元素类型决定
示例:
例1:valueat(to(5,8),2) 返回值为:7
例2:valueat({"a","b","c"},0) 返回值为:"a"
======================================================================
函数示例:
例1:ds1.select( name )
从数据源ds1中选取name字段列的所有值,不排序
例2:ds1.select( #2, true )
从数据源ds1中选取第二个字段列的所有值并降序排列
例3:ds1.select( name,false,sex=='1')
从数据源ds1中选取性别为男性('1')的name字段列的值并升序排列
例4:ds1.select( name, true, sex=='1', id )
从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列
=====================================================================
示例:
例1:ds1.select1(name)
返回数据集ds1中第一条记录的name字段值
例2:ds1.select1(name,score>90)
从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值
======================================================================
示例:
例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(工业产值),
然后按照这个汇总值对组进行逆序排列
======================================================================
函数说明:
获得一个枚举的数据集合
语法:
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"}
======================================================================
函数说明:
根据指定位置返回数组或者集合表达式中的某一个元素
语法:
valueat(arrayexp,suffixExp)
参数说明:
arrayexp 数组或者集合表达式
suffixExp 整数,用于指定返回集合中的第几个元素,以0开始计数
返回值:
集合中的一个元素,数据类型由集合中的元素类型决定
示例:
例1:valueat(to(5,8),2) 返回值为:7
例2:valueat({"a","b","c"},0) 返回值为:"a"
======================================================================
函数示例:
例1:ds1.select( name )
从数据源ds1中选取name字段列的所有值,不排序
例2:ds1.select( #2, true )
从数据源ds1中选取第二个字段列的所有值并降序排列
例3:ds1.select( name,false,sex=='1')
从数据源ds1中选取性别为男性('1')的name字段列的值并升序排列
例4:ds1.select( name, true, sex=='1', id )
从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列
=====================================================================
示例:
例1:ds1.select1(name)
返回数据集ds1中第一条记录的name字段值
例2:ds1.select1(name,score>90)
从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值
======================================================================
示例:
例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(工业产值),
然后按照这个汇总值对组进行逆序排列
======================================================================
函数说明:
获得一个枚举的数据集合
语法:
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"}
======================================================================
函数说明:
根据指定位置返回数组或者集合表达式中的某一个元素
语法:
valueat(arrayexp,suffixExp)
参数说明:
arrayexp 数组或者集合表达式
suffixExp 整数,用于指定返回集合中的第几个元素,以0开始计数
返回值:
集合中的一个元素,数据类型由集合中的元素类型决定
示例:
例1:valueat(to(5,8),2) 返回值为:7
例2:valueat({"a","b","c"},0) 返回值为:"a"
======================================================================
if 函数
1. 单个判断
if(@value == null,"空","非空")
2.嵌套判断
if(@value == null,“空”,if(@value ==1,“1”,“非1”))
3.多条件判断
if(@value>1and@value<3,"大于1小于3 ",“小于1 大于3”)
===========================================================
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不为空的记录数目
============================================================================================================================
==============================================================================================================================
ds.sum()
润乾报表:
datasetName.sum(selectExp{,filterExp{,rootGroupExp}})
集算报表:
datasetName.sum(selectExp{,filterExp})
选项:
@r 是否root数据集表达式
主要改变:增加@r函数选项,取代原rootGroupExp表达式参数。
举例:
===============================================================================
2.1、call()/call2()
润乾报表:
call(sqlStatement{,arg1{,arg2{,arg3{,……}}}})
call(dbName,sqlStatement{,arg1{,arg2{,arg3{,……}}}})
集算报表:
将原call()和call2()合并为call(),语法如下
call(sqlStatement{,arg1{,arg2{,arg3{,……}}}}{;dbName})
主要改变:数据源参数顺序改变,并作为可选参数。
举例:
=======================================================================================
2.3、nvl()
润乾报表:
nvl( valueExp1, valueExp2 )
集算报表:
ifn( valueExp1, valueExp2 )
主要改变:函数名称变化。
举例:
2.4、sum()
润乾报表:
sum(expression)
sum(cellExp,exp)
集算报表:
sum(expression)
sum(cellExp,exp)
主要改变:无。
举例:
2.5、value()
表示当前单元格的值,集算报表与润乾报表用法相同,没有改变。
3、时间日期函数
3.1、date()
润乾报表:
date(stringExp)
集算报表:
date(stringExp)
date(year,month,day)
主要改变:增加函数参数类型。
举例:
3.2、datetime()/datetime2()
润乾报表:
dateTime(string)
dateTime(long)
datetime2(string, format)
集算报表:
将原dateTime()和dateTime2()合并为datetime(),语法如下
datetime(string)
datetime(long)
主要改变:无。
举例:
3.3、daysAfter()
润乾报表:
daysAfter(dateExp1, dateExp2)
集算报表:
interval (datetimeExp1,datetimeExp2)
选项:
@y 计算两个日期时间型数据相差几年;
@q 计算两个日期时间型数据相差几季度;
@m 计算两个日期时间型数据相差几月;
@s 计算两个日期时间型数据相差几秒;
@ms 计算两个日期时间型数据相差几毫秒;
@r 计算两个日期时间型数据间隔,返回实数;
缺省为计算两个日期时间型数据相差几天。
主要改变:
1、 函数名称变化;
2、 增加了若干函数选项,以满足不同需要。
举例:
3.4、lastday()/lastmonth()/lastyear()/relDate()/relTime()
润乾报表:
lastday(dateExp)
lastmonth( dateExp )
lastyear( dateExp )
relDate(dateExp, nExp)
relTime(datetimeExp, nExp)
集算报表:
将原lastday()/lastmonth()/lastyear()/relDate()/relTime()合并为afert(),语法如下
after (dateExp, n)
选项:
@y 计算与指定日期相差n年的新日期数据;
@q 计算与指定日期相差n季度的新日期数据;
@m 计算与指定日期相差n月的新日期数据;
@s 计算与指定日期相差n秒的新的日期时间数据;
@ms 计算与指定日期相差n毫秒的新的日期时间数据;
缺省时表示算出给定日期n天后的新日期数据。
主要改变:
1、 函数名称变化;
2、 增加若干函数选项以满足不同需要。
举例:
3.5、monthbegin()/monthend()/queterbegin()/quaterend()/weekbegin()/weekend()
润乾报表:
monthbegin( dateExp )
monthend( dateExp )
quaterbegin( dateExp )
quaterend( dateExp )
weekbegin(dateExp)
weekend(dateExp)
集算报表:
将原monthbegin()/monthend()/queterbegin()/quaterend()/weekbegin()/weekend()合并为pdate(),语法如下
pdate (dateExp)
选项:
@w 获得指定日期所在星期的星期天;
@we 获得指定日期所在星期的星期六;
@m 取得指定日期所在月的月首;
@me 取得指定日期所在月的月末;
@q 取得指定日期所在季度的首日;
@qe 取得指定日期所在季度的末日;
缺省为获得指定日期所在星期的星期天。
主要改变:
1、 函数名称变化;
2、 增加若干函数选项以满足不同需要。
举例:
4、字符串函数
4.1、like()
润乾报表:
like( stringExp, formatExp{, ignoreCase} )
集算报表:
like( stringExp, formatExp{, ignoreCase} )
主要改变:无。
举例:
4.2、rplc()
润乾报表:
rplc( srcExp,subStrA,rplcStrB{,boolExp})
集算报表:
replace( src,a,b)
选项:
@q 引号里的字符不需要进行替换
主要改变:
1、 函数名称变化;
2、 增加@q选项替代原boolExp参数,使引号里的字符不需要进行替换。
举例:
4.3、split()
润乾报表:
split( srcExp,sepExp{,boolExp})
集算报表:
split( srcExp,sepExp{,boolExp})
主要改变:无。
举例:
5、数据类型转换函数
5.1、str()
润乾报表:
str(expression{, format})
集算报表:
string(expression{, format})
主要改变:函数名称变化。
举例: