Foxtable(狐表)用户栏目专家坐堂 → [求助]组合多个统计结果


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

主题:[求助]组合多个统计结果

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


加好友 发短信
等级:婴狐 帖子:78 积分:589 威望:0 精华:0 注册:2016/12/15 18:05:00
[求助]组合多个统计结果  发帖心情 Post By: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
上述代码执行错误:已经添加了相同的键

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/18 15:13:00 [只看该作者]


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


加好友 发短信
等级:婴狐 帖子:78 积分:589 威望:0 精华:0 注册:2016/12/15 18:05:00
  发帖心情 Post By: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),又如何处理?


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/19 8:25:00 [只看该作者]

bd1.Groups.AddDef("日期",DateGroupEnum.None)


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


加好友 发短信
等级:婴狐 帖子:78 积分:589 威望:0 精华:0 注册:2016/12/15 18:05:00
  发帖心情 Post By:2016/12/19 9:52:00 [只看该作者]

Dim nms As String() = {"日期","搜索引擎"} '()
dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统
老师主要就是这里有问题:1、假如按日期,那么列直接就会显示月,无法按年,月、周、周分组
                                    2、直接按日期分组又如何写
老师对于日期分组统计,测试会出错,无法执行,是不是不能对日期分组统计组合
单表分组问题不是很大,但是只要组合问题就比较大
[此贴子已经被作者于2016/12/19 12:55:28编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/19 10:33:00 [只看该作者]

Dim nms As String() = {"日期","搜索引擎"}

 

改成

 

Dim nms As String() = {"年","月","日","搜索引擎"}


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


加好友 发短信
等级:婴狐 帖子:78 积分:589 威望:0 精华:0 注册:2016/12/15 18:05:00
  发帖心情 Post By: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") 

图片点击可在新窗口打开查看此主题相关图片如下:lizhziho7(toz8~b98in.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:婴狐 帖子:78 积分:589 威望:0 精华:0 注册:2016/12/15 18:05:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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")

请上传实际例子测试。

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


加好友 发短信
等级:婴狐 帖子:78 积分:589 威望:0 精华:0 注册:2016/12/15 18:05:00
  发帖心情 Post By: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")
老师你刚才说的行,变换一下就不行


 回到顶部
总数 12 1 2 下一页