我有一个学生平均分数信息,我正在进行一些统计工作,以找出学生与总分的重要性。下面是我的数据的屏幕截图,我还附上了数据供参考。
我可以使用tableau的WINDOW_AVG函数获得整体窗口平均值,但我想排除当前行的平均值。
例如,当我计算学生7210的总体平均值时,我必须离开7210学生的平均值(83.320754717)并使用剩余的学生平均值进行总体平均计算。类似地,当计算7211时,我必须让学生平均(77.75806452)不计算在整体中。
我已附加数据以供参考link。
有谁能让我知道如何进行这项计算?
答案 0 :(得分:1)
这是计算除了当前学生之外的班级平均值的公式,写为表格计算。
(zn(window_sum(avg([Student's Avg]), first(), -1)) +
zn(window_sum(avg([Student's Avg]), 1, last()))) /
(size() - 1)
或等效地,
(window_sum(avg([Student's Avg])) - lookup(avg([Student's Avg]), 0)) / (size() - 1)
与任何表格计算一样,公式只是故事的一部分。您还必须指定分区和寻址。在这个简单的例子中,您可以将“compute using”设置为StudentId。
表格计算由Tableau根据数据源返回的聚合查询结果表计算 - 因此围绕字段[Student's Avg]的聚合函数avg()。如果每个学生只有价值,那么选择SUM(),AVG(),MIN()等并不重要。如果您的数据源每个学生有多个数据行,比如每个测试分数,那么您可能希望在这种情况下确保使用AVG()。