Tableau 筛选包含另一个字段的 MAX 的字段
Tableau Filter on field which contains MAX of another field
我在 Tableau 中有一个 table,其中包含足球队、他们的最佳射手以及这些球员的进球数。我想过滤 table 以显示拥有进球最多球员的球队。
例如,如果我的 table 有 A 队和 B 队,而 B 队有每个球员(在所有球队中)进球最多的球员,那么我想要过滤以仅包括 B 队(但显示 B 队中的所有球员)。
这是顶级过滤器的一个很好的用例。
- 将团队放在过滤器架上。
- 定义过滤器时,选择“顶部”选项卡。
- Select 按领域、前 1、进球数和最大值
这会告诉 Tableau 确定每个球队 [进球数] 字段的最大值,然后过滤以仅包括具有最高值的球队。
(请注意,此方法假设每个球员都有一个数据行,显示该球员实现的总进球数。如果您的数据结构不同,比如每个球员每场比赛一个数据行,那么您可能需要稍微修改方法,也许也使用 LOD 计算)
在 SQL 中,这通常会导致 HAVING 子句。
唯一不足的是,如果两支球队并列榜首,我相信那种情况下你只会看到其中一支。
如果这种情况对您很重要,您可以使用 table 计算器按球队的最大 [进球数] 对球队进行排名,从而获得类似的效果,设置您选择的平局规则以快速table 计算,然后在过滤器架上使用该计算来仅显示排名最高的团队。如果多支队伍并列最高排名,这将显示多支队伍。
tablecalc 方法更灵活但效率较低,尤其是对于大型数据集,因为数据是从数据源获取到 Tableau 用于排名计算,并且然后只显示其中的一部分。 (Table calc 在处理管道中来得很晚)top filter 方法在数据源执行计算和过滤,并且只将过滤后的结果发送回 Tableau 客户端。
我在 Tableau 中有一个 table,其中包含足球队、他们的最佳射手以及这些球员的进球数。我想过滤 table 以显示拥有进球最多球员的球队。
例如,如果我的 table 有 A 队和 B 队,而 B 队有每个球员(在所有球队中)进球最多的球员,那么我想要过滤以仅包括 B 队(但显示 B 队中的所有球员)。
这是顶级过滤器的一个很好的用例。
- 将团队放在过滤器架上。
- 定义过滤器时,选择“顶部”选项卡。
- Select 按领域、前 1、进球数和最大值
这会告诉 Tableau 确定每个球队 [进球数] 字段的最大值,然后过滤以仅包括具有最高值的球队。
(请注意,此方法假设每个球员都有一个数据行,显示该球员实现的总进球数。如果您的数据结构不同,比如每个球员每场比赛一个数据行,那么您可能需要稍微修改方法,也许也使用 LOD 计算)
在 SQL 中,这通常会导致 HAVING 子句。
唯一不足的是,如果两支球队并列榜首,我相信那种情况下你只会看到其中一支。
如果这种情况对您很重要,您可以使用 table 计算器按球队的最大 [进球数] 对球队进行排名,从而获得类似的效果,设置您选择的平局规则以快速table 计算,然后在过滤器架上使用该计算来仅显示排名最高的团队。如果多支队伍并列最高排名,这将显示多支队伍。
tablecalc 方法更灵活但效率较低,尤其是对于大型数据集,因为数据是从数据源获取到 Tableau 用于排名计算,并且然后只显示其中的一部分。 (Table calc 在处理管道中来得很晚)top filter 方法在数据源执行计算和过滤,并且只将过滤后的结果发送回 Tableau 客户端。