Foxtable(狐表)用户栏目专家坐堂 → 组合统计表、查询表的方法哪些


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

主题:组合统计表、查询表的方法哪些

美女呀,离线,留言给我吧!
tubairabbit
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
组合统计表、查询表的方法哪些  发帖心情 Post By:2014/6/5 11:13:00 [显示全部帖子]

组合统计表、查询表的方法有哪些?

 

比如:

有表A,表B

要生成的表C形如:

产品编号  产品规格1 产品规格2  产品数量汇总  产品销售金额汇总           

             (查询A)   (查询A) (分组统计B) (分组统计B)

有哪些方法?

 

如果想用

Dim b As New GroupTableBuilder("统计表1",DataTables("表B"))
Dim dt1 As fxDataSource

b.Groups.AddDef("产品编号") '根据产品分组
b.Totals.AddDef("产品数量",AggregateEnum.Sum,"产品数量")
b.Totals.AddDef("产品销售金额",AggregateEnum.Sum,"产品销售金额汇总")

dt1 = b.BuildDataSource()

 

再用Combine()

查询表怎么写?


 回到顶部
美女呀,离线,留言给我吧!
tubairabbit
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
  发帖心情 Post By:2014/6/5 14:34:00 [显示全部帖子]

表A:荒料编号是唯一值

荒料编号  中文品名 级别 

001        墨绿麻    A    

002        金山麻    A

003        娱乐金麻 A

004        娱乐金麻 B

 

 

表B(片号是唯一值)

荒料编号  加工切片大板匝号  片号   面积      销售金额

001       Z1                      p1      100     20

001       Z1                      p2      100     20

001       Z2                      p3      200     40

001       Z2                      p4      200     40

002       B1                      p5       50      12

002       B1                      p6       50      12

002       B1                      p7       50      12

生成报表:(按“荒料编号-匝号”分组求和,但是前面还要带上该荒料编号的品名、级别属性)

荒料编号   中文品名  级别  加工切片大板匝号  片数求和  面积求和 销售金额求和

001       墨绿麻    A        Z1                     2          200         40

001       墨绿麻    A        Z2                     2          400          80

002       金山麻    A        B1                     3          150          36

 

之前没写清楚,2楼的是要表A、表B结构一样,我的表A、表B是有父子关系,要怎么把查询表弄成统计表?

[此贴子已经被作者于2014-6-5 14:38:55编辑过]

 回到顶部
美女呀,离线,留言给我吧!
tubairabbit
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
  发帖心情 Post By:2014/6/9 15:55:00 [显示全部帖子]

按“有点甜”的方法,结合我的实际例子试了一下:

(查询字段一部分是放在分组列里,一部分是按“取最大值”的方法读出来。)

 

Dim jb As new SQLJoinTableBuilder("查询表1","加工大板")
jb.AddTable(……)  '按关联情况写
jb.AddCols("项目组","荒料编号","中文品名","级别","加工厂","加工厂大板匝号","片号","面积","成品存放仓库","入库日期")

Dim b As new GroupTableBuilder("统计表1",jb.BuildSQL,"Connectionaa")
Dim dt1 As fxDataSource

b.Groups.AddDef("项目组")    '查询字段放在分组列
b.Groups.AddDef("荒料编号")   '查询字段放在分组列
b.Groups.AddDef("中文品名")   '查询字段放在分组列
b.Groups.AddDef("级别")       '查询字段放在分组列
b.Groups.AddDef("加工厂")     '查询字段放在分组列
b.Groups.AddDef("加工厂大板匝号")  
b.Totals.AddDef("片号",AggregateEnum.Count,"片数")  
b.Totals.adddef("面积")
b.Totals.adddef("成品存放仓库",AggregateEnum.Max)  ‘字符型说明性字段,取某一个值(实际情况同一匝一定存放在同一个仓库)
b.Totals.adddef("入库日期",AggregateEnum.Max)   ‘字符型说明性字段,取某一个值(实际情况同一匝的不同片一定是同样的入库日期)

dt1 = b.BuildDataSource()


Tables("报表_Table1").DataSource = dt1

[此贴子已经被作者于2014-6-9 16:02:29编辑过]

 回到顶部