Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10641
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 192
  • 用 户 组: 普通用户
  • 注册时间: 2023-03-02 14:39
文章分类
文章存档

2023年(18)

我的朋友

分类: 信息化

2023-04-03 14:50:24

在皕杰报表的函数中,数据集函数和单元格函数都有sum求和函数,但其用法是不同的。我们先看两个函数的说明:

 

数据集函数sum

函数说明:从数据集中,从满足条件的记录中,算出给定字段或表达式的总和

语法:datasetName.sum(selectExp{,filterExp{,isRootGroupExp}})

参数说明:

selectExp  需求和的字段或表达式

filterExp  条件表达式

isRootGroupExp  是否root数据集表达式,默认为false

举例说明:

1.1ds1.sum(数量),将数据集ds1中的数量字段的所有值求和。

2.2ds1.sum(数量,数量>12),将数据集ds1汇总的数量字段大于12的值求和。

3.3ds1.sum(数量*单价),将数据集ds1中的数量单价字段相乘并求和。

 

单元格函数sum

注:该函数支持excel公式导出、支持填报报表单元格自动计算

函数说明:对可扩展单元格或集合表达式进行求和

语法:sum(expressionfilterExp)

参数说明:

expression  需要被求和的单元格或表达式,一般为可扩展单元格或集合表达式

filterExp 过滤条件表达式,使用@item关键字代表集合中的条目

举例说明:

1.1sum(F1{}),计算F1中所有记录的和,F1为扩展单元格。

2.2sum(A1:F1),计算A1单元格到F1单元格中所有记录的和。

3.3sum(A1{},@item>0),对A1单元格扩展出来的集合中的记录进行求和,并且判断A1集合中的每一个值进行判断是否大于0,如果大于0就计算,否则就不计算。A1单元格为扩展单元格。

从两个函数的说明我们可以看出,在皕杰报表中,数据集函数sum是对数据集中满足条件的字段进行求和,其表达式中sum的前面要有数据集的名称”ds.”sum中要有求和的字段以及条件。而单元格函数是对扩展单元格或几个连续单元格中数值进行求和,直接用sum,求和的对象是单元格集合,单个单元格要用“{}”,多个连续单元格首位中间用“:”。

有人说我就用单元格求和函数sumsum的对象采用数据集函数取数,比如sum(ds.select(运货费)),从原理上讲,这也未尝不可,但是其运算效率就不能保证了。{BANNED}最佳好还是有针对地使用函数,能用数据集函数sum处理的就不要用单元格函数sum

再说一点函数套用的问题,比如要在sum(ds.select(运货费))这个表达式中加一个转换成整数的函数toint,加在什么位置呢?当然是加到数据前面了,就是sum(ds.select(toint(运货费)))

阅读(4318) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~