交叉统计之占比分析

在学习本课的内容之前,请打开CaseStudy目录下的示例文件"数据分析.Table"。

CrossTableBuilder有以下属性,用于对统计结果做进一步的占比分析:

示例一

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("产品")
g
.VGroups.AddDef("客户")
g
.Totals.AddDef("数量", "数量")
g
.HorizontalTotal = True
g.VerticalTotal =
True
g.VerticalProportion =
True
g.Build()

MainTable = Tables(
"统计表1"
)

生成的统计表为:

在上图中,客户CS01购买产品PD01的数量为39079,占该客户总采购量(189406)的比例为20.63%;PD01的销售数量为193943,占总销量(990488)的比例为19.58%。

示例二

通过适当设置标题,可以美化统计表的结构, 例如:

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("产品")
g
.VGroups.AddDef("客户", "{0}_数量")
g
.Totals.AddDef("数量", "数量")
g
.HorizontalTotal = True
g
.VerticalTotal = True
g
.VerticalProportion = True
g.Build()

MainTable = Tables(
"统计表1"
)

生成的统计表为:

示例三

还可以进行水平方向的份额统计,录入:

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("产品")
g
.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年_数量")
g
.Totals.AddDef("数量", "数量")
g
.HorizontalTotal = True
g
.VerticalTotal = True
g
.HorizontalProportion = True
g
.Build()
MainTable = Tables(
"统计表1"
)

生成的统计表为:

上图中,PD01的总销量为193943,其中1999年的销量为89911,占45.36%,2000年的销量为104032,占53.64%。

示例四

可以同时统计垂直占比和水平份额,例如:

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("产品")
g
.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年_数量")
g
.Totals.AddDef("数量", "数量")
g
.HorizontalTotal = True
g
.VerticalTotal = True
g.HorizontalProportion =
True
g.VerticalProportion =
True
g.Build()

MainTable = Tables(
"统计表1"
)

生成的统计表为:


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