Tableau api Tableau:从窗口平均值中排除当前行数据

Tableau api Tableau:从窗口平均值中排除当前行数据,tableau-api,Tableau Api,我有一个学生平均分数信息,我正在做一些统计工作,以找出学生与总分数的显著性。下面是我的数据截图,我也附上了数据以供参考 我可以使用tableau的window_AVG函数获得总体窗口平均值,但是我想在平均值中排除当前行 例如,当我计算学生7210的总体平均值时,我必须保留7210学生的平均值(83.320754717),并使用剩余的学生平均值进行总体平均值计算。同样地,当计算7211时,我必须将学生平均值(77.75806452)从总体计算中剔除 我已经附上了这方面的数据以供参考 有人能告诉我

我有一个学生平均分数信息,我正在做一些统计工作,以找出学生与总分数的显著性。下面是我的数据截图,我也附上了数据以供参考

我可以使用tableau的window_AVG函数获得总体窗口平均值,但是我想在平均值中排除当前行

例如,当我计算学生7210的总体平均值时,我必须保留7210学生的平均值(83.320754717),并使用剩余的学生平均值进行总体平均值计算。同样地,当计算7211时,我必须将学生平均值(77.75806452)从总体计算中剔除

我已经附上了这方面的数据以供参考


有人能告诉我如何进行这个计算吗?

这是计算班级平均成绩的公式,除了当前的学生,以表格形式编写

(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)
与任何表格计算一样,公式只是故事的一部分。您还必须指定分区和寻址。在这个简单的例子中,您可以将“computeusing”设置为StudentId


Table Calc由Tableau计算,Tableau作用于数据源返回的聚合查询结果表,因此在字段[Student's avg]周围使用聚合函数avg()。如果每个学生只有一个值,那么选择SUM()、AVG()、MIN()等并不重要。如果您的数据源中每个学生都有一个以上的数据行,比如每个测试分数,那么在这种情况下,您需要确保使用AVG()

阅读手册中关于window_sum()、first()、last()、Index()和size()的参考部分@AlexBlakemore。本手册仅包含有关功能的所有详细信息,未提供有关如何排除值的信息。first()允许您拾取第一个值,last()将指向最后一个值,window_sum()用于对所有值求和。通过排除要计算的行来计算值时未提及。请尝试编写一个公式,将范围相加到当前项,但不包括当前项,并将其添加到当前项后的值总和中,然后再减去项目数的1。@AlexBlakemore我可以用excel中与您所说的相同的方法轻松完成此操作。但由于我使用tableau生成结束视图,因此无法找到要使用的正确函数。我曾想过使用过滤器,但它不会工作,因为学生id是动态的。下面的答案清楚吗?