联动筛选器

您可以联动仪表盘上的筛选器,以便子筛选器根据父筛选器应用的值来限制其可选值。

例如,假设您希望州(state)列的筛选器限制城市(city)列筛选器可用的值,这样如果有人选择了一个州,他们将只能选择该州内的城市。为此,您可以将城市筛选器(子)链接到一个(父)州筛选器。

Linked filters

为联动筛选器设置表格

您只能联动那些连接到仪表盘卡片上的数据库列(而不是自定义列或汇总)的仪表盘筛选器,因为 Metabase 需要列元数据来创建联动筛选器。Metabase 需要知道列中有哪些值,以及父级和子级中的列是如何相互关联的。

只有当筛选器连接到在表格元数据中具有明确关系的列时,它们才能被联动。我们所说的关系,是指这些列应该

  • 在同一个表中。
  • 在两个不同的表中,并且在表格元数据中指定了外键关系。
  • 在两个不同的表中,并且通过一个或多个中间表与外键关系相连,这在表格元数据中指定。

Setting up foreign key in table metadata

如果您尝试在两个未连接的列之间设置联动筛选器,Metabase 不会显示错误,但您会发现子筛选器中的值没有被父筛选器限制。更多故障排除技巧,请参阅联动筛选器故障排除

设置联动筛选器

您可以将一个子筛选器链接到一个或多个父筛选器。子筛选器必须是 ID、位置、文本或类别筛选器。父筛选器可以是任何筛选器类型

要将仪表盘上的子筛选器链接到一个或多个父筛选器

  1. 点击仪表盘右上角的铅笔图标编辑仪表盘。
  2. 点击筛选器中的齿轮图标编辑子筛选器。
  3. 在筛选器设置侧边栏中,切换到联动筛选器选项卡。
  4. 选择父筛选器。

Linked filters

您在联动筛选器选项卡中选择的筛选器将成为父筛选器,即限制您当前正在编辑的这个(子)筛选器值的筛选器。

联动筛选器的局限性

联动筛选器忽略由模型和问题定义的关系

联动筛选器只“知道”在表格元数据中定义的关系。此约束允许人们将筛选器连接到多个仪表盘卡片(跨多个选项卡)上的同一列,但该约束也意味着

  • 联动筛选器无法看到模型或问题中由连接(join)定义的关系。
  • 联动筛选器无法使用任何底层卡片或模型中的任何筛选或连接逻辑。

例如,假设您有一个包含州和城市列的表,并且您构建了一个模型来筛选掉城市 = 旧金山的行。您基于该模型提出一个问题,并将其添加到仪表盘中。您向仪表盘添加州和城市筛选器,并将它们链接起来。如果您选择州 = 加利福尼亚州,城市筛选器可能仍会显示旧金山作为选项,即使问题和底层模型中没有包含旧金山的记录,因为筛选器只“知道”底层表的元数据(其中包含该列的示例值)。

联动筛选器不适用于自定义列或汇总

Metabase 使用数据库列元数据为联动筛选器填充值,这意味着联动筛选器必须连接到数据库列。特别是

  • 您不能在自定义列上创建联动筛选器。

  • 原生/SQL 问题必须有一个字段筛选器变量才能被联动。基本的 SQL 变量没有连接到数据库列,因此它们不适用于联动筛选器。

  • 您不能联动使用“自定义列表”或“从另一个模型或问题”作为其值来源的筛选器。

联动筛选器故障排除

如果您在使用联动筛选器时没有看到预期的结果,请确保您的表关系已设置为支持联动筛选器。有关更多故障排除信息,请参阅联动筛选器故障排除

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想要改进这些文档? 提出更改建议。
© . This site is unofficial and not affiliated with Metabase, Inc.