交叉统计之增长率分析
在学习本课的内容之前,请打开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")
得到的统计结果为: