Foxtable(狐表)用户栏目专家坐堂 → [求助]交叉统计问题


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

主题:[求助]交叉统计问题

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


加好友 发短信
等级:婴狐 帖子:28 积分:256 威望:0 精华:0 注册:2016/11/2 10:16:00
[求助]交叉统计问题  发帖心情 Post By:2017/4/21 11:13:00 [只看该作者]

在进行交叉统计时怎么对水平列进行分组统计,教程里看到的都是直接合计了,我想要按照多层表头进行每一层的统计。比如有列华东区_XX,华东区_XX,华南区_XX我现在想把华东区和华南区分开来统计

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/21 11:40:00 [只看该作者]

 需要动态添加合计列,循环每一行,一个一个的赋值。

 

 具体实例上传上来。


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


加好友 发短信
等级:婴狐 帖子:28 积分:256 威望:0 精华:0 注册:2016/11/2 10:16:00
  发帖心情 Post By:2017/4/22 20:34:00 [只看该作者]

麻烦您给看看,我想在生成的分析表里面水平的每个区进行汇总统计
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多福居门店月单品计划表.rar



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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/23 12:27:00 [只看该作者]

mark 交叉统计

 

Dim b As new CrossTableBuilder("单品计划交叉表",DataTables("明细表"))
b.HGroups.AddDef("类别")
b.HGroups.AddDef("编码")
b.HGroups.AddDef("名称")
b.HGroups.AddDef("规格")
b.HGroups.AddDef("单位")
b.HGroups.AddDef("单价")
b.VGroups.AddDef("区域")
b.VGroups.AddDef("门店")
b.Totals.AddDef("数量")
b.Totals.AddDef("金额")
b.HorizontalTotal= True
b.Build
Dim t As Table = Tables("单品计划交叉表")
Dim dq As String = ""
Dim str1 As String = ""
Dim str2 As String = ""
Dim ccount = t.Cols.count-1
Dim i As Integer = 0
Do While i <= ccount
    Dim cap As String = t.Cols(i).Caption
    If cap.Contains("金额") AndAlso cap.Contains("_合计") = False Then
        Dim cdq = cap.Split("_")(0)
       
        If cap.Contains("合计") = False Then
            Dim idx As Integer = t.Cols(i).Name.Split("_")(1)
            str1 &= "isnull(数量_" & idx & ",0)+"
            str2 &= "isnull(金额_" & idx & ",0)+"
        End If
        If dq > "" AndAlso cdq <> dq Then
            t.DataTable.DataCols.Add(dq & "_合计_数量", Gettype(Double),str1.trim("+"))
            t.DataTable.DataCols.Add(dq & "_合计_金额", Gettype(Double),str2.trim("+"))
            t.Cols(dq & "_合计_金额").Move(i-1)
            t.Cols(dq & "_合计_数量").Move(i-1)
            ccount += 2
            i += 2
            str1 = ""
            str2 = ""
        End If
        dq = cdq
    End If
    i += 1
Loop

MainTable = t


 回到顶部