Foxtable(狐表)用户栏目专家坐堂 → 【已解决】条件求和?


  共有10231人关注过本帖树形打印复制链接

主题:【已解决】条件求和?

帅哥哟,离线,有人找我吗?
Fotable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
【已解决】条件求和?  发帖心情 Post By:2012/9/8 11:32:00 [只看该作者]

在易表中用sumfor函数可以很方便 实现条件求和。在狐表中的表达式列里面,应该用什么函数来实现相应功能呢。

Sumfor

对指定表的指定列进行求和,可以设置多个条件。

语法:
Sumfor(Grid,Col,CompareCol,CompareMode,CompareValue......,StartRow,EndRow,Option)

Grid         对该表中的某一列进行求和,可以用表名表示,也可以用位置表示。
Col          对该列进行求和,可以用列名称表示,也可以用位置表示。
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值
StartRow     可选参数,指定开始计算的行。
EndRow       可选参数,指定结束计算的行。
Option       可选参数,如果设为1,则不统计隐藏行

可以设置多个比较条件,也可以不设置,从第三个参数开始,每三个参数组成一个比较条件。如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。
注意StartRow和EndRow如果省略或全部设为0,表示包括所有行。

例子:
Sumfor("订单","数量","客户","=","CS01")
统计订单表中CS01客户订购产品的数量。

Sumfor("订单","数量","客户","=","CS01","产品","=","PD01")
统计订单表中CS01客户订购产品PD01的数量

[此贴子已经被作者于2012-9-9 9:30:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
muhua
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/9/8 11:47:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
ahbzczy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:268 积分:2307 威望:0 精华:0 注册:2010/3/26 14:08:00
  发帖心情 Post By:2012/9/8 11:56:00 [只看该作者]

comput函数

 回到顶部
帅哥哟,离线,有人找我吗?
Fotable
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2012/9/8 13:20:00 [只看该作者]

以下是引用muhua在2012-9-8 11:47:00的发言:
你是想增加列还是想实现什么效果???

比如我想统计订单表中,2012年1月1日以后 产品= pd01 的产品的销售数量  。这就是条件求和呀。

 

在表达式列 设置表达式 sum([数量])这就是无条件求和。而我这个求和 是有条件的,所以叫 有条件求和。

 

楼上说的用compute函数确实可以办到,但无法再 表达式列中使用,只能在事件中使用

 

[此贴子已经被作者于2012-9-8 13:22:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/8 14:16:00 [只看该作者]

表达式在狐表不是这样用的。

表达式,针对的是当行,父表,子表。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/9/8 14:19:00 [只看该作者]

foxtable更方便的,看看《开发指南》下《统计与查询》这一章。

一般不需要这样编码写,你喜欢的话也可以,类似的:

http://www.foxtable.com/help/topics/0681.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
muhua
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/9/8 14:35:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
Fotable
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2012/9/8 23:27:00 [只看该作者]

谢谢 两位元老,果然是用compute 代替了 易表的 sumfor


 回到顶部