已经投票
用户手册 >> 变量与函数 >> 函数 >> 典型函数应用 >> ds1.select()和ds1.group()函数的使用

ds1.select()和ds1.group()函数的使用

顶( )
最后更新日期: 人发表评论 (点击查看)
常用报表函数、ds1.select()和ds1.group()函数的使用、数据集函数、ds1.select(#0)、ds1.value(),
1. 概述
一般情况下,我们直接使用数据列的拖拽就能制作出想要的报表,但对于习惯编程的用户或者希望根据不同的条件控制某个单元使用哪个数据列时,我们也同样支持直接在单元格中使用来实现,这样的函数我们称为数据集函数。
以下列出所有的数据集函数及用法。
2. tablename.select(colname,筛选条件1,筛选条件2,......)
说明:选出数据集某列中符合条件的数据,返回结果是一个数组,相同数据不会合并。
其中tablename表示数据集名称,注意是报表数据集或者是服务器数据集名,而非数据库中的表名
colname表示列名,大小写不区分
示例:如数据集ds1取出内置FRDemo数据库中的销量表
在单元格中输入=ds1.select(销售员),返回数据集ds1销售员列中的所有值。
在单元格中输入=ds1.select(销售员, 地区 = "华东", 销量 > 200),返回数据集ds1华东地区销售总额超过200的销售员。
3. tablename.group(colname,筛选条件1 && 筛选条件2,升降序)
说明:选出数据集某列中符合条件的数据并分组,还可以按照该列进行升降序排列。
其中tablename表示数据集名称、colname表示列名;
升降序为布尔值,true表示升序,false表示降序。
示例:如数据集ds1取出内置FRDemo数据库中的销量表
在单元格中输入=ds1.group(销售员),返回数据集ds1销售员列中的值,并且相邻数据若相同会进行合并
在单元格中输入=ds1.group(销售员,true,false)=ds1.group(销售员,,false),返回数据集ds1销售员列中的值,并且其中只要相同就会进行合并,结果为降序排列,中间的参数为条件,若没有条件,可以不写或者使用true,但是不能省略。
在单元格中输入=ds1.group(销售员,地区=="华东"),返回数据集ds1华东地区的销售员,并且相邻数据若相同会进行合并。
在单元格中输入=ds1.group(销售员,地区=="华东",true),返回数据集ds1华东地区的销售员,并且会合并所有相同项,结果为升序排列。
注:tablename.group()中只能有一个筛选条件。
4. tablename.select(#0)
说明:返回数据集ds1中的行号。
示例:如数据集ds1取出内置FRDemo数据库中的销量表
在单元格中输入=ds1.select(#0),数据集ds1中一共有45条数据,因此返回行号1,2,3,......45。
5. tablename.value(row,col/colname)
说明:获取数据集ds1中某行某列的值。
示例:如数据集ds1取出内置FRDemo数据库中的销量表
在单元格中输入=ds1.value(3,2),返回数据集ds1中第3行第2列的值。
在单元格中输入=ds1.value(3,"销售员"),返回数据集ds1中第3行销售员列的值。
6. 实例
6.1 实例1:数据集函数返回的数据进行扩展
直接将数据列拖拽到单元格时会自动从上到下扩展。但是使用数据集函数获得数据为一个数组,是显示在一个单元格中的,需要另外给单元格设置扩展属性,数据才会进行扩展。
6.2 实例2:根据不同条件选择使用哪个字段
在单元格中输入如下公式:
=if(条件,ds1.group(customerid),ds2.group(customerid))
并设置其扩展属性为从上到下。
说明条件为真,则单元格使用数据集ds1中的customerid列,否则使用ds2中的customerid列 。
6.3 实例3:对数据集函数返回的数据再进行运算
如公式=sum(ds1.select(销量)),返回数据集ds1销量列的总和。
sum求和公式也可以换用其他如count、max等。
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3