首页 > 代码库 > 集算报表与润乾报表的函数语法对比

集算报表与润乾报表的函数语法对比

        集算报表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})

 

        主要改变:函数名称变化。

 

        举例:



集算报表与润乾报表的函数语法对比