以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 交?统计问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194693) |
-- 作者:lgz518 -- 发布时间:2025/1/6 14:02:00 -- 交?统计问题 如何让交叉统计统计,增加“小计,超差数,状态”? 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") \'打开生成的统计表 如图
|
-- 作者:有点蓝 -- 发布时间:2025/1/6 14:18:00 -- 先生成统计表,再使用DataTables("统计表1").DataCols.Add这种方式添加表达式列,类似:http://www.foxtable.com/webhelp/topics/3227.htm |
-- 作者:lgz518 -- 发布时间:2025/1/6 14:53:00 -- 先生成统计表 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")
|
-- 作者:有点蓝 -- 发布时间:2025/1/6 15:40:00 -- …… 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), "数量小计 - 计划运动量")
|
-- 作者:lgz518 -- 发布时间:2025/1/7 10:40:00 -- 执行后,第一行没计算,如何解决?如下图 |
-- 作者:有点蓝 -- 发布时间:2025/1/7 10:42:00 -- 加上isnull:http://www.foxtable.com/webhelp/topics/0602.htm |
-- 作者:lgz518 -- 发布时间:2025/1/7 11:52:00 -- 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), "数量小计 - 计划运动量") 加上红代码,取不到值,如何处理? |
-- 作者:有点蓝 -- 发布时间:2025/1/7 12:02:00 -- 什么地方没有值?截图说明 |
-- 作者:lgz518 -- 发布时间:2025/1/7 13:43:00 -- 问题一:没值 问题二:改代码,让统计结果在窗口上的表显示,下面代码报错,提示没"统计表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() |
-- 作者:有点蓝 -- 发布时间:2025/1/7 13:46:00 -- 问题1、看6楼 2、请上传实例测试
|