按 e-png提示编写代码,发现部分数据统计不出来,是否我写的代码不完全对,增减率(增减率=(本期-上期)/上期*100%)的代码、表达式怎么写?我不会写烦请写一下,还有一个问题,按你的代码统计的表没有显示出我想要的统计表样式(如附件中的样式),另外我想要的是表中已输入多个连续年份不同月份的数据,怎样才可以统计出不同两个连续年份,不同月份时间段的对比统计数据,Table文件上传和代码如下:
Dim dtb As New DataTableBuilder("工作量完成情况与上年同期对比")
dtb.AddDef("科室", Gettype(String), 32)
dtb.AddDef("项目", Gettype(String), 32)
dtb.AddDef("本年度人次", Gettype(Integer))
dtb.AddDef("上年度人次", Gettype(Integer))
dtb.AddDef("增减数 ", Gettype(Integer))
dtb.AddDef("增减率 ", Gettype(Double))
dtb.AddDef("本年度金额", Gettype(Double))
dtb.AddDef("上年度金额", Gettype(Double))
dtb.AddDef("增减数", Gettype(Double))
dtb.AddDef("增减率", Gettype(Double))
dtb.Build()
MainTable= Tables("工作量完成情况与上年同期对比")
Dim f As New Filler
f.SourceTable = DataTables("工作量") '指定数据来源
f.SourceCols = "科别,项目" '指定数据来源列
f.DataTable = DataTables("工作量完成情况与上年同期对比") '指定数据接收表
f.DataCols = "科室,项目" '指定数据接收列
f.Filter = "科别 is not null"
f.Fill() '填充数据
Tables("工作量完成情况与上年同期对比").AutoSizeCols()
For Each r As Row In Tables("工作量完成情况与上年同期对比").Rows
Dim ff As String = "科别 = '" & r("科室") & "' And 项目 = '" & r("项目") & "' "
r("上年度人次") = DataTables("工作量").Compute("Sum(人次)", ff & " And 时间 < #12/31/2011# ")
r("本年度人次") = DataTables("工作量").Compute("Sum(人次)", ff & " And 时间 > #1/1/2012# And 时间 < #12/31/2012# ")
r("上年度金额") = DataTables("工作量").Compute("Sum(金额)", ff & " And 时间 < #12/31/2011# ")
r("本年度金额") = DataTables("工作量").Compute("Sum(金额)", ff & " And 时间 > #1/1/2012# And 时间 < #12/31/2012# ")
Next
DataTables("工作量完成情况与上年同期对比").DataCols("增减率").Expression = ""
For Each dr As DataRow In DataTables("工作量完成情况与上年同期对比").DataRows
dr("增减率") = dr("本年度人次")/ dr("上年度人次")
dr("增减数") = dr("本年度人次") - dr("上年度人次")
dr("增减率") = dr("本年度金额")/ dr("上年度金额")
dr("增减数") = dr("本年度金额") - dr("上年度金额")
DataTables("工作量完成情况与上年同期对比").DataCols("增减率").Expression = "本年度人次 /上年度人次"
DataTables("工作量完成情况与上年同期对比").DataCols("增减数").Expression = "本年度人次 -上年度人次 "
DataTables("工作量完成情况与上年同期对比").DataCols("增减率").Expression = "本年度金额 /上年度金额 "
DataTables("工作量完成情况与上年同期对比").DataCols("增减数").Expression = "本年度金额 -上年度金额 "
DataTables("工作量完成情况与上年同期对比").DataCols("增减率").SetFormat("#0.00%")
Next
请您费心指点