数据集函数用法解析

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

数据集函数用法解析

数据集函数用法解析


首先介绍几个重要概念:

数据集 

数据集为一个由数据数组构成的二维数据表,其同一列的元素数据类型都相同,列的名字和数据类型都保存在数据集中。我们把数据集的行称为记录,列称为字段。 

数据集函数  

 能够对数据集的记录进行操作(取数、分组、运算等)的函数,称为数据集函数,语法如下:f(dataSource,…) 其中,dataSource为数据集的名字,f为函数名。

行集

数据集的行集定义为一些由数据集的行按某种顺序构成的数组,数据集本身也是一个行集。从组成元素上看,行集是数据集的子集,但排列次序未必与数据集的行序相同。

分组与组集

将数据集的所有记录按照一定的规则划分成N个行集的过程称为分组,分组后的每个行集称为一个组,多个组构成了组集。


Select()从数据集的当前行集中选取符合条件的记录,返回结果是一个数组,相同数据不会合并。      

使用select函数时,相当于从数据集中取出一组符合条件的记录集合,在单元格中进行扩展,此时每个扩展出来的单元格都保留一个指针,指向当前记录,即当前行。因此在这些单元格的子格中,应当直接用“field(数据集名,列名)”来引用同一个数据集同一条记录的值,此时报表引擎不需要对数据集进行检索遍历了,而是直接从当前行中取值。


典型示例:


select1()从数据集中按顺序检索到符合过滤条件的第一条记录,返回其selectExp值。 

select1的函数和select函数的区别在于:

(1)select1函数每次只取出一条记录,但是当前行的概念是一样的,当它从数据集中取出一条记录时,保留了一个指针指向该记录,因此他的附属单元格里只需要利用“field(数据集名,列名)”即可从该记录中取值,而不需要重新检索遍历数据集。

(2)select1函数检索数据集时,检索到第一条满足条件的记录随即把该记录返回,而不继续往下检索;而对于select函数,即使已经检索到满足条件的记录了,还会继续往下检索,直到所有记录检索完为止,因为select的任务是检索出一组记录,它还不确定后面是否还有满足条件的记录。  

因此,如果你确定只要从数据集中取出一条记录,那么请一定用select1而不要用select。


典型示例:


Group()根据分组表达式,从数据集中选出一组组集。

group函数是对数据集按照某个字段或者表达式进行分组,获得一组组的集合,然后从每组中取出一个指定字段或者表达式的值,放到单元格中进行扩展,扩展出来的每个单元格都保留了一个指针指向当前的组集,该组集称为当前组。

因此在附属单元格中,需要对该组集进行操作时,不需要用任何条件和主单元格关联了;否则,如果加设了条件,会导致报表引擎还对组集中的记录进行遍历检索。


典型示例:

数据集函数用法解析

数据集函数用法解析首先介绍几个重要概念:数据集 数据集为一个由数据数组构成的二维数据表,其同一列的元素数据类型都相同,列的名字和数...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息