Foxtable(狐表)用户栏目专家坐堂 → 关于生成统计表的问题


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

主题:关于生成统计表的问题

美女呀,离线,留言给我吧!
wymoonwalker
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2120 威望:0 精华:0 注册:2014/2/10 10:59:00
关于生成统计表的问题  发帖心情 Post By:2014/8/14 16:16:00 [只看该作者]

我想根据合同台帐生成一个统计表,根据工程类型水平分组,分别统计合同个数合同额。垂直分组中,“审批“逻辑列已经看着帮助做好了。后面”省内项目“”所属行业“两列的合同额统计怎么做呢?这两项内容这主表中都是自定义项目中选择录入的。省内项目中有山东省、河南省、江苏省等。所属行业有民用建筑、钢铁行业等。

请老师指导


 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2120 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/8/14 16:19:00 [只看该作者]

click代码

Dim g As New CrossTableBuilder("统计表1", DataTables("合同台帐"))
g.HGroups.AddDef("工程类型_1")
g.VGroups.AddDef("审批", "已签订合同额|未签订合同额")
g.Totals.AddDef("合同个数","合同个数")
g.Totals.AddDef("合同额", "合同额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Totals.AddDef("工程所在省","山东省")
g.Totals.AddDef("项目所属行业","民用建筑")
g.Build()
MainTable = Tables("统计表1")


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


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

Dim g As New CrossTableBuilder("统计表1", DataTables("合同台帐"))
g.HGroups.AddDef("工程类型_1")
g.VGroups.AddDef("审批", "已签订合同额|未签订合同额")
g.Totals.AddDef("合同个数","合同个数")
g.Totals.AddDef("合同额", "合同额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Totals.AddDef("工程所在省","山东省")
g.Totals.AddDef("项目所属行业","民用建筑")
g.Filter = "工程所在省 = '山东省' and 项目所属行业 = '民用建筑'"
g.Build()
MainTable = Tables("统计表1")

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2120 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/8/14 16:41:00 [只看该作者]

甜老师,运行提示,从字符串“山东省”到类型“decimal”的转换无效

 


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


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

有可能你代码本来就是错的,你最好上传一个例子说明问题,改一下

 

Dim g As New CrossTableBuilder("统计表1", DataTables("合同台帐"))
g.HGroups.AddDef("工程类型_1")
g.VGroups.AddDef("审批", "已签订合同额|未签订合同额")
g.Totals.AddDef("合同个数","合同个数")
g.Totals.AddDef("合同额", "合同额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Totals.AddDef("工程所在省", AggregateEnum.Count,"山东省")
g.Totals.AddDef("项目所属行业",AggregateEnum.Count,"民用建筑")
g.Filter = "工程所在省 = '山东省' and 项目所属行业 = '民用建筑'"
g.Build()
MainTable = Tables("统计表1")


 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2120 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/8/14 17:22:00 [只看该作者]

修改后运行没有报错,谢谢甜老师。不过我想要的是将山东省和民用建筑这两列的统计是直接针对工程类型的,实现这个效果。
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140814171534.jpg
图片点击可在新窗口打开查看
现在运行的是这样的
图片点击可在新窗口打开查看此主题相关图片如下:qq图片111.jpg
图片点击可在新窗口打开查看

 

 


 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2120 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/8/14 17:25:00 [只看该作者]

这个民用建筑是对工程类型中“合计”而言,其中民用建筑多少

省内项目也是对工程类型中“合计”而言的,其中省内项目多少


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


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

  要额外编写代码计算的,你上传项目或例子或数据吧。

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2120 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/8/14 17:29:00 [只看该作者]

好的,因为原表链接的外部数据库,我简单做了一个类似的

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2014年合同.table


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


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

Dim g As New CrossTableBuilder("统计表1", DataTables("合同台帐"))
g.HGroups.AddDef("工程类型_1")
g.VGroups.AddDef("审批", "已签订合同额|未签订合同额")
g.Totals.AddDef("合同个数","合同个数")
g.Totals.AddDef("合同额", "合同额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()

Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Add("山东省", Gettype(Double))
t.DataTable.DataCols.Add("民用建筑", Gettype(Double))
For Each r As Row In t.Rows
    r("山东省") = DataTables("合同台帐").Compute("sum(合同额)", "工程类型_1 = '" & r("工程类型_1") & "' and 工程所在省 = '山东省'")
    r("民用建筑") = DataTables("合同台帐").Compute("sum(合同额)", "工程类型_1 = '" & r("工程类型_1") & "' and 项目所属行业 = '民用建筑'")
Next

MainTable = t


 回到顶部
总数 28 1 2 3 下一页