交叉统计之占比分析
在学习本课的内容之前,请打开CaseStudy目录下的示例文件"数据分析.Table"。
CrossTableBuilder有以下属性,用于对统计结果做进一步的占比分析:
- HorizontalProportion
逻辑型,是否生成水平份额
- VerticalProportion
逻辑型,是否生成垂直占比
- HorizontalProportionCaption
字符型,用于设置水平份额标题,默认为“份额”
- VerticalProportionCaption
字符型,用于设置垂直占比标题,默认为“占比”
示例一
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