以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [条件统计]分类统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=134119)

--  作者:hcfbehero
--  发布时间:2019/4/28 0:05:00
--  [条件统计]分类统计
大神们,本人编写下列代码,其中有3个问题,请帮忙解决下:
1、在生产信息_类型列中,有砼和水两种,此处希望只统计砼的个数,来作为砼运输_车数的输出;
2、在生产信息_等级强度列中,有水和其它多种,此处希望只统计水的个数,来作为水运输_车数的输出;
3、生产信息_类型列中,只有砼和水两种,以上两个地方的砼车数和水车数的统计,能否都有这列来完成;

Dim bcty As WinForm.ComBoBox = e.Form.Controls("ComboBox7")
Dim g As New GroupTableBuilder("统计表1",DataTables("明细根表"))
g.Groups.AddDef("运输审核_结算月", "月份")
g.Groups.AddDef("生产信息_车号", "车号")
g.Totals.AddDef("运量", "砼运输_方量")
g.Totals.AddDef("生产信息_类型", AggregateEnum.Count, "砼运输_车数")
g.Totals.AddDef("运输_砼运额", "砼运输_金额")
g.Totals.AddDef("运输_砼补方", "砼补方_方量")
g.Totals.AddDef("运输_砼补额", "砼补方_金额")
g.Totals.AddDef("生产信息_等级强度", AggregateEnum.Count, "水运输_车数")
g.Totals.AddDef("销售_水销额", "水运输_金额")
g.Totals.AddDef("公司补助_补运额", "运输补助")
g.Totals.AddDef("公司补助_补超额", "超时补助")
g.Totals.AddDef("公司补助_补其额", "其他费用")
g.VerticalTotal = True
g.Filter = "[运输审核_结算月] = \'" & bcty.text & "\'and [生产信息_车号] is not Null and [生产信息_车号] <> \'自运\' "
Tables("数据统计_Table5").DataSource = g.BuildDataSource()

DataTables("数据统计_Table5").DataCols.Add("总车数", Gettype(Double), "[砼运输_车数] + [水运输_车数]" )
DataTables("数据统计_Table5").DataCols.Add("总金额", Gettype(Double), "[砼运输_金额] + [砼补方_金额] + [水运输_金额] + [运输补助] + [超时补助] + [其他费用]" )
Tables("数据统计_Table5").Cols("总车数").Move(2)
Tables("数据统计_Table5").Cols("总金额").Move(3)
Tables("数据统计_Table5").AutoSizeCols()

--  作者:有点甜
--  发布时间:2019/4/28 9:14:00
--  

方法一:用sqlGroupTableBuilder的表达式列,处理

 

http://www.foxtable.com/webhelp/scr/1626.htm

 

http://www.foxtable.com/webhelp/scr/2960.htm

 

方法二:多次统计GroupTableBuilder,设定不同的filter条件统计,最后合并各个统计表

 

http://www.foxtable.com/webhelp/scr/2305.htm

 

http://www.foxtable.com/webhelp/scr/2392.htm