Foxtable(狐表)用户栏目专家坐堂 → 统计问题


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

主题:统计问题

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5053 威望:0 精华:0 注册:2011/10/22 13:37:00
统计问题  发帖心情 Post By:2014/9/5 14:35:00 [显示全部帖子]

图片点击可在新窗口打开查看

图片点击可在新窗口打开查看

图片点击可在新窗口打开查看

示例一

假定要统计同一客户订购不同产品的数量,由于订单表没有产品名称和客户名称列,如果只根据订单表生成统计表,只能显示产品ID和客户ID,显然这样的统计表太不友好了,毕竟没有人会记得每个ID对应的 具体名称是什么。
所以我们需要从产品表提取产品名称,从客户表提取客户名称列:

Dim b As New SQLCrossTableBuilder("统计表1","订单"
b.ConnectionName = 
"Sale"
b.AddTable(
"订单","产品ID","产品","产品ID"'添加统计表
b.AddTable(
"订单","客户ID","客户","客户ID"'添加统计表
b.HGroups.AddDef(
"客户名称"'添加客户列用于水平分组
b.VGroups.AddDef(
"产品名称","产品名称_{0}"'添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef(
"数量"'添加数量列用于统计
b.Build 
'生成统计表
Maintable
 = Tables("统计表1"'打开生成的统计表

生成的统计结果:

图片点击可在新窗口打开查看


这是帮助中的例子,我把它加自己的注释,注意蓝色字。请看我的理解是否正确:

Dim b As New SQLCrossTableBuilder("统计表1","订单") 因为要统计的是订单的数据。

b.ConnectionName = "Sale"  ’如果是内部表,此行不要,如果是外部表,必须添加此行
b.AddTable(
"订单","产品ID","产品","产品ID"'添加统计表  添加订单和产品的统计表,这两个表可以通过产品ID联系起来,订单是子表,产品是父表。
’添加订单和客户的统计表,这两个表可以通过客户ID联系起来,订单是子表,客户是父表,添加这两个统计表的原因是通过订单的产品ID找到对应的产品表的产品ID,以下同理。
b.AddTable(
"订单","客户ID","客户","客户ID"'添加统计表  
b.HGroups.AddDef(
"客户名称"'添加客户列用于水平分组
b.VGroups.AddDef("产品名称","产品名称_{0}"'添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef(
"数量"'添加数量列用于统计

问题:
1、假如订单表还是上图所示,订单表中的P01,P02,P03属于A公司的产品,P04,P05属于B公司的产品,关于产品与A,B公司有另外的表,表名产品库,但是上图中订单表没有显示A公司或B公司等。
如何统计A公司和B公司的数量和金额。我依照帮助和我的理解无法统计出来,请帮助。






 回到顶部