仪表板上的自定义点击目的地
你可以设置仪表板卡片,将人们发送到仪表板、保存的问题和 URL,并使用卡片中的值在目标位置更新过滤器,或参数化外部网站的链接。
Metabase 提供了一些简单的构建块,让您可以自定义当有人点击仪表板上的图表时会发生什么。您可以将这些原语组合在一起,创建通过报告的路径,仪表板更新后续仪表板,甚至将人们发送到外部网站。
对于本文,我们将关注自定义点击行为的一个选项:转到自定义目的地。我们将使用 Metabase 的示例数据库进行场景模拟,向您展示自定义目的地是如何工作的,并展示一些创建交互式体验的技巧。
我们将创建两个快速仪表板——一个 订单概览 仪表板和一个 产品详情 仪表板。我们想要创建的用户体验是:当有人查看我们的订单概览仪表板时,他们应该能够点击一个产品,然后 Metabase 将他们带到根据用户点击的产品更新的产品详情仪表板。一旦人们到达产品详情仪表板,Metabase 应该能够根据用户点击的产品类别将人们发送到不同的外部 URL。
之后,我们还将通过另一个使用 SQL 问题的示例展示如何将自定义目的地作为向仪表板上的 SQL 问题添加交互元素的好方法。
如果你已经有了自己的仪表板可以工作,你可以跳到我们开始自定义目的地的地方。
创建订单概览和产品详情仪表板
让我们首先构建我们的 订单概览 仪表板并向其中添加两个问题。我们将快速浏览这部分内容——如果你需要更详细的信息,请查看我们关于 提问 和 创建仪表板 的文档。
创建一个新的仪表板,命名为订单概览,并将其保存在一个合理的位置。
我们将就我们的订单提出两个问题
- 我们的订单表是什么样的?:首先浏览
Orders
表,然后点击保存。 - 订单是如何按州划分的?:选择
Orders
表开始,然后在侧边栏的 用户 下按State
字段汇总。由于我们按州汇总,Metabase 为我们生成了一个 区域地图。务必保存此问题。
接下来,我们可以将那些保存的问题添加到我们的新仪表板中。在查看空白仪表板时,点击 铅笔图标 进入编辑模式,并通过选择 + 添加保存的问题。一旦添加了这些问题并保存了仪表板,结果应该看起来像这样:
接下来,我们需要创建我们的 产品详情 仪表板,最终我们会将其链接到订单概览。产品详情将更详细地查看我们库存中的单个项目,因此我们还将设置一个仪表板过滤器,允许我们根据要检查的产品输入一个ID值。
创建此仪表板,将其命名为产品详情,并保存。
让我们提出两个新问题,并将它们添加到这个仪表板中。
- 产品名称是什么?:从
产品
表格开始,点击 可视化,然后选择 数字,在 显示字段 下拉菜单中选择标题
。保存此问题。 - 有多少订单包含此产品?:从
订单
表格开始,并在订单
列表下按产品ID
的计数进行汇总。也通过 数字 可视化此内容,在 显示字段 下拉菜单中选择Count
,然后保存问题。
返回到产品详情仪表板。在编辑模式下,添加我们的新保存问题,并且别忘了我们还需要一个仪表板过滤器。要添加一个过滤器,请点击右上角的 添加过滤器 图标,并选择 ID。为每个卡片选择适当的列进行过滤——我们的产品名称卡片将通过 Product.ID
进行过滤,而订单数量应该通过 Order.Product ID
进行过滤。我们将这些问题的可视化设置为 数字,以便它们像变量文本卡片一样运行,根据过滤器的值更改其文本。
以下是仪表板过滤器设置将看起来像什么
点击 完成 并保存您的仪表板。
现在我们将展示如何链接到外部网站。仅作为一个例子,我们将使用Metabase文档的搜索结果页面,并搜索用户点击的产品。
以下是完整的点击路径
订单概览 仪表板 → 产品详情 仪表板 → 外部网站
此GIF显示了点击路径的实际操作
自定义点击行为:订单概览仪表板
让我们回到 订单概览 仪表板。我们可以向此仪表板上的每个卡片添加自定义点击行为,但让我们专注于仅添加一个自定义目的地到一张卡片。假设我们想要设置 订单
卡(包含订单表的卡片),以便当有人点击 产品ID
列 时,Metabase 会将其发送到产品详情页面,并将产品详情仪表板上的过滤器与用户点击的产品 产品ID
连接。
从订单概览页面开始,我们将点击 铅笔图标 进入仪表板编辑模式。接下来,我们将悬停在要自定义的卡片上。一个菜单将出现在右上角。点击 点击行为图标 菜单(它是带有鼠标指针的卡片图标)。
Metabase 将为您滑动出一个侧边栏,以设置有人点击此表格时会发生什么。
让我们先了解一下情况
- 卡片网格:由于我们为订单卡片选择了 点击行为,Metabase 以蓝色突出显示其 点击 标签。我们可以通过点击其他卡片的标签来选择另一张卡片的点击行为。
- 右上角:主要的编辑菜单,包括添加问题、文本框或过滤器选项。
- 右侧边栏:用于自定义当前卡片点击行为的选项。
由于我们使用查询构建器来编写“订单”问题,Metabase将默认点击行为设置为打开钻取菜单,这允许人们钻取数据。
让我们更改点击行为,将人们发送到我们的产品详情仪表板。
表格和自定义目的地是一对特别好的组合,因为我们可以为表格中的每一列设置不同的自定义目的地。在这个例子中,我们将只设置单列的点击行为。我们将在“订单”问题卡上设置一个自定义目的地,以便当人们点击“产品ID
”列中的值时,Metabase会1) 将他们发送到产品详情仪表板,2) 并通过点击的产品ID
过滤该仪表板。
我们的选项有
- 打开操作菜单(使用查询构建器编写的问题的默认选项)。
- 转到自定义目的地。
- 更新仪表板过滤器。
我们将选择转到自定义目的地。
Metabase将提供三个自定义目的地选项
- 仪表板
- 保存的问题
- URL
要将人们发送到产品详情仪表板,我们将选择仪表板选项,并选择我们的产品详情仪表板。
这里是检查点
传递值到目的地
到目前为止,我们已经将产品ID
列设置为转到自定义目的地,我们将其设置为链接到产品详情仪表板,但我们还没有完成设置此链接。接下来,我们想要将值传递到此仪表板的过滤器中。您会注意到仪表板上有可用的过滤器列表。在这种情况下,我们的产品详情仪表板只有一个我们可以传递值的过滤器:ID。
点击ID,您会注意到您可以从表中的任何列传递值,而不仅仅是产品ID
列。但在这个例子中,我们将从产品ID
列传递值。
Metabase将提供一个摘要
在这里,Metabase确认我们已将产品ID
列的点击行为设置为
- 转到自定义目的地。
- 链接到产品详情仪表板。
- 将
产品ID
列的值传递到ID
过滤器上的产品详情仪表板。
让我们试试看:从订单概览,我们将在产品ID
列上点击,Metabase将带我们到产品详情
仪表板,并将值14
放入ID
过滤器中。
自定义目的地:URL
接下来,我们将设置产品详情
仪表板,以便当人们点击产品名称
卡时,Metabase将发送他们到一个外部网站,并使用卡片中的值参数化URL。我们可以发送他们到任何外部网站,但在这个例子中,我们将发送他们到Metabase文档的搜索页面,以便您可以查看参数化操作(并且阅读我们的文档会使您成为一个更好的人)。
这是那个仪表板
像以前一样,我们将进入仪表板编辑模式,悬停在产品名称
卡上,并选择点击行为
。
我们将看到之前看到的相同菜单
- 打开操作菜单。
- 转到自定义目的地。
- 更新仪表板过滤器。
我们将选择 转到自定义目的地 和 URL。接下来,我们将输入我们的 URL,并通过将它们用双大括号括起来来包含 参数,如下所示:{{parameter}}。在这种情况下,我们将使用 标题
作为 URL 中的参数
https://metabase.net.cn/search?query={{Title}}
您可以查看 您可引用的值 下拉菜单,以查看您可以在 URL 中用作参数的值的完整列表。您可以使用 URL 中的任何(或所有)值,包括重复使用相同的值。
使用文本框添加导航
除了 为您的仪表板添加上下文 之外,您还可以使用文本卡片将有用的导航链接添加到仪表板中,例如添加一个将您带回到我们 订单概览 仪表板(我们开始的地方)的文本卡片。您可以创建一个文本卡片,将文本居中,并使用 Markdown 创建一个链接到 订单概览 仪表板的链接,这只是为您的读者提供方便,让他们更容易浏览您的点击路径。这是带有该链接的仪表板的外观
使用 SQL 问题的自定义目的地
我们上面使用的示例仪表板只包括使用 Metabase 的 查询构建器 提出的问题,但您可能还有您想在仪表板上使其交互式 本地查询。
让我们先在我们的 产品详情 仪表板中提出并添加一个 SQL 问题,这次是关于产品类别。在导航到本地查询构建器后,我们将输入以下 SQL 问题
select CATEGORY
from PRODUCTS
where
{{TITLE}} and
{{ID}}
Metabase 滑出一个侧边栏,其中您将看到两个变量:标题
和 ID
。我们希望这个问题在我们输入 ID 或标题字段中的值时显示产品类别。从下拉菜单中,将两个的 变量类型 都设置为 字段筛选器。将 标题
变量映射到 产品.标题
字段,并将 ID
映射到 产品.ID
。
您可以通过将示例 ID 添加到字段筛选器来确认问题是否运行;这里我们使用产品 ID 号 34 进行测试,并运行查询。因为我们的可视化是 数字,所以我们看到该产品的类别(小工具)作为文本显示在问题下方
现在保存该问题并将其添加到我们的 产品详情 仪表板中。在编辑模式下,请确保将现有的仪表板筛选器链接到我们的新卡片,该新卡片应该筛选新 产品类别 卡片中的 ID
列。
接下来,选择我们新卡片上的 点击行为图标,您将看到与之前略有不同的菜单
- 不执行任何操作
- 转到自定义问题
- 更新仪表板筛选器
存在“不执行任何操作”选项的原因是我们用 SQL 编写了 产品类别
问题,而 SQL 问题不包括 操作菜单。
接下来,我们将向您展示一个巧妙的小技巧。如果我们返回到 产品类别
问题,我们可以使用 concat
创建基于筛选器值的字符串。
select concat('Category is ', CATEGORY)
from PRODUCTS
where
{{TITLE}} and
{{ID}}
最后,我们可以将自定义目的地设置为一个特定的参数化 URL,就像我们之前做的那样,或者将此卡片链接到包含按产品类别统计的订单的另一个仪表板。
总结
我们已经向您展示了如何设置简单的点击路径,以及如何为本地查询和Metabase查询构建器创建的查询设置自定义目标。但这些示例只展示了单个点击路径。您可以为仪表板上的每个问题卡自定义行为!例如,您可以创建一个州详细仪表板,并自定义美国地图上的点击行为,使Metabase将人们发送到按点击的州筛选的州详细仪表板。
使用Metabase查询构建器构建的问题将默认显示在操作菜单中,允许用户深入数据,但对于SQL问题,我们建议根据需要自定义目标。请参阅我们的文档了解更多关于交互式仪表板的信息。
您还可以将用户属性传递到URL或目标过滤器中,允许您为特定用户定制体验。
因此,通过您的数据设置点击路径时,请发挥创意,并在我们的论坛上分享您发现的任何技巧。
下一节:交叉筛选:使用图表更新仪表板过滤器
只需几次点击,您就可以配置任何图表或表格来更新仪表板过滤器。