逻辑列与交叉统计
假定订单表有个逻辑列,名为“已付款”,用于标记某个订单是否已经付款。
现在要统计每个客户已经付款的金额、未付款的金额以及总的金额,通常会这样变编写代码:
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("已付款", "已付款|未付款")