潤乾報表函數


 函數示例:

        例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})

主要改變:函數名稱變化。

舉例:

\


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM