Foxtable(狐表)用户栏目专家坐堂 → 关于交叉统计


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

主题:关于交叉统计

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/19 9:13:00 [显示全部帖子]

 如果你要平均,你可以生成以后,循环每一行,然后计算平均值。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/19 10:06:00 [显示全部帖子]

 生成以后,再循环每一行计算

 

 不会做就上传具体例子。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/19 11:26:00 [显示全部帖子]

If Forms("材料统计").Opened Then
    Dim f As New CrossTableBuilder("材料统计汇总", DataTables("表A"))
    'f.HGroups.AddDef("供应商")
    f.HGroups.AddDef("材料")
    'f.HGroups.AddDef("型号规格")
    f.VGroups.AddDef("月", "{0}")
    f.Totals.AddDef("单价",AggregateEnum.Average,"单价")
    'f.HorizontalTotal = True
    f.Filter = "日期 Is Not Null"
    f.Build()
    DataTables("材料统计汇总").DataCols.Add("合计平均", Gettype(Double))
    For Each dr As DataRow In DataTables("材料统计汇总").DataRows
        Dim sum As Double = 0
        Dim count As Integer = 0
        For Each dc As DataCol In DataTables("材料统计汇总").DataCols
            If dc.Name Like "单价*" Then
                sum += dr(dc.Name)
                count += 1
            End If
        Next
        dr("合计平均") = sum / count
    Next
End If

Tables("材料统计_材料统计汇总表").DataSource = DataTables("材料统计汇总")


 回到顶部