逻辑列与交叉统计

假定订单表有个逻辑列,名为“已付款”,用于标记某个订单是否已经付款。

现在要统计每个客户已经付款的金额、未付款的金额以及总的金额,通常会这样变编写代码:

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("客户")
g
.VGroups.AddDef("已付款")
g
.Totals.AddDef("金额", "金额")
g
.HorizontalTotal = True
g
.VerticalTotal = True
g
.Build()
MainTable = Tables(
"统计表1")

得到的统计结果是:

虽然得到了期望的统计结果,但是出现“1”和“2”这样的列标题,是不够“友善”的。

我们可以调整一下代码,给逻辑列指定标题:

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("客户")
g
.VGroups.AddDef("已付款", "已付款|未付款")
g
.Totals.AddDef("金额", "金额")
g
.HorizontalTotal = True
g
.VerticalTotal = True
g
.Build()
MainTable
= Tables("统计表1")

现在得到的统计结果是:

注意这行代码,第个参数用于设置逻辑列的标题,标题用符号“|”格式,第一部分表示值为True时的标题,第二部分表示值为False时的标题:

g.VGroups.AddDef("已付款", "已付款|未付款")


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