以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 交叉统计的“合计”列能否变成“平均” (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=191750) |
-- 作者:wangnovel -- 发布时间:2024/5/7 19:42:00 -- 交叉统计的“合计”列能否变成“平均” 交叉统计中,勾选“水平方向自动汇总”,能够实现水平方向的汇总,有没有办法实现水平方向的求平均值? |
-- 作者:有点蓝 -- 发布时间:2024/5/7 20:17:00 -- 增加一个平均列,生成统计表然后遍历所有行所有列逐个计算,比如示例一:http://www.foxtable.com/webhelp/topics/3285.htm Dim b As New CrossTableBuilder("统计表1",DataTables("订单")) b.HGroups.AddDef("客户") \'添加客户列用于水平分组 b.VGroups.AddDef("产品") \'添加产品列用于垂直分组 b.Totals.AddDef("数量") \'添加数量列用于统计 b.Build \'生成统计表 Maintable = Tables("统计表1") \'打开生成的统计表 DataTables("统计表1").DataCols.Add("平均", GetType(Double)) for each r as row in Tables("统计表1").rows dim n as integer = 0 dim sum as double = 0 for each c as col in Tables("统计表1").cols if c.name <> "客户" then if r.isnull(c.name) = false then n += 1 sum += r(c.name) endif end if next if n>0 r("平均") = sum / n end if next
|