交叉统计之增长率分析

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

CrossTableBuilder有以下属性,用于对统计结果进行增长率分析:

示例一

将下面的代码复制到命令窗口执行:

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("日期", "月")
g
.VGroups.AddDef("产品")
g
.Totals.AddDef("数量", "数量")
g
.CircleGrowth = True
g
.Build()
MainTable
= Tables("统计表1")

既可按月得到每个产品的销售数量,以及环比增长率:

示例二

通过适当的模式设置,可以让得到的统计结果更加美观,例如:

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

得到的统计结果为:

示例三

如果同时有多个水平日期分组,例如同时根据日期的年和月分组统计,就可以根据需要生成同比,例如:

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

得到的统计结果为:

显然,必须有跨年的数据,同比统计才有意义,因为同比是相对上年同时段而言的。

示例四

如果将Subtotal属性设置为True,可以自动生成汇总模式,得到的效果更佳,不仅有按月的同比增长率,还有按年的同比增长率 ,例如:

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

下图为得到的统计结果,其中按年的同比增长率是通过汇总模式计算得出的:

示例五

可以选择同时生成环比和同比,例如:

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

得到的统计结果为:

 


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