Count()数据集函数| 快逸报表工具
V5教程-表达式与常用函数

一、设计实例

制作如下图所示的“客户订单统计表”,统计每个客户的订单数量。

二、设计过程

1、定义数据集ds7,ds8

ds7:select 客户ID,客户名称,联系人,联系人职务 from DEMO_CUSTOMERS

ds8:select 订单ID,客户ID,订购日期 from DEMO_ORDERS

2、编辑报表:

(1)A3单元格的表达式为:=ds8.Group(客户ID,false),显示值:ds7.select1(客户名称,客户ID==value())

(2)B2单元格的表达式为:=ds8.Group(year(订购日期),false)+"年"

(3)B3单元格的表达式为:=ds8.count()

三、小结

本节报表中,统计客户全年的订单数量时,用到了count()数据集函数。下面我们看一下函数介绍。

四、函数说明

count()数据集函数

函数说明:计算数据集当前记录行集中,满足条件的记录数

语法: datasetName.count({filterExp{,rootGroupExp{,nullCheckExp}}})

参数说明:

filterExp 条件表达式,如果全部选出,则不要此参数

rootGroupExp 是否root数据集表达式,为true,从数据集里取数,为false,则从本单元格主格的结果集里取数

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不为空的记录数目