函数说明:
        从数据集中按顺序检索到符合过滤条件的所有记录,返回纪录的组,注意该函数不能返回具体值,函数只能用在附加数据集中
       
    语法:
        datasetName.filterCross(filterExp{,rootGroupExp})
       
    参数说明:
        filterExp        过滤条件
        rootGroupExp        是否root数据集表达式
       
    返回值:
        返回行
       
    示例:
        例1:ds1.filterCross(name=="1")
                返回数据集ds1中记录的name字段是"1"的所有行
               
        例2:ds.filterCross(score>90)
                从数据集ds1中检索出成绩大于90的记录
        本函数与filter函数的唯一区别是:filter是拿当前行或者组的第一行与ds进行过滤,
                                                                    而本函数则是拿当前的行或者组与ds进行过滤.
        当过滤条件里用到的列是当前分组,或者列表中指定的列时,这两个函数运算的结果是相同的,这个时候要用filter.
        建议尽量少用这个函数,因为当数据量大时,本函数的运算速度极其慢.
       

 

    函数说明:
        从数据集满足条件的记录集合中,选出第一条记录,
        返回给定字段或表达式的值
       
    语法:
        datasetName.first(selectExp{,descExp{,filterExp{,sortExp{,rootGroupExp}}}})
       
    参数说明:
        selectExp        要选择的字段列,可以是字段列名/列号,也可以是表达式。
                                列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
                               
        descExp        排序的顺序,true代表逆序,false代表顺序
        filterExp    过滤条件表达式
        sortExp        排序依据表达式
        rootGroupExp    是否root数据集表达式
       
    返回值:
        数据类型不定,由selectExp的计算结果决定
       
    举例:
        例1:ds1.first(name,true,score>90,id)
                从ds1数据集中选出成绩大于90的记录,按照id逆序排列,
                返回第一条记录的name字段值
               
        例2:ds1.first(name,true,,score)
                    对ds1数据集的所有记录按照成绩逆序排列,然后返回第一条记录的name字段值
               
        例3:ds1.first(name)    返回数据集ds1中第一条记录的name字段值

 

    函数说明:
        根据分组表达式,从数据集中选出一组组集。
       
    语法:
        datasetName.group( <selectExp>, , <filterExp> )
        //适用于不需要排序或数据集中已排好序
       
        datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGroupExp}}}}}})

    参数说明:
        selectExp        选出的分组表达式,可以是字段列名/列号,也可以是表达式。
                        列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
                                   
        descExp            分组前记录的排序顺序,true为逆序,false为顺序
        filterExp        过滤表达式
        sortExp            分组前记录的排序依据表达式
        groupSortExp        分组后对组的排序表达式,一般是汇总运算的表达式,如组合计等
        groupDescExp        组排序顺序,true为逆序,false为顺序
        rootGroupExp        是否root数据集表达式

    返回值:
        一组数据的集合,数据类型由selectExp的运算结果来决定

    示例:
        例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.groupEx(selectExp{,filterExp{, "sort_exp1, desc_exp1{;sort_exp2, desc_exp2{;...}}"{,groupSortExp{
            ,groupDescExp{,rootGroupExp}}}}})

    参数说明:
        selectExp    选出的分组表达式,可以是字段列名/列号,也可以是表达式。
                    列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
        filterExp    过滤表达式
        sort_exp1    数据排序表达式。按desc_exp1排序。
        desc_exp1    指定数据排序的顺序,true表示降序排列,false表示升序排列。
        sort_exp2    数据排序表达式。将sort_exp1相同的字段,按desc_exp2排序。
        desc_exp2    指定数据排序的顺序,true表示降序排列,false表示升序排列。
        ......
        groupSortExp    分组后对组的排序表达式,一般是汇总运算的表达式,如组合计等
        groupDescExp    组排序顺序,true为逆序,false为顺序
        rootGroupExp    是否root数据集表达式

    返回值:
        一组数据的集合,数据类型由selectExp的运算结果来决定

    示例:
          例1:ds1.groupEx(sex,,"grade,true;name")
                从数据源ds1中选取grade字段列的值并降序排列,然后把name相同的按成绩升序排列,然后按sex字段分组
       

    函数说明:
        判断数据集中是否有该列名
       
    语法:
        datasetName.isfield( stringExp )
       
    参数说明:
        stringExp        待判断的列名表达式
       
    返回值:
        布尔型
       
    举例:
        例1:ds1.isfield("score")    返回true,表示ds1中含有score这个列名

 

    函数说明:
        从数据集满足条件的记录集合中,选出最后一条记录,返回给定字段或表达式的值
       
    语法:
        datasetName.last(selectExp{,descExp{,filterExp{,sortExp{,rootGroupExp}}}})
       
    参数说明:
        selectExp        要选择的字段列,可以是字段列名/列号,也可以是表达式。
                                列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
                               
        descExp            排序的顺序,true代表逆序,false代表顺序
        filterExp        过滤条件表达式
        sortExp            排序依据表达式
        rootGroupExp        是否root数据集表达式
       
    返回值:
        数据集中最后一条记录指定字段的值,数据类型由selectExp的运算结果决定
       
    示例:
        例1:ds1.last(name,true,,score)
                将ds1数据集的记录按成绩逆序排列,并返回最后一条记录的name字段值
               
       
   

    函数说明:
        从数据集中,从满足条件的记录中,选出给定字段或表达式的最大值
       
    语法:
        datasetName.max(selectExp{,filterExp{,rootGroupExp}})
       
    参数说明:
        selectExp        需要获得最大值的字段或表达式
                        如果用列号,列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
                               
        filterExp        过滤表达式
        rootGroupExp        是否root数据集表达式
       
    返回值:
        集合中的最大值,数据类型不定,由selectExp的运算结果决定
       
    示例:
        例1:ds1.max(score)        获得数据集ds1中的score最大值
       
        例2:ds1.max(score,sex=="1")    获得数据集ds1中sex="1"的记录中score最大值
   

 

    函数说明:
        从数据集中,从满足条件的记录中,选出给定字段或表达式的最小值
       
    语法:
        datasetName.min(selectExp{,filterExp{,rootGroupExp}})
       
    参数说明:
        selectExp        需要获得最小值的字段或表达式
                        如果用列号,列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
                               
        filterExp        过滤表达式
        rootGroupExp        是否root数据集表达式
       
    返回值:
        集合中的最大值,数据类型不定,由selectExp的运算结果决定
       
    示例:
        例1:ds1.min(score)        获得数据集ds1中的score最小值
       
        例2:ds1.min(score,sex=="1")    获得数据集ds1中sex="1"的记录中score最小值

 

    函数说明:
        对每一条记录依次计算条件表达式,如果满足则把该条记录加入到相应的组里。如果有多个组满足,则这些组中都会
        含有此条记录。如果都不满足并且有缺省值表达式,则把该条记录加入到缺醒组中。组值为以改组的第一条记录计算
        结果表达式所得到的值。
    语法:
        ds.overlap({hasNullGroup{,termExp1,resultExp1{,term2,resultExp2{,...{,defaultExp}}}}})
    参数说明:
        hasNullGroup        布尔表达式,true返回空组,false不返回空组
        termExp(n)          条件表达式
        resultExp(n)        返回结果表达式
        defaultExp          缺省值表达式,如果所有表达式结果都不满足,则返回本表达式计算结果

 

 

    函数说明:
        根据数据值段进行分组,俗称“按段分组”
       
    语法:
        datasetName.plot( valueExp, listExp{, filterExp{, eqExp{, ascExp{,rootGroupExp}}}} )
       
    参数说明:
        valueExp        用于分组的值表达式
        ListExp            数据值段列表,同valueExp数据类型相同的数组,要求其中元素从小到大排列
        filterExp        过滤表达式
        eqExp            返回布尔值的表达式,缺省为false,表示与元素比较时不包含等于
        ascExp            返回布尔值的表达式,缺省为true,表示listExp返回的数组按从小到大排,否则为从大到小排
        rootGroupExp        是否root数据集表达式
       
    特别说明:
        ascExp为true(即listExp从小到大排列)时,eqExp为true时,与元素比较时采用<=,eqExp为false时,采用<;
        ascExp为false(即listExp从大到小排列)时,eqExp为true时,与元素比较时采用>=,eqExp为false时,采用>
       
    返回值:
        整数组,代表记录按值段分组后组的顺序,如list(0,1,2,3)代表第一组,第二组,第三组,第四组
        因此,定义完单元格数据值表达式后还需要定义显示值表达式,比如第一组代表不及格,第二组代表及格等等
       
    示例:
        例1:ds1.plot(成绩,list(60,80,90),,true,false)    返回值为list(0,1,2,3)
                对数据集ds1的记录按成绩段进行分组,60分以下、60-80,80-90,90分以上等四组
                同时定义显示值表达式为:map(list(0,1,2,3),list(不及格,及格,良好,优秀))
               
        例2:ds1.plot(成绩,arg1,,true,false)    其中arg1为整数组,其值为list(60,70,80,90)
                显示值表达式为:map(to(0,count(arg1)),arg2),其中arg2为字符串组,
                其值为{"不及格","及格","中","良好","优秀"}
                本例通过参数动态控制分组值段以及结果组的显示值
   

 

    函数说明:
        从数据集的当前行集中选取符合条件的记录
    语法:
        datasetName.select( <select_exp>{, desc_exp{, filter_exp{, sort_exp{,rootGroupExp}}}} )
       
        datasetName.select( <select_exp>, , <filter_exp> )//适用于不需排序或数据集中已排好序           

    参数说明:
        select_exp:    要选择的字段列名/列号,,也可以是表达式。
                    列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
        desc_exp:    指定数据排序的顺序,true表示降序排列,false表示升序排列。
        filter_exp:    数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位。
        sort_exp:    数据排序表达式。当此项为空时先检查desc_exp是否为空,如果为空,
                    则不排序,否则使用select_exp排序。
        rootGroupExp    是否root数据集表达式
                               
    返回值:
        一组数据的集合,数据类型由select_exp的运算结果决定
       
    函数示例:
        例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字段降序排列

 

 

    函数说明:
        从数据集中按顺序检索到符合过滤条件的第一条记录,返回其selectExp值
       
    语法:
        datasetName.select1(selectExp{,filterExp{,rootGroupExp}})
       
    参数说明:
        selectExp        要选择的字段列名/列号,,也可以是表达式。
                    列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
        filterExp        过滤条件
        rootGroupExp        是否root数据集表达式
       
    返回值:
        数据类型不定,由selectExp的运算结果决定
       
    特别说明:
        当对数据集运用过滤条件后确定只剩一条记录时,虽然select
        的运算结果一样,但是select1运算效率高,因为他只要找到符合条件的记录,
        就不继续检索了,而select要检索完所有的记录才返回。
       
    示例:
        例1:ds1.select1(name)
                返回数据集ds1中第一条记录的name字段值
               
        例2:ds1.select1(name,score>90)
                从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值
               

 

    函数说明:
        从数据集的当前行集中选取符合条件的记录
    语法:
        datasetName.selectEx( <select_exp>{filter_exp{, "sort_exp1, desc_exp1{;sort_exp2, desc_exp2{;...}}"{,rootGroupExp}}} )       

    参数说明:
        select_exp    要选择的字段列名/列号,,也可以是表达式。
                    列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
        filter_exp    数据过滤表达式,如果全部选出,则此参数省略,仅用","占位。
        sort_exp1    数据排序表达式。按desc_exp1排序。
        desc_exp1    指定数据排序的顺序,true表示降序排列,false表示升序排列。
        sort_exp2    数据排序表达式。将sort_exp1相同的字段,按desc_exp2排序。
        desc_exp2    指定数据排序的顺序,true表示降序排列,false表示升序排列。
        ......
        rootGroupExp    是否root数据集表达式
                               
    返回值:
        一组数据的集合,数据类型由select_exp的运算结果决定
       
    函数示例:
       
        例1:ds1.selectEx( name,sex=='1',"name;grade,true")
                从数据源ds1中选取性别为男性('1')的name字段列的值并升序排列,然后把姓名相同的按grade降序排列