如何让交叉统计统计,增加“小计,超差数,状态”?Dim b As New CrossTableBuilder("统计表1", DataTables("表C"))
b.HGroups.AddDef("姓名") '
b.HGroups.AddDef("项目") '
b.HGroups.AddDef("计划运动量") '
b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") '
b.Totals.AddDef("数量") '
b.Totals.AddDef("日运动量") '
b.Build '生成统计表
Maintable = Tables("统计表1") '打开生成的统计表
如图
此主题相关图片如下:交计算.jpg
先生成统计表,再使用DataTables("统计表1").DataCols.Add这种方式添加表达式列,类似:
http://www.foxtable.com/webhelp/topics/3227.htm
先生成统计表
Dim b As New CrossTableBuilder("统计表1", DataTables("表C"))
b.HGroups.AddDef("姓名") '
b.HGroups.AddDef("项目") '
b.HGroups.AddDef("计划运动量") '
b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") '
b.Totals.AddDef("数量") '
b.Totals.AddDef("日运动量") '
b.Build '生成统计表
'Maintable = Tables("统计表1") '打开生成的统计表
'Dim nms() As String = {"语文", "英语", "数学", "物理", "化学"}
2.绿色部分是如何加上,对红代码,没太理解,请帮处理?
Dim nms() As String = {"日期", "数量"}
For Each nm As String In nms '对生成的统计表增加表达式列,计算及格率和优秀率
DataTables("统计表1").DataCols.Add(nm & "小计", GetType(Double), nm & "_数量")
Tables("统计表1").Cols(nm & "超差数").Move(Tables("统计表1").Cols(nm & "超差数").Index + 1)
DataTables("统计表1").DataCols.Add(nm & "状态", GetType(Double), nm & "状态")
Tables("统计表1").Cols(nm & "状态").Move(Tables("统计表1").Cols(nm & "_状态").Index + 1)
Next
MainTable = Tables("统计表1")
……
b.Build '生成统计表
dim s as string = ""
for each c as col in Tables("统计表1").cols
if c.name like "数量_*" then
s = s & "+" & c.name
next
s = s.trim("+")
DataTables("统计表1").DataCols.Add("数量小计", GetType(Double), s)
DataTables("统计表1").DataCols.Add("超差数", GetType(Double), "数量小计 - 计划运动量")
Dim b As New CrossTableBuilder("统计表1", DataTables("表C"))
b.HGroups.AddDef("姓名") '
b.HGroups.AddDef("项目") '
b.HGroups.AddDef("计划运动量") '
b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") '
b.VGroups.AddDef("日期", DateGroupEnum.Day, "{0}日")
b.Totals.AddDef("数量") '
b.Totals.AddDef("日运动量") '
b.Build '生成统计表
dim s as string = ""
for each c as col in Tables("统计表1").cols
if c.name like "数量_*" then
s = s & "+" & c.name
next
s = s.trim("+")
DataTables("统计表1").DataCols.Add("数量小计", GetType(Double), s)
DataTables("统计表1").DataCols.Add("超差数", GetType(Double), "数量小计 - 计划运动量")
加上红代码,取不到值,如何处理?
问题一:没值
此主题相关图片如下:交没值.jpg
问题二:改代码,让统计结果在窗口上的表显示,下面代码报错,提示没"统计表1",如何解决?
Dim b As New CrossTableBuilder("统计表1", DataTables("表C"))
b.HGroups.AddDef("姓名") '
b.HGroups.AddDef("项目") '
b.HGroups.AddDef("计划运动量") '
b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") '
b.VGroups.AddDef("日期", DateGroupEnum.Day, "{0}日")
b.Totals.AddDef("数量") '
b.Totals.AddDef("日运动量") '
b.Build '生成统计表
dim s as string = ""
for each c as col in Tables("统计表1").cols
if c.name like "数量_*" then
s = s & "+" & c.name
next
s = s.trim("+")
DataTables("统计表1").DataCols.Add("数量小计", GetType(Double), s)
DataTables("统计表1").DataCols.Add("超差数", GetType(Double), "数量小计 - 计划运动量")
'MainTable = Tables("统计表1")
Tables("窗口2_Table1").DataSource = b.BuildDataSource()