以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助 交叉统计!!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81213)

--  作者:bluev
--  发布时间:2016/2/21 15:21:00
--  求助 交叉统计!!
如何生成这种统计结果?
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:bluev
--  发布时间: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") \'打开生成的统计表


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

--  作者:大红袍
--  发布时间: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
--  发布时间:2016/2/22 8:36:00
--  
去执行总是 提示 生成的SQL语句错误,无法继续统计  错误原因 无效的括号名称 ‘~tmpclpselect.....
--  作者:Hyphen
--  发布时间: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 = "数据源"