Foxtable(狐表)用户栏目专家坐堂 → 【求助】交叉统计,怎样统计表达式列[狐爸完美结束,非常感谢大红袍]


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

主题:【求助】交叉统计,怎样统计表达式列[狐爸完美结束,非常感谢大红袍]

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


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

 要用代码处理。

 

 1、添加临时列 检查列

 

 2、生成交叉统计表

 

 3、循环每一行,修改检查列的内容


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


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

 用代码增加临时列,生成报表后删除,这样效率高一些。

 

 你上传具体例子吧。


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


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


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


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

运行代码

 

DataTables("表A").DataCols.Add("检查", Gettype(Double))

Dim g As New CrossTableBuilder("统计表1", DataTables("表A"))
g.HGroups.AddDef("凭证ID")
g.VGroups.AddDef("中心编码")
g.Totals.AddDef("借方金额", "借方金额")
g.Totals.AddDef("贷方金额", "贷方金额")
g.Totals.AddDef("检查")
g.Build()
DataTables("表A").DataCols.Delete("检查")

For Each c As Col In Tables("统计表1").Cols
    If c.Name.StartsWith("检查") Then
        Dim idx As Integer = c.name.Replace("检查_", "")
        For Each r As Row In Tables("统计表1").rows
            r(c.name) = r("贷方金额_" & idx) - r("借方金额_" & idx)
        Next
    End If
Next

MainTable = Tables("统计表1")


 回到顶部