如何计算前 10% 的成绩平均值?
班级成绩,50 人,单元格中按照计算各科成绩及上课时长等条件计算出最终成绩(扩展出来的)。
然后这个成绩中取前 10% 求平均值。
不能在 SQL 中计算,因为算最终成绩时候会和其他数据源关联计算,然后表单中还有分组汇总。
所以只能在设计器中进行。
求高手给个公式解答一下!
"班级成绩,50 人,单元格中按照计算各科成绩及上课时长等条件计算出最终成绩(扩展出来的)。 然后这个成绩中取前 10% 求平均值。 不能在 SQL 中计算,因为算最终成绩时候会和其他数据源关联 .."
班级成绩,50 人,单元格中按照计算各科成绩及上课时长等条件计算出最终成绩(扩展出来的)。
然后这个成绩中取前 10% 求平均值。
不能在 SQL 中计算,因为算最终成绩时候会和其他数据源关联计算,然后表单中还有分组汇总。
所以只能在设计器中进行。
求高手给个公式解答一下!
这个用报表表达式很难算了,要用集算器函数就很容易。假设成绩格子是 X,X{} 可取出所有成绩的集合,则:
=esproc(“x=?,x.top(-x.len()/10).avg()”,X{})
就可以了。
esproc 函数中前面的参数是个表达式,用? 作为这个表达式的参数,第二个参数是实际参数值。
A.top(n) 函数返回集合 A 的前 n 名(从小到大),n<0 则是从大到小,然后求平均就可以了。
润乾报表 2018 版中已经打入了部分集算器包,有 esproc 函数(貌似文档中没有写😳 )