分组统计

DataBinding.Aggregate类型用于在报表中进行分组统计,该类型包括以下属性:

名称 说明
Name 名称,打印对象通过这个名称来引用这个Aggregate的统计结果。
DataBinding 指定绑定对象。
ExpressionText 统计表达式
Running 指定统计范围,包括两个值:
0:总计
1: 分组
Func 指定统计类型,包括以下可选值:

0:累积值
1:平均值
2:纪录数
3:最小值
4:最大值
8:采样方差
9:总体方差

10:标准偏差
11: 总体标准差

默认为0,所以如果要进行求和统计,那么可以不设置Func属性。

IgnoreNullValues 逻辑型,统计的时候,是否忽略空值

定义一个Aggregate的语法是:

New prt.Aggregate(Name)

例如要打印出不同产品的销售额:

Dim doc As New PrintDoc
Dim
rt As New prt.RenderText
Dim
Agg As New prt.DataBinding.Aggregate("GroupSum") '新定义统计的名称为GroupSum,名称随意即可。

rt.DataBinding.DataSource = BindTables(
"订单") '将容器绑定到订单表
rt.DataBinding.Grouping.Expressions.Add(
"Fields!产品.Value") '根据产品进行分组
rt.Text=
"[Fields!产品.Value]: [Aggregates!GroupSum.Value]" '设置打印内容
doc.body.Children.Add(rt)

agg.DataBinding = rt.DataBinding
'Agg的DataBinding属性,应该设为打印对象的DataBinding
agg.Running = 1
'分组统计
agg.ExpressionText =
"Fields!数量.Value" '统计字段
doc.DataSchema.Aggregates.Add(agg)
'定义好的统计必须添加到报表的DataSchema中

doc.Preview()

执行结果:

引用一个定义好的Aggregate的语法是:

[Aggregates!统计名称.Value]

例如:

rt.Text= "[Fields!产品.Value]: [Aggregates!GroupSum.Value]"


本页地址:http://www.foxtable.com/webhelp/topics/1260.htm