润乾——函数(分组选取)
来源:互联网 发布:淘宝mac上的软件能用么 编辑:程序博客网 时间:2024/05/29 09:00
enumGroup()
函数说明: 根据表达式的不同计算结果,返回不同的值,然后按这些值进行分组。本函数:从左到右计算,先出现的表达式先算,如果出现满足的表达式,则返回相应的结果,后面的不再计算。如果没有一个表达式满足条件,而且有缺省值表达式,则返回缺省值,否则返回null。
语法: ds.enumGroup({,termExp1,resultExp1{,term2,resultExp2{,...{,defaultExp}}}})
参数说明: termExp(n) 条件表达式 resultExp(n) 返回结果表达式 defaultExp 缺省值表达式,如果所有表达式结果都不满足,则返回本表达式计算结果
group()
函数说明: 根据分组表达式,从数据集中选出一组组集。
语法: 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,,,ds1.sum(工业产值),true) 对数据集ds1按照省份进行分组,分组后求出每组的sum(工业产值),然后按照这个汇总值对组进行逆序排列
groupEx
函数说明: 根据分组表达式,从数据集中选出一组组集。
语法: 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字段分组
plot()
函数说明: 根据数据值段进行分组,俗称“按段分组”
语法: 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为字符串组,其值为{"不及格","及格","中","良好","优秀"}本例通过参数动态控制分组值段以及结果组的显示值
overlap()
函数说明:对每一条记录依次计算条件表达式,如果满足则把该条记录加入到相应的组里。如果有多个组满足,则这些组中都会含有此条记录。如果都不满足并且有缺省值表达式,则把该条记录加入到缺省组中。组值为以改组的第一条记录计算结果表达式所得到的值。
语法: ds.overlap({hasNullGroup{,termExp1,resultExp1{,term2,resultExp2{,...{,defaultExp}}}}})
参数说明:
hasNullGroup 布尔表达式,true返回空组,false不返回空组
termExp(n) 条件表达式
resultExp(n) 返回结果表达式
defaultExp 缺省值表达式,如果所有表达式结果都不满足,则返回本表达式计算结果
- 润乾——函数(分组选取)
- SQL基础4——分组与分组函数
- Oracle分组查询4——扩展分组函数
- 数据库学习—高级分组(聚合)函数
- 数据库(分组函数)
- MySQL 日期时间 Extract(选取) 函数
- MySQL基础(3)——计算字段、处理函数、聚集函数和数据分组
- oracle常用函数汇总——分组函数
- 组函数(聚合函数),分组函数
- Linq 先进行分组,在进行排序(选取某一个人的最新的一条记录)
- Oracle(五)---------------------分组函数
- 分组与分组函数
- win8开发(14)——如何选取联系人信息
- Python 数据结构与算法——选取算法(TopK)
- 从零开始学JAVA WEB(2)——项目选取
- Linux——VIM学习选取多行(转)
- 仿QQ聊天(6)—选取本地相册图片
- pandas—Dataframe操作(选取 插入 删除)
- 学习嵌入式,该学习什么基本的知识呢?
- Linux下system()函数返错,errno是ECHILD
- 当领导并不一定说明你的能力强
- html_day2---表格+列表+框架
- gradle - 使用介绍(二)
- 润乾——函数(分组选取)
- 学习嵌入式的 目标和定位
- mysql根据多个字段查找和置顶功能的实现
- html5 拖放上传
- 软件插件技术的原理与实现
- vmware vcenter 5.5 + OpenStack Neutron flat 网络部署
- Intent和PendingIntent的区别
- 嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
- Linux下怎么创建和进入带有空格的文件夹