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


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

主题:求助 交叉统计!!

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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
求助 交叉统计!!  发帖心情 Post By:2016/2/21 15:21:00 [只看该作者]

如何生成这种统计结果?
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
  发帖心情 Post By:2016/2/21 15:51:00 [只看该作者]

Dim b As New SQLCrossTableBuilder("统计表1","表A") 
b.AddTable("表A","客户名称","表B","客户名称") '添加统计表
b.HGroups.AddDef("{表A}.客户名称") '添加日期列用于垂直分组,按年分组
b.VGroups.AddDef("日期",DateGroupEnum.Month,"{0}月") '添加客户列用于水平分组
b.Totals.AddDef("入库数量","入库数量") '添加数量列用于统计
b.Totals.AddDef("出库数量","出库数量") '添加数量列用于统计
b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表


用这个统计 数据都是错误的!!!!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/21 15:56:00 [只看该作者]

编写sql语句,合并两表数据,再交叉统计。红色代码的空格去掉

 

Dim sql As String = "select 日期,客户名称,入库数量, 0 as 出库数量 fr om {表a} un ion all select 日期, 客户名称,0,出库数量 fr om {表B}"

Dim b As New SQLCrossTableBuilder("统计表1",sql)
b.HGroups.AddDef("客户名称") '添加日期列用于垂直分组,按年分组
b.VGroups.AddDef("日期",DateGroupEnum.Month,"{0}月") '添加客户列用于水平分组
b.Totals.AddDef("入库数量","入库数量") '添加数量列用于统计
b.Totals.AddDef("出库数量","出库数量") '添加数量列用于统计
b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表


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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
  发帖心情 Post By:2016/2/22 8:36:00 [只看该作者]

去执行总是 提示 生成的SQL语句错误,无法继续统计  错误原因 无效的括号名称 ‘~tmpclpselect.....

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/2/22 9:00:00 [只看该作者]

Dim sql As String = "select 日期,客户名称,入库数量, 0 as 出库数量 fr om {表a} un ion all select 日期, 客户名称,0,出库数量 fr om {表B}"

Dim b As New CrossTableBuilder("统计表1",sql)
b.HGroups.AddDef("客户名称") '添加日期列用于垂直分组,按年分组
b.VGroups.AddDef("日期",DateGroupEnum.Month,"{0}月") '添加客户列用于水平分组
b.Totals.AddDef("入库数量","入库数量") '添加数量列用于统计
b.Totals.AddDef("出库数量","出库数量") '添加数量列用于统计
b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表


如果是外部表,加上

b.Conne ction Name = "数据源"


 回到顶部