分组统计之占比分析

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

GroupTableBuilder有以下属性,用于对统计结果进行占比分析:

示例一

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef(
"产品")
g.Totals.AddDef(
"数量")
g.GrandProportion =
True
g.Build()

MainTable
= Tables("统计表1"
)

生成的统计表:

示例二

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g
.Groups.AddDef("产品")
g.Groups.AddDef(
"客户")
g.Totals.AddDef(
"数量")
g.GroupProportion =
True
g
.Build()
MainTable = Tables(
"统计表1")

生成的统计表:

上图中,客户CS01购买产品PD01的数量为260,占PD01总销量的2.3%;客户CS05购买产品PD02的数量为2240,占PD02总销量的12.31%。

示例三

可以同时进行分组占比和总占比分析,例如:

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g
.Groups.AddDef("产品")
g.Groups.AddDef(
"客户")
g.Totals.AddDef(
"数量")
g.GroupProportion =
True
g.GrandProportion=
True
g.Build()

MainTable = Tables(
"统计表1")

生成的统计表:

上图中,客户CS01购买产品PD01的数量为260,占PD01总销量的2.3%,占全部产品总销量的比重为0.5%。

示例四

如果同时统计多列的占比,通过适当地设计统计列标题,可以让生成的统计表更为美观,例如:

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef(
"产品")
g.Totals.AddDef(
"数量", "", "数量_值")
g.Totals.AddDef(
"金额", "", "金额_值")
g.GrandProportion =
True
g.Build()

MainTable
= Tables("统计表1"
)

这是生成的统计表:


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