我需要帮助在Report Builder 3.0中创建整体平均值。我有一个以下列格式返回数据的查询:
Major Num Of Students Max GPA Min GPA Avg GPA
---------- ------------------ ---------- ---------- -----------
Accounting 89 4.0 2.3 3.68
Business 107 4.0 2.13 3.23
CIS 85 3.98 2.53 3.75
我在报告生成器中添加了一行,显示学生总数,总体最高GPA和总体最低GPA。但我不能简单地在Avg GPA专栏上运行Avg
功能,因为它需要考虑整体平均学生的数量。我相信我需要做类似以下的事情(伪代码):
foreach ( row in rows ) {
totalGpa += row.numOfStudents * row.avgGpa
totalStudents += row.numOfStudents
}
overallAvgGpa = totalGpa / totalStudents
有谁知道我在报告中如何做到这一点?
答案 0 :(得分:1)
在你的情况下,你需要加权平均值,如总计行中所示:
=Sum(Fields!numOfStudents.Value * Fields!avgGpa.Value)
/ Sum(Fields!numOfStudents.Value)
你可以看到我正在为每一行创建表达式Fields!numOfStudents.Value * Fields!avgGpa.Value
,将其相加,然后除以学生总数。
在您的情况下,这会给(89 * 3.68 + 107 * 3.23 + 85 * 3.75) / (89 + 107 + 85)
,即3.53
,这似乎是正确的。