以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  合并统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85391)

--  作者:skyman1188
--  发布时间:2016/5/24 21:22:00
--  合并统计
有两张表格式相同,我要合并统计,有些列是名称,有些列需要累加,该如何做?
Dim bd1_m As New GroupTableBuilder("月度销售统计",DataTables("1销售表"))
Dim dt1_m As fxDataSource
bd1_m.Groups.AddDef("产品入库日期", DateGroupEnum.Year, "年度")
bd1_m.Groups.AddDef("产品入库日期", DateGroupEnum.Month, "月度")
bd1_m.Groups.AddDef("产品规格型号")
bd1_m.Totals.AddDef("金额总计") \'对数量进行统计
bd1_m.Totals.AddDef("数量总计") \'对数量进行统计
dt1_m = bd1_m.BuildDataSource()

Dim bd2_m As New GroupTableBuilder("统计表2",DataTables("2销售表"))
Dim dt2_m As fxDataSource
&e.Form.Controls("DateTimePicker2").value & "\' "
bd2_m.Groups.AddDef("产品入库日期", DateGroupEnum.Year, "年度")
bd2_m.Groups.AddDef("产品入库日期", DateGroupEnum.Month, "月度")
bd2_m.Groups.AddDef("产品规格型号")
bd2_m.Totals.AddDef("金额总计") \'对数量进行统计
bd2_m.Totals.AddDef("数量总计") \'对数量进行统计
dt2_m = bd2_m.BuildDataSource()

Dim nms_m As String() = {"年度","月度","产品规格型号","金额总计","数量总计"} \'指定连接列
dt1_m.Combine(nms_m,dt2_m,nms_m) \'将销售统计数据组合到进货统计数据
bd1_m.Build()
dt1_m.Show("月度销售统计") \'显示统计结果
MainTable = Tables("月度销售统计")

这样生成的统计表,没有把金额做累加,比如2016年1月,某个规格的产品有两行内容。希望是两张表2016年1月某个规格的产品在一行里,所有数量和金额做了合并累加。


--  作者:大红袍
--  发布时间:2016/5/24 21:38:00
--  

方法一:把月度销售统计表,再进行一次分组统计;

 

方法二:用union语句,先把两个表的数据合并,再分组 http://www.foxtable.com/help/topics/0688.htm

 


--  作者:skyman1188
--  发布时间:2016/5/25 22:45:00
--  月统计有问题
我按照方法一,日统计,季度统计,年度统计都没有问题。就月统计莫名其妙少了几个,感觉是软件的BUG啊?反复测试都是这样
--  作者:大红袍
--  发布时间:2016/5/25 23:17:00
--  
 做个例子发上来测试吧,尽量用方法二来做。