以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于统计攻关阶段 请求帮助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127953)

--  作者:动检
--  发布时间:2018/11/26 9:18:00
--  关于统计攻关阶段 请求帮助

此主题相关图片如下:微信图片_20181120110122.png
按此在新窗口浏览图片

此主题相关图片如下:qq图片20181126090120.jpg
按此在新窗口浏览图片
不想一直麻烦大家 但是试错了一个星期后 还是不能运行 总是报错
所以还是上论坛看下谁能帮助一下 有报酬 有兴趣的可以联系 只想尽快解决这个问题 欢迎各位广大熟知Foxtable的盆友的帮助
目前做出的是如图一这个样子  表A每个班下面都会统计班级人数、语文成绩的及格数量、及格率、语文最高分最低分、平均分、标准偏差和离散度等                   
但是这样比较不直观 也不方便拷贝 所以我想让它通过按钮形式 以临时表的形式来显示计算出的数据 如图2所示
     
我想点击左边加载树 选择2年1班时 那么临时表就只统计2年1班的数据 
意思就是只统计当前 其他数据不参与统计 
如果统计临时表出现的时候 能相应的出现统计图那个更加完美 如果图表难以实现能先把临时表数据实现也可以
在此谢谢各位
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:统计项目.rar






--  作者:有点甜
--  发布时间:2018/11/26 9:38:00
--  

参考代码,看懂,自行扩充。


Dim dtb As New DataTableBuilder("表E")
dtb.AddDef("班级", Gettype(String), 4)
dtb.AddDef("科目", Gettype(String), 10)
dtb.AddDef("及格人数", Gettype(Double))
dtb.AddDef("最大值", Gettype(Double))
dtb.Build()
Dim kms() As String = {"语文","数学","英语","政治","历史"}
Dim dt As DataTable = DataTables("表E")
Dim t As Table = Tables("表A")
For Each bj As String In t.DataTable.GetValues("班级")
    For Each km As String In kms
        Dim ndr As DataRow = dt.AddNew
        ndr("班级") = bj
        ndr("科目") = km
        ndr("及格人数") = t.Compute("count(班级)", km & "_分数 >= 60 and 班级 = \'" & bj & "\'")
        ndr("最大值") = t.Compute("max(" & km & "_分数)", "班级 = \'" & bj & "\'")
    Next
Next
MainTable = Tables("表E")


--  作者:动检
--  发布时间:2018/11/26 14:22:00
--  
好的 我研究一下 
甜老师 谢谢你