Foxtable(狐表)用户栏目专家坐堂 → 交?统计问题


  共有167人关注过本帖树形打印复制链接

主题:交?统计问题

帅哥哟,离线,有人找我吗?
lgz518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
交?统计问题  发帖心情 Post By: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") '打开生成的统计表
如图

图片点击可在新窗口打开查看此主题相关图片如下:交计算.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By: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")

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/1/7 10:40:00 [显示全部帖子]

执行后,第一行没计算,如何解决?如下图


图片点击可在新窗口打开查看此主题相关图片如下:交计算-1.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By: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), "数量小计 - 计划运动量")
加上红代码,取不到值,如何处理?

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/1/7 13:43:00 [显示全部帖子]

问题一:没值

此主题相关图片如下:交没值.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() 


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/1/7 14:10:00 [显示全部帖子]

HTTP/1.1 500 服务器错误
[此贴子已经被作者于2025/1/7 16:58:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/1/7 14:57:00 [显示全部帖子]

For Each c As Col In Tables("统计表1").cols
DataTables("统计表1").DataCols.Add("数量小计", GetType(Double), s)
Tables("窗口2_Table1").DataSource = b.BuildDataSource()
改为
For Each c As Col In Tables("窗口2_Table1").cols
DataTables("窗口2_Table1").DataCols.Add("数量小计", GetType(Double), s)
Tables("窗口2_Table1").DataSource = b.BuildDataSource()
也是无效,具体代码如何处理?

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/1/7 15:43:00 [显示全部帖子]

没太理解,请老师出具体代码,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1307 积分:8899 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/1/7 16:30:00 [显示全部帖子]

执行后,跟9楼一样。数量小计没有值,如何解决?

下面代码怎么改?
DataTables("窗口2_Table1").DataCols.Add("数量小计", GetType(Double), s)

IsNull([s],0),不对

 回到顶部