按产品统计每月销售额
代码:
Dim
doc
As
New
PrintDoc
Dim rt
As
New
prt.RenderText
Dim ra
As
New
prt.RenderArea
Dim Agg1
As
New
prt.DataBinding.Aggregate("GroupSum")
'这个统计用于按产品进行分组统计
Dim Agg2
As
New
prt.DataBinding.Aggregate("SubGroupSum")
'这个统计准备按月分组统计
ra.DataBinding.DataSource
= BindTables("订单")
'将容器绑定到订单表
ra.DataBinding.Grouping.Expressions.Add("Fields!产品.Value")
'根据产品进行分组
ra.Style.Spacing.Bottom
= 2
doc.body.Children.Add(ra)
rt.Text=
"[Fields!产品.Value]: [Aggregates!GroupSum.Value]"
'设置打印内容
rt.Style.FontBold=
True
rt.Style.FontSize=12
ra.Children.Add(rt)
'下面的RenderText用于统计某产品不同月份的销售数量,所以需要指定数据源和分组表达式
'也就是说,还需要在产品分组里头再按月分组。
rt = New
prt.RenderText
rt.DataBinding.DataSource
= BindTables("订单")
'将容器绑定到订单表
rt.DataBinding.Grouping.Expressions.Add("Fields!日期.Value.Month")
'根据月份进行分组
rt.Text=
" [Fields!日期.Value.Month]月: [Aggregates!SubGroupSum.Value]"
'设置打印内容
ra.Children.Add(rt)
agg1.DataBinding
= ra.DataBinding
'这个一定要设置为ra的DataBinding,因为agg1统计的分组来自于ra定义的分组
agg1.Running
= 1
'分组统计
agg1.ExpressionText
= "Fields!数量.Value"
'统计字段
doc.DataSchema.Aggregates.Add(agg1)'定义好的统计必须添加到报表的DataSchema中
agg2.DataBinding
= rt.DataBinding
'这个一定要设置为rt的DataBinding,因为agg1统计的分组来自于rt定义的分组
agg2.Running
= 1
'分组统计
agg2.ExpressionText
= "Fields!数量.Value"
'统计字段
doc.DataSchema.Aggregates.Add(agg2)'定义好的统计必须添加到报表的DataSchema中
doc.Preview()
执行结果:
本页地址:http://www.foxtable.com/webhelp/topics/1262.htm