一、设计实例
制作如下图所示的“客户订单统计表”,统计每个客户的订单数量。
二、设计过程
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不为空的记录数目