我链接的筛选器不起作用
您创建了一个链接筛选器,例如,如果仪表板同时包含“州”和“市”筛选器,“市”筛选器仅显示所选“州”筛选器中的城市。但是
- 您的卡片在应用链接筛选器时显示“无结果”,
- 您的链接筛选器似乎没有效果,或者
- 您的链接筛选器小部件没有显示已筛选值的下拉列表。
如果您在使用常规筛选器小部件时遇到问题,请参阅本指南。要解决链接筛选器的问题,您需要清楚地了解它们的工作原理
连接的仪表板卡片是否使用 SQL 变量?
根本原因:原生/SQL 问题必须有一个字段筛选器变量才能进行链接。常规 SQL 变量将不起作用。
采取的步骤:
- 更新卡片的查询,将常规变量更改为字段筛选器变量。
请参阅链接筛选器的限制。
您是否理解链接筛选器的方向性?
根本原因:链接筛选器是 Metabase 更复杂的功能之一,许多问题源于对其操作的误解。
要采取的步骤:检查您是否理解以下几点,并且您的链接筛选器是按照这些点设置的。
-
筛选器不属于特定的问题。相反,筛选器被添加到仪表板,其值用于填充问题中的变量。
-
为了让 Metabase 显示可能的筛选值下拉列表,它必须知道该列对应于一个类别。如果问题是通过 Notebook Editor 从表中创建的,这会自动发生,因为 Metabase 了解表的同步知识和列。
-
另一方面,如果用 SQL 编写的问题,问题作者必须选择“字段筛选器”。此外,所引用的字段必须在表元数据中设置为类别,Metabase 才能显示值下拉列表。
筛选器是否按正确的方向链接?
根本原因:最常见的原因是筛选器链接的方向错误。如果您希望筛选器 B 显示的值受筛选器 A 的设置限制,则必须更改筛选器 B 的设置,而不是筛选器 A—即,下游筛选器具有设置,而不是上游筛选器。
采取的步骤
- 删除现有链接,并以相反的方向创建新的链接。
是否有某些行满足完整的筛选条件?
根本原因:没有行满足链接筛选器中的所有条件。继续以城市和州为例,如果您手动输入一个不在所选州中的城市名称,则没有记录会同时满足这两个条件。
采取的步骤
- 创建一个仅使用第一个筛选器的问题,并检查它是否生成了一些行。(如果不生成,添加第二个筛选器也无法生成任何行。)
- 创建一个您认为应该产生与未产生任何数据的链接筛选器设置组合相同结果的问题。如果它产生了您预期的结果,请检查是否有输入错误,以及您是否使用了正确的连接类型。
所有通过第一个测试的行都通过第二个测试吗?
根本原因:在某些情况下,满足第一个筛选器条件的所有行也满足第二个筛选器的条件,因此第二个筛选器没有效果。
采取的步骤
- 创建一个直接包含第一个筛选器条件(即在问题中,而不是使用变量)的问题,然后添加第二个筛选器的条件。如果结果集没有改变,问题就出在逻辑上,而不是在筛选器上。
链接筛选器小部件是否显示已筛选值的下拉列表?
根本原因:为了让链接筛选器小部件显示正确的子集值作为下拉列表,必须设置一个显式的外键定义—仅链接筛选器本身不会告诉 Metabase 关系。
采取的步骤
- 检查 Metabase 数据库的表元数据是否包含外键关系。
阅读其他版本的 Metabase 的文档。