Foxtable(狐表)用户栏目专家坐堂 → 想汇总统计平均值怎么写啊


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

主题:想汇总统计平均值怎么写啊

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


加好友 发短信
等级:四尾狐 帖子:895 积分:7524 威望:0 精华:0 注册:2017/12/27 14:19:00
想汇总统计平均值怎么写啊  发帖心情 Post By:2023/2/24 8:42:00 [只看该作者]

要进行金额 列的平均值计算,下面这个求和的应该怎么改啊?
b.Totals.AddDef("金额") '添加金额列用于统计


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:104828 积分:533023 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/24 8:53:00 [只看该作者]

b.Totals.AddDef("金额",AggregateEnum.Average) '添加金额列用于统计

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


加好友 发短信
等级:四尾狐 帖子:895 积分:7524 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/2/24 13:31:00 [只看该作者]

只对于 列“金额1” 不为空的 进行统计有办法实现吗?目前的问题是存在多列汇总统计指标,简单按照一个指标筛选不为空不行啊。

b.Totals.AddDef("金额1",AggregateEnum.Average) '添加金额列用于统计    只对 金额1 不为空的进行统计
b.Totals.AddDef("金额2",AggregateEnum.Average) '添加金额列用于统计    只对 金额2不为空的进行统计

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:104828 积分:533023 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/24 13:34:00 [只看该作者]

没有办法。这种需要手工统计,比如:http://www.foxtable.com/webhelp/topics/0681.htm

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


加好友 发短信
等级:四尾狐 帖子:895 积分:7524 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/2/24 14:03:00 [只看该作者]

提示这里语法错误,是表达式合成的有问题吗?  
DataTables("Sheet1").Compute("Avg( '" & Tables("Sheet1").cols(k).name & "')" )

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:104828 积分:533023 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/24 14:07:00 [只看该作者]

DataTables("Sheet1").Compute("Avg(" & Tables("Sheet1").cols(k).name & ")" )

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


加好友 发短信
等级:四尾狐 帖子:895 积分:7524 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/2/24 14:13:00 [只看该作者]

数据是导入的excel,有些列识别成字符类型了,有办法不挨个修改字符数据类型,compute时进行转换计算吗?

图片点击可在新窗口打开查看此主题相关图片如下:6666.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2023/2/24 14:25:23编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:104828 积分:533023 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/24 14:29:00 [只看该作者]

试试
DataTables("Sheet1").SQLCompute("Avg(convert(" & Tables("Sheet1").cols(k).name & ",'System.Double'))" )

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


加好友 发短信
等级:四尾狐 帖子:895 积分:7524 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/2/24 14:40:00 [只看该作者]

我突然发现:b.Totals.AddDef("金额2",AggregateEnum.Average) ,求得结果跟我用自定义代码求得一样。难道这个.AddDe的Aggregate方法只统计不为空的数据吗

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:104828 积分:533023 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/24 14:59:00 [只看该作者]

自定义代码都没有加查询条件

DataTables("Sheet1").SQLCompute("Avg(convert(" & Tables("Sheet1").cols(k).name & ",'System.Double'))" ,Tables("Sheet1").cols(k).name  & " is  not null")

 回到顶部
总数 21 1 2 3 下一页