zoukankan      html  css  js  c++  java
  • 润乾报表函数

     函数示例:

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

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

    举例:

  • 相关阅读:
    将博客搬至CSDN
    NOIP2018酱油记
    CF 1039D You Are Given a Tree && CF1059E Split the Tree 的贪心解法
    最大异或子序列问题
    UVa 10615
    UVa 1057
    用树状数组代替平衡树
    [CTSC2008]图腾totem
    POI2008 题解
    简便思路的题目别人的做法
  • 原文地址:https://www.cnblogs.com/cuixiaomeng/p/11009333.html
Copyright © 2011-2022 走看看