计算?
我的数据窗口有这样一些数据:
001 马力 高数 87
002 马红 高数 94
003 王里 高数 54
001 马力 sql 91
002 马红 sql 74
001 马力 企业管理 68.5
------------
要求每个人的平均分,和总分怎么求?
我用了计算列,可是求出来的是所有人的总分,而不是按学号求的。
我在数据源中我进行了分组
为什么在求和和平均直的时候求出来的是所有人的
分组没有起的作用?
大家是否能告诉我在数据窗口中实现的具体步骤?
问题点数:0、回复次数:2Top
1 楼asklj(kaixin)回复于 2003-08-01 11:21:19 得分 0
时间有限,告诉你简略步骤:
1。用group样式来做数据对像,以学号为分组字段
2。sum( 分数 for group 1)得总分。 avg(分数 for group 1)得平均分Top
2 楼luminrong(十五大杰出青年)回复于 2003-08-01 21:12:08 得分 0
如果换种方法呢?不用计算域,而采用数据直接计算<确定数据窗口计算的列都为数值型>
在该数据窗口中itemchanged事件中:列gs、yw、yy代表高数,语文,英语
double ldb_gs,ldb_yw,ldb_yy,ldb_sum,ldb_avg //分别代表高数,语文,英语
if dw_1.GetRow() <= 0 then return
if dwo.name = 'gs' then
ldb_gs = double(data)
ldb_yw = dw_1.GetItemNumber(dw_1.GetRow(),'yw')
ldb_yy = dw_1.GetItemNumber(dw_1.GetRow(),'yy')
end if
//其它两种一样取值
if IsNull(ldb_gs) then ldb_gs = 0//结果先判断再计算
ldb_sum = ldb_gs + ldb_yw + ldb_yy
ldb_avg = ldb_sum/3
dw_1.SetItem(dw_1.GetRow(),'sum',ldb_sum)
dw_1.SetItem(dw_1.GetRow(),'avg',ldb_avg)
Top




