集算報表與潤乾報表的函數文法對比,報表
集算報表5.0在保留潤乾報表V4.x的核心功能外,進行了最佳化和精簡,其中報表函數也做了適當最佳化,這裡就常見計算來比較一下二者函數文法之間的差異。
對比函數一覽表
1、資料集函數 1.1、ds.group()
潤乾報表:
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、 更改排序運算式和排序次序參數文法。
舉例:
1.2、ds.select()/ds.select1()
潤乾報表:
datasetName.select( <select_exp>{,desc_exp{, filter_exp{, sort_exp{,rootGroupExp}}}} )
datasetName.select1(selectExp{,filterExp{,rootGroupExp}})
集算報表:
將原ds.select()和ds.select1()合并為ds.select(),文法如下:
datasetName.select(<select_exp>{:order_exp},{ filter_exp },{num_exp},{distinct_exp})
選項:
@r 是否root資料集運算式。
主要改變:
1、 增加@r函數選項,取代原rootGroupExp運算式參數;
2、 取消資料的排序次序descExp參數;
3、 更改排序次序參數文法。
舉例:
1.3、ds.sum()
潤乾報表:
datasetName.sum(selectExp{,filterExp{,rootGroupExp}})
集算報表:
datasetName.sum(selectExp{,filterExp})
選項:
@r 是否root資料集運算式
主要改變:增加@r函數選項,取代原rootGroupExp運算式參數。
舉例:
2、單元格函數 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.2、if()
潤乾報表:
if(boolExp1,valueExp1{,boolExp2,valueExp2{,boolExp3,valueExp3 {, {defaultExp}}}})
集算報表:
if(x1:y1,…,xk:yk;y)
主要改變:函數參數分隔字元變化。
舉例:
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})
主要改變:函數名稱變化。
舉例: