以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]在加入计算“标准差”时总是报错,是代码错了吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=18401) |
||||||||
-- 作者:lpxjw_zyl -- 发布时间:2012/4/11 22:58:00 -- [求助]在加入计算“标准差”时总是报错,是代码错了吗? 在“理科有效分”计算窗口中加入dr("标准差") = DataTables("成绩库").Compute("Std(语文)")时总是报错,不加此无误。
统计出来要达到的要求是:Excel文件:“理科有效分”
麻烦您帮我看一下怎么修改。谢谢!
此主题相关图片如下:错误提示.jpg
|
||||||||
-- 作者:程兴刚 -- 发布时间:2012/4/11 23:30:00 -- Std是AggregateEnum枚举的类型,您这样张冠李戴当然出错,把这一句:dr("标准差") = DataTables("成绩库").Compute("Std(语文)")换成下面的代码试一试:
Dim p As Integer = Tables("成绩库").Cols("语文").Index Dim rs As Integer = Tables("成绩库").Rows.Count -1 dr("标准差") = DataTables("成绩库").Aggregate(AggregateEnum.Std, 0, p, rs, p) [此贴子已经被作者于2012-4-11 23:51:02编辑过]
|
||||||||
-- 作者:lpedu_jks -- 发布时间:2012/4/12 15:10:00 -- 谢了!dr("标准差") = DataTables("成绩库").Aggregate(AggregateEnum.Std, 0, p, rs, p) |
||||||||
-- 作者:程兴刚 -- 发布时间:2012/4/12 15:43:00 -- datatable是你的原始写法,把我带沟里去了,我没看见您的全部代码,也没在意! |
||||||||
-- 作者:lpedu_jks -- 发布时间:2012/11/10 15:03:00 -- [求助]填充“平均分之和” 上述问题已经解决了。但又遇到新问题了。 在填充“平均分之和”时最后一科“生物”填充进去了,语数英理化无法填充。麻烦您帮我看一下。 “平均分之和=语数英物化生各科平均分之和”。谢谢!
[此贴子已经被作者于2012-11-10 16:21:42编辑过]
|
||||||||
-- 作者:lin_hailun -- 发布时间:2012/11/10 20:56:00 -- 在得到生物平均分的地方,写入如下代码。标准差平均分同样这样做。 Dim sum As Double = Tables("总分有效分").Aggregate(AggregateEnum.Sum, 0, q, 5, q) For i As Integer = 0 To 5 Tables("总分有效分").Rows(i)("平均分之和") = sum Next |
||||||||
-- 作者:lpedu_jks -- 发布时间:2012/11/11 2:37:00 -- [求助]“有效分”的填充问题 谢谢!“平均分之和”、“标准差之和”问题解决了。 总分和生物的“有效分”已经填充,但“语、数、英、物、化”的“有效分”不知如何填充了,麻烦版主帮帮忙。谢谢! 各科重点有效分=(重点线-平均分之和)/各科标准差之和*该科标准差+该科平均分
此主题相关图片如下:现在的计算结果.jpg [此贴子已经被作者于2012-11-11 22:58:35编辑过]
|
||||||||
-- 作者:sgs -- 发布时间:2012/11/11 3:33:00 -- For Each r As Row In tbl.Rows |
||||||||
-- 作者:lpedu_jks -- 发布时间:2012/11/11 12:00:00 -- 谢谢!我不知这个代码加在什么地方? |
||||||||
-- 作者:lin_hailun -- 发布时间:2012/11/12 11:03:00 -- 以下是引用lpedu_jks在2012-11-11 12:00:00的发言:
谢谢!我不知这个代码加在什么地方? 加在生成 生物 行的后面,也就是下面代码的后面。因为要得到 平均分之和、标准差之和。 Dim sum As Double = Tables("总分有效分").Aggregate(AggregateEnum.Sum, 0, q, 5, q) For i As Integer = 0 To 5 Tables("总分有效分").Rows(i)("平均分之和") = sum Next |