在仪表板中链接过滤器
在仪表板中链接过滤器,以根据另一个过滤器的当前选择来限制一个过滤器中可用的选项。
我们将从设置一个带有单个问题的简单仪表板开始。 此处的目的是设置一个带有两个链接过滤器(有时称为链式过滤器或级联过滤器)的仪表板。 每个过滤器都根据另一个过滤器中的值来限制其选项。
在本例中,链接州和城市过滤器将
- 显示所选州的城市值,或
- 显示所选城市的正确州(因为州可能具有同名的城市)。
链接仪表板过滤器的先决条件
在尝试链接仪表板过滤器之前,需要注意一些限制。
设置带有单个问题的仪表板
让我们从使用 Metabase 附带的示例数据库开始我们的示例。 有关提问和创建仪表板的更详细教程,请查看“入门”轨道。 在我们进一步操作之前,我们需要一个新的仪表板。 如果您不确定如何制作,我们的文档涵盖了这一点。
接下来,我们将提出一个问题。 单击+ 新建 > 问题 > 原始数据 > 示例数据库 > 人员,然后单击可视化。 您应该看到一个表格,其中列出了人员表中的所有客户。 接下来,单击可视化(左下角)选择地图可视化。 对于地图类型,选择图钉地图。 如果您遇到困难,我们的文档涵盖了如何提出此类问题。 务必保存您的问题并将其添加到您刚刚创建的仪表板。
添加州过滤器
我们需要一个仪表板过滤器,使我们能够根据我们选择的值查看来自不同州的订单。
- 单击铅笔图标以编辑您的仪表板。
- 要添加过滤器,请单击过滤器图标。
- 我们要添加一个位置过滤器。
- 对于“过滤器类型?”,选择下拉列表。
- 接下来,我们要将过滤器连接到问题卡。 在问题卡上,选择
Person.State
。 - 单击完成以添加过滤器,然后保存仪表板。
在继续添加下一个过滤器之前,请尝试一下过滤器,看看它是否有效。 从过滤器中选择一个州:地图是否更改以过滤来自该州的订单? 如果您选择多个州呢?
添加城市过滤器
要链接过滤器,我们将需要另一个过滤器,在本例中是城市过滤器。 按照上面概述的相同步骤,我们将添加另一个位置下拉过滤器,不同的是这次我们将过滤器连接到我们卡的Person.City
字段。
未链接的过滤器如何让您失望的示例
这就是我们将遇到问题的地方。 现在,过滤器彼此独立。 因此,“州”过滤器将让我们选择一个州,例如佛蒙特州,而“城市”过滤器将让我们选择任何城市 - 包括佛蒙特州以外的城市。 基本上,此仪表板将允许我们设置荒谬的过滤器组合,例如在佛蒙特州过滤奥斯汀市,这不是我们宇宙当前的设置方式(政治上)。 正如预期的那样,这种过滤器组合没有产生任何结果
链接过滤器以缩小选择范围
我们可以通过链接过滤器来强制执行逻辑过滤器组合。 例如,如果有人在“州”过滤器中选择佛蒙特州,则“城市”过滤器应该“知道”将城市的选项限制为仅限佛蒙特州内的城市。
要链接两个过滤器,我们将单击铅笔图标返回仪表板编辑模式。 由于我们希望“城市”过滤器对“州”过滤器中的更改做出反应,因此我们需要更改“城市”过滤器上的设置。 我们将单击“城市”过滤器上的齿轮图标,以调出“City
”过滤器的设置侧边栏。
这是重要部分:在侧边栏中,我们将单击“链接的过滤器”选项卡,该选项卡为我们提供了限制此过滤器选项(即“城市”过滤器的选项)的选项。 Metabase 将列出我们可以将“城市”过滤器链接到的可用过滤器。 在本例中,只有一个过滤器“州”过滤器,因此我们将切换该过滤器以链接过滤器。
让我们保存更改,然后试用一下。
将“城市”过滤器链接到“州”过滤器后,当我们在州过滤器中插入 VT 时,我们将看到“城市”过滤器现在知道仅显示佛蒙特州的城市。
我们还可以将“州”过滤器链接到“城市”过滤器,以根据城市过滤器的值限制“州”过滤器可用的选项。 这样,如果我们在城市过滤器中插入奥斯汀,州过滤器将仅显示包含名为奥斯汀的城市的州。
进一步阅读
- 字段过滤器:为 SQL 问题创建智能过滤器小部件
- 使用 SQL 问题向仪表板添加过滤器
- 使用 SQL 变量为图表创建过滤器小部件
- 仪表板过滤器
下一步:仪表板上的自定义点击目标
您可以设置仪表板卡片以将人们发送到仪表板、已保存的问题和 URL,并使用卡片中的值来更新目标位置的过滤器,或参数化到外部站点的链接。