Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:如何设计“单项平均”公式?

1楼
hbfnmxb 发表于:2008/11/7 14:43:00
这个表是用易表做的模,现在想全部采用狐表,以提高计算速度,第一个“你认为教师的工作态度”一列中的合计,我计算出来了,公式也会,“单项平均”我公式就不会了,大人们看看。“单项平均”公式的要求是这样的:相同教师的合计分是不同的,这里要求有多少个相同教师,它们的合计要相加,所得之和要除相同教师的个数,所得结果添在“单项平均”中。看看这个公式怎么写。谢谢。

第一个是易表文件
第二个是我要做的狐表文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:易表学生评教分析系统2008.11.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生评教表.rar


提示:题目要简明扼要!
[此贴子已经被smileboy于2008-11-7 15:56:16编辑过]
2楼
狐狸爸爸 发表于:2008/11/7 15:18:00

虽然可以实现,但是表结构有问题,这是一个原始评分数据表,通常不应该在这里头进行统计,而是有一个单独的统计表,同级每一个教师的平均得分和排名。


另外,请不要用这么复杂的列名,表头应该考虑用列标题来实现。

 

3楼
狐狸爸爸 发表于:2008/11/7 15:26:00

我利用命令窗口设置了两项的计算,大概3秒左右可以出结果,其余的可以自己加进去。

 

Dim Names As List(Of String)

Names = DataTables("学生评分表").GetUniqueValues("","教师姓名")

For Each Name As String In Names

   Dim Sum As Double = DataTables("学生评分表").Compute("Sum(你认为老师的教学态度_合计)","[教师姓名] = '" & Name & "'")

   Dim Count As Integer = DataTables("学生评分表").Compute("Count(教师姓名)","[教师姓名] = '" & Name & "'")

   Dim Drs As List(Of DataRow) = DataTables("学生评分表").Select("[教师姓名] = '" & Name & "'")

   Dim Avg As Double = Math.Round(Sum / Count,3)

   For Each dr As DataRow In Drs

       dr("你认为老师的教学态度_单项平均") = avg

   Next

 

  Sum = DataTables("学生评分表").Compute("Sum(你认为老师创设的课堂情景_合计)","[教师姓名] = '" & Name & "'")

  Count = DataTables("学生评分表").Compute("Count(教师姓名)","[教师姓名] = '" & Name & "'")

  Drs = DataTables("学生评分表").Select("[教师姓名] = '" & Name & "'")

  Avg = Math.Round(Sum / Count,3)

  For Each dr As DataRow In Drs

      dr("你认为老师创设的课堂情景_单项平均") = avg

  Next

Next

不过这样的设计始终是有问题的,应该有单独的统计表,否则计算的耗时可以忍受,但是存盘就慢多了,可能要几分钟,因为foxtable只保存修改过的行,所以日常的应用存盘效率高过易表,但是你这样设计的话,等于每次计算后,11万行全部被修改过,存盘的速度可想而知。

4楼
hbfnmxb 发表于:2008/11/7 15:28:00

不太明白,因为对狐表还不是太懂,总认为是易表的升级,但做起来,却不如易表易。那么应该怎么设计。讲得再具体些。谢谢。

5楼
狐狸爸爸 发表于:2008/11/7 15:30:00
看3楼啊,我给了代码,直接在命令窗口执行即可算出其中两个单项平均。
[此贴子已经被作者于2008-11-7 15:33:14编辑过]
6楼
狐狸爸爸 发表于:2008/11/7 15:34:00
最好改变结构,如果不想改,将三楼的代码设计成一个按钮,以后但及这个按钮计算单项平均。
7楼
hbfnmxb 发表于:2008/11/7 15:36:00
在“教师得分表”中“教学态度_得分”这一列怎样把“学生评分表”中“你认为老师的教学态度_单项平均”这一列的数据引用过来??谢谢!!!
8楼
狐狸爸爸 发表于:2008/11/7 15:43:00

你应该删除学生评分中的所有单项平均列,直接在教师得分表中加上单项平均栏目,在这里进行统计。

好的表结构是一个好系统的基础,就像房子的地基。

9楼
hbfnmxb 发表于:2008/11/7 15:53:00

提醒的对,那么用三楼的代码,需要改些什么??

10楼
smileboy 发表于:2008/11/7 15:55:00
还是好好看帮助吧,打好基础才是主要的。
共19 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 3 queries.