以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]组合多个统计结果 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94197) |
-- 作者:铜豆 -- 发布时间:2016/12/18 14:45:00 -- [求助]组合多个统计结果 Dim bd1 As New GroupTableBuilder("统计表1",DataTables("商务通有效信息")) Dim dt1 As fxDataSource bd1.Groups.AddDef("日期") \'根据型号分组 bd1.Groups.AddDef("搜索引擎") bd1.Totals.AddDef("有效信息数","商务通_ 有效对话") \'对数量进行统计 dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("商务通搜索引擎")) Dim dt2 As fxDataSource bd2.Groups.AddDef("日期") bd2.Groups.AddDef("项目_搜索引擎") bd2.Totals.AddDef("项目_搜索次数","商务通_ 搜索次数") \'对数量进行统计 bd2.Totals.AddDef("对话质量_合计","商务通_对话合计") \'对金额进行统计 dt2 = bd2.BuildDataSource() Dim bd3 As New GroupTableBuilder("统计表3",DataTables("百度搜索引擎")) Dim dt3 As fxDataSource bd3.Groups.AddDef("日期") \'根据型号分组 bd3.Groups.AddDef("搜索引擎") bd3.Totals.AddDef("展现","百度_展现") \'对数量进行统计 bd3.Totals.AddDef("点击","百度_点击") \'对金额进行统计 bd3.Totals.AddDef("消费","百度_消费") bd3.Totals.AddDef("网页转化","百度_网页转化") bd3.Totals.AddDef("电话转化","百度_电话转化") dt3 = bd3.BuildDataSource() dt1.Combine("日期",dt2,"日期") \'将销售统计数据组合到进货统计数据 dt1.Combine("日期",dt3,"日期") dt1.Combine("搜索引擎",dt2,"项目_搜索引擎") \'将退货统计数据组合到进货统计数据 dt1.Combine("搜索引擎",dt3,"搜索引擎") Tables("表A").DataSource = dt1 \'将统计结果绑定到Table 上述代码执行错误:已经添加了相同的键
|
-- 作者:有点色 -- 发布时间:2016/12/18 15:13:00 -- 参考这种写法
http://www.foxtable.com/webhelp/scr/2392.htm
|
-- 作者:铜豆 -- 发布时间:2016/12/18 15:57:00 -- Dim bd1 As New GroupTableBuilder("统计表1",DataTables("百度搜索引擎")) Dim dt1 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.Year,"年") bd1.Groups.AddDef("日期","月") bd1.Groups.AddDef("日期",DateGroupEnum.day,"日") bd1.Groups.AddDef("搜索引擎") \'根据型号分组 bd1.Totals.AddDef("展现","百度_展现") \'对数量进行统计 bd1.Totals.AddDef("点击","百度_点击") dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("商务通有效信息")) Dim dt2 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.Year,"年") bd2.Groups.AddDef("日期","月") bd2.Groups.AddDef("日期",DateGroupEnum.day,"日") bd2.Groups.AddDef("搜索引擎") \'根据型号分组 bd2.Totals.AddDef("有效信息数","商务通_有效信息数") \'对数量进行统计 dt2 = bd2.BuildDataSource() Dim nms As String() = {"日期","搜索引擎"} \'指定连接列 dt1.Combine(nms,dt2,nms) \'将销售统计数据组合到进货统 dt1.Show("统计表1") 对于分(年、月、日)这样的又如何处理? 2、假如我不分年月日,直接显示日期样式为(2016/12/15),又如何处理? |
-- 作者:有点蓝 -- 发布时间:2016/12/19 8:25:00 -- bd1.Groups.AddDef("日期",DateGroupEnum.None) |
-- 作者:铜豆 -- 发布时间:2016/12/19 9:52:00 -- Dim nms As String() = {"日期","搜索引擎"} \'() dt1.Combine(nms,dt2,nms) \'将销售统计数据组合到进货统 老师主要就是这里有问题:1、假如按日期,那么列直接就会显示月,无法按年,月、周、周分组 2、直接按日期分组又如何写 老师对于日期分组统计,测试会出错,无法执行,是不是不能对日期分组统计组合 单表分组问题不是很大,但是只要组合问题就比较大
[此贴子已经被作者于2016/12/19 12:55:28编辑过]
|
-- 作者:有点色 -- 发布时间:2016/12/19 10:33:00 -- Dim nms As String() = {"日期","搜索引擎"}
改成
Dim nms As String() = {"年","月","日","搜索引擎"} |
-- 作者:铜豆 -- 发布时间:2016/12/19 11:09:00 -- Dim bd1 As New GroupTableBuilder("统计表1",DataTables("百度搜索引擎")) Dim dt1 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.Year,"年") bd1.Groups.AddDef("搜索引擎") \'根据型号分组 bd1.Totals.AddDef("展现","百度_展现") \'对数量进行统计 bd1.Totals.AddDef("点击","百度_点击") dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("商务通有效信息")) Dim dt2 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.Year,"年") bd2.Groups.AddDef("搜索引擎") \'根据型号分组 bd2.Totals.AddDef("有效信息数","商务通_有效信息数") \'对数量进行统计 dt2 = bd2.BuildDataSource() Dim nms As String() = {"年","搜索引擎"} \'指定连接列 dt1.Combine(nms,dt2,nms) \'将销售统计数据组合到进货统 dt1.Show("统计表1")
|
-- 作者:铜豆 -- 发布时间:2016/12/19 11:09:00 -- 感到太奇特了百思不得其解,怎么弄都不行,就是日期问题最大了 Dim bd1 As New GroupTableBuilder("统计表1",DataTables("百度搜索引擎")) Dim dt1 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.None) bd1.Groups.AddDef("搜索引擎") \'根据型号分组 bd1.Totals.AddDef("展现","百度_展现") \'对数量进行统计 bd1.Totals.AddDef("点击","百度_点击") dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("商务通有效信息")) Dim dt2 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.None) bd2.Groups.AddDef("搜索引擎") \'根据型号分组 bd2.Totals.AddDef("有效信息数","商务通_有效信息数") \'对数量进行统计 dt2 = bd2.BuildDataSource() Dim nms As String() = {"日期","搜索引擎"} \'指定连接列 dt1.Combine(nms,dt2,nms) \'将销售统计数据组合到进货统 dt1.Show("统计表1") 这样,日期列也是不能执行的,错误信息同上传的图片
[此贴子已经被作者于2016/12/19 11:13:38编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2016/12/19 11:54:00 -- 我用foxtable自带的演示文件,测试下面的代码,完全可以: Dim bd1 As New GroupTableBuilder("统计表1",DataTables("订单")) Dim dt1 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.Year,"年") \'根据型号分组 bd1.Totals.AddDef("数量","进货_数量") \'对数量进行统计 dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("订单")) Dim dt2 As fxDataSource bd2.Groups.AddDef("日期",DateGroupEnum.Year,"年") \'根据型号分组 bd2.Totals.AddDef("金额","销售_金额") \'对金额进行统计 dt2 = bd2.BuildDataSource() dt1.Combine("年",dt2,"年") \'将销售统计数据组合到进货统计数据 dt1.show("统计表1") 请上传实际例子测试。
|
-- 作者:铜豆 -- 发布时间:2016/12/19 12:30:00 -- Dim bd1 As New GroupTableBuilder("统计表1",DataTables("百度搜索引擎")) Dim dt1 As fxDataSource bd1.Groups.AddDef("日期",DateGroupEnum.Year,"年") \' bd1.Groups.AddDef("日期",DateGroupEnum.None)\'根据型号分组 bd1.Groups.AddDef("搜索引擎") bd1.Totals.AddDef("展现","百度_展现") \'对数量进行统计 dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("商务通有效信息")) Dim dt2 As fxDataSource bd2.Groups.AddDef("日期",DateGroupEnum.Year,"年") \' bd2.Groups.AddDef("日期",DateGroupEnum.None)\'根据型号分组 bd2.Groups.AddDef("搜索引擎") bd2.Totals.AddDef("有效信息数","商务通_有效信息数") \'对金额进行统计 dt2 = bd2.BuildDataSource() dt1.Combine("年",dt2,"年") dt1.Combine("日期",dt2,"日期") dt1.Combine("搜索引擎",dt2,"搜索引擎") dt1.show("统计表1") 老师你刚才说的行,变换一下就不行 |