Foxtable(狐表)用户栏目专家坐堂 → 交叉统计后再次汇总如何动态取得数量等统计列?(已解决)


  共有7122人关注过本帖平板打印复制链接

主题:交叉统计后再次汇总如何动态取得数量等统计列?(已解决)

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
交叉统计后再次汇总如何动态取得数量等统计列?(已解决)  发帖心情 Post By:2013/3/19 10:59:00 [只看该作者]

如题,先交叉统计后再进行汇总,得到如下图的结果

 


代码如下:

Dim b As New SQLCrossTableBuilder("产品出货统计","出库明细")
b.C '指定数据源
b.AddTable("出库明细","出库单号","出库单","出库单号") '添加统计表
b.HGroups.AddDef("产品编码") '添加水平分组列
b.HGroups.AddDef("{出库明细}.品名") '添加水平分组列
b.HGroups.AddDef("{出库明细}.规格") '添加水平分组列
b.VGroups.AddDef("出库日期",DateGroupEnum.Year,"{0}年") '添加日期列用于垂直分组,按年分组
b.VGroups.AddDef("出库日期","{0}月") '添加日期列用于垂直分组,按月分组
b.Totals.AddDef("{出库明细}.数量") '添加数量列用于统计
b.Build '生成统计表


MainTable = Tables("产品出货统计") '打开生成的统计表

 

'再次汇总
Dim t As Table = Tables("产品出货统计")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "产品编码"
g.TotalOn = "数量_1,数量_2"   如果交叉统计得到的数据是3个月的,这里后面还要加上 "数量_3"否则就不会汇总

g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
t.Subtotal() '生成汇总模式

 

请问上面红色部分的统计列要如何自动得来(如果直接用"{出库明细}.数量"是会出错的,因为前面的交叉统计的结果是随着每个月的出库单自动延续下去的。红色那里要能动态变化。

 

谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:汇总模式统计.foxdb

[此贴子已经被作者于2013-11-5 23:13:52编辑过]

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