Foxtable(狐表)用户栏目专家坐堂 → [求助]如何进行统计汇总


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

主题:[求助]如何进行统计汇总

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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]如何进行统计汇总  发帖心情 Post By:2014/4/24 16:02:00 [只看该作者]

如:例子,点击“备案汇总”,能生成“数据备案汇总”表,我现在想要的是,按年度进行小计,然后,再总计,怎么改写代码,备案汇总代码如下:
Dim g As New CrossTableBuilder("数据备案汇总", DataTables("人员增减"))
g.HGroups.AddDef("年度")
g.HGroups.AddDef("县区")
g.VGroups.AddDef("渠道", "渠道_{0}")
g.Totals.AddDef("渠道", AggregateEnum.Count, "渠道")
'g.Subtotal = True '生成汇总模式
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()
MainTable = Tables("数据备案汇总")

例子:

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 16:17:00 [只看该作者]

 没有数据源呐,亲,把数据源上传才能测试的。

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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/4/24 16:18:00 [只看该作者]

数据源在Attachments中的人员增减即是


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 16:19:00 [只看该作者]

 看2楼,这句代码不是可以生成年度汇总了么?   g.Subtotal = True

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 16:20:00 [只看该作者]

 呵呵,我看错了,有数据源!

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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/4/24 16:24:00 [只看该作者]

 g.Subtotal = True生成的只是数据个数,不是数据合计,况且不能分年度小计

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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/4/24 16:29:00 [只看该作者]

你看,生成的是个数,不是汇总数据,

图片点击可在新窗口打开查看此主题相关图片如下:截图00.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 16:37:00 [只看该作者]

 嗯,好的,如下代码,参考

 

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

 

 

Dim g As New CrossTableBuilder("数据备案汇总", DataTables("人员增减"))
g.HGroups.AddDef("年度")
g.HGroups.AddDef("县区")
g.VGroups.AddDef("渠道", "渠道_{0}")
g.Totals.AddDef("渠道", AggregateEnum.Count, "渠道")
g.Subtotal = True '生成汇总模式
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()

For i As Integer = 0 To Tables("数据备案汇总").Rows.Count(True) - 1
    Dim r As Row = Tables("数据备案汇总").rows(i, True)
    If r.IsGroup Then
        Dim filter As String = ""
        Dim ary() As String = r("年度").split(" ")
        If ary(0) = "小计" Then
            filter = "年度 = '" & ary(1) & "'"
        End If
        For Each c As Col In Tables("数据备案汇总").Cols
            If c.IsNumeric Then
                r(c.name) = Tables("数据备案汇总").Compute("sum(" & c.name & ")", filter)
            End If
        Next
    End If
Next

MainTable = Tables("数据备案汇总")


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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/4/24 16:40:00 [只看该作者]

天啊,你也太厉害了吧,什么问题到你那都能解决,谢谢


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5885 威望:0 精华:0 注册:2013/7/29 12:00:00
  发帖心情 Post By:2014/4/24 19:10:00 [只看该作者]

正有这个需要,谢谢!


 回到顶部