函數示例:
例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})
主要改變:函數名稱變化。
舉例: