Tableau:从 window 平均值中排除当前行数据
Tableau: exclude current row data from window average
我有一个学生的平均分信息,我正在做一些统计工作来找出学生与总分的重要性。下面是我的数据截图,我也附上数据供参考。
我可以使用画面的 WINDOW_AVG 函数获得总体 window 平均值,但是我想将当前行排除在平均值之外。
例如,当我计算7210学生的总平均分时,我必须留下7210学生的Avg (83.320754717),并使用剩余学生的平均分来计算总平均分。同样,在计算 7211 时,我必须将学生平均数 (77.75806452) 排除在总体计算之外。
我在这个link.
附上了数据供参考
谁能告诉我如何进行这个计算?
这里是计算 class 除当前学生以外的平均值的公式,写为 table 计算。
(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)
与任何 table 计算一样,公式只是故事的一部分。您还必须指定分区和寻址。在这种简单的情况下,您只需将 "compute using" 设置为 StudentId。
Table 计算由 Tableau 作用于数据源返回的聚合查询结果的 table 计算 - 因此围绕 [Student's 字段的聚合函数 avg()平均]。如果只有每个学生的价值,那么 SUM()、AVG()、MIN() 等的选择无关紧要。如果您的数据源对每个学生有多个数据行,比如每个考试成绩,那么在这种情况下您会希望确保使用 AVG()。
我有一个学生的平均分信息,我正在做一些统计工作来找出学生与总分的重要性。下面是我的数据截图,我也附上数据供参考。
我可以使用画面的 WINDOW_AVG 函数获得总体 window 平均值,但是我想将当前行排除在平均值之外。
例如,当我计算7210学生的总平均分时,我必须留下7210学生的Avg (83.320754717),并使用剩余学生的平均分来计算总平均分。同样,在计算 7211 时,我必须将学生平均数 (77.75806452) 排除在总体计算之外。
我在这个link.
附上了数据供参考谁能告诉我如何进行这个计算?
这里是计算 class 除当前学生以外的平均值的公式,写为 table 计算。
(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)
与任何 table 计算一样,公式只是故事的一部分。您还必须指定分区和寻址。在这种简单的情况下,您只需将 "compute using" 设置为 StudentId。
Table 计算由 Tableau 作用于数据源返回的聚合查询结果的 table 计算 - 因此围绕 [Student's 字段的聚合函数 avg()平均]。如果只有每个学生的价值,那么 SUM()、AVG()、MIN() 等的选择无关紧要。如果您的数据源对每个学生有多个数据行,比如每个考试成绩,那么在这种情况下您会希望确保使用 AVG()。