创建交互式图表

通过使用查询构建器、构建模型或添加自定义目标来构建人们可以探索的图表。

您可以创建人们可以在 Metabase 中钻取的图表。 像这样

Zooming in on a particular category and timeframe, then viewing the orders that make up one of the bars on the chart.

如果您只用 SQL 编写过问题,您可能错过了 Metabase 可以使您的图表可探索的事实。 或者,也许您已经在仪表盘上点击过,并注意到某些图表比其他图表有更多的钻取选项。 我们将介绍您可以钻取这些图表的不同方式,以及如何在图表上设置钻取(有时称为向下钻取)。

什么是钻取以及它是如何工作的?

让我们浏览一下钻取功能。 这是我们将用于探索的问题

The question, composed in the query builder, use in the following drill-through examples.

可视化已设置为堆积条形图

Setting the visualization to a stacked bar chart.

单击图表上的任意位置以打开操作菜单操作菜单显示了在探索数据时可以选择的几个不同的钻取选项。

Clicking on a value of a chart will bring up the action menu, presenting options to zoom in, view records, breakout, and X-ray.

我们将逐步介绍您在上面看到的弹出菜单中的每个选项

放大

有两种方法可以放大订单,选择缩放自动缩放

选择缩放

您可以单击并拖动以选择图表的区域进行放大。

You can click and drag to select an area of a chart, and Metabase will zoom in on the values in that selected area.

自动缩放

您可以单击鼠标左键以调出钻取菜单>按周查看本月,Metabase 将创建您选择的值周围数据的特写。

Left-click on a chart to bring up the Drill-through menu and select Zoom in. Metabase will automatically create a close-up of the data surrounding the value.

查看此日期选项将根据图表中值的完整范围选择适当的值范围。

查看这些记录

您可以单击图表上的值并选择 查看这些订单 以显示包含构成该值的各个记录的表格。

Clicking on a value and selecting View these orders will bring up a table of records that compose the value.

细分

按类别细分使我们能够执行诸如查看 2017 年 6 月的香蕉奶油派订单,按客户状态(例如,新客户或 VIP 等)或订单的其他不同方面进行细分。 不同的图表将具有不同的细分选项,例如位置和时间。

Clicking on a value will present options to breakout the data. Different options will appear based on the data in the chart. The GIF shows a breakout by Category: Product Vendor.

X 射线

X 射线是自动生成的数据探索。 您可以单击图表上的任意位置来执行 X 射线,Metabase 将生成一个仪表盘,其中包含有关数据的不同问题。 您可以选择将该 X 射线另存为仪表盘,然后您可以根据自己的喜好对其进行编辑,方法是删除不相关的问题,或添加新问题或文本框以填充您想要讲述的故事。

X-rays will create (a lot) of different charts based on data in your table(s).

单击点或条还会为您提供比较数据的选项,这将为您提供另一个带有自动生成图表的仪表盘。

如果 X 射线对您的数据没有意义,您可以禁用 X 射线。 了解有关文档中的 X 射线的更多信息。

如何创建可以钻取的图表

使用查询构建器构建图表

当您使用查询构建器创建问题时,您会在图表上自动获得操作菜单。 就是这样。 这就是您需要做的全部。

将 SQL 问题转换为模型

如果您使用 SQL 编写问题,您将无法获得开箱即用的完整钻取功能。 例如,您将无法向下钻取到未聚合的记录,或者放大时间段,其粒度小于您的原始问题。 人们将无法获得比您的 SQL 查询提供的更精细的信息。

但是通过仔细的查询计划,您可以通过构建具有适合您问题的最高详细程度的 SQL 查询,然后在它们之上构建模型,从而使人们能够在图表上向下钻取。 例如,如果您希望人们能够向下钻取到未聚合的记录,请从不聚合记录的查询开始。 或者,如果您希望人们能够更改日期时间粒度,请将您的日期截断为有意义的最小粒度(例如,分钟),并使用查询构建器完成其余操作。

所以流程是

  1. 在 SQL 中编写一个问题,该问题汇集了您需要的起始数据,就像您正在创建视图供人们查询一样。 因此,不要预先过滤或预先汇总数据(除了过滤掉您希望从“视图”中排除的行和列之外)。
  2. 保存该问题并将其转换为模型
  3. 编辑模型的元数据以指定每列的类型。 如果 Metabase 知道每列包含哪种类型的数据,它就可以发挥其钻取魔法。

从那里,您可以让人们将模型用作人们使用查询构建器提问的起点,或者您可以根据该模型创建查询构建器问题供人们玩。

基于 SQL 的问题的另一个选择是……

将问题添加到仪表盘并设置自定义目标

自定义目标与向人们提供钻取菜单不同。 也就是说,如果您添加自定义目标,人们将无法对问题的数据进行切片和切块。

但是自定义目标确实让您可以更好地控制人们单击图表时会发生什么,并且在某些方面,自定义目标比钻取菜单更强大(尽管我们不一致的 capitalization 可能暗示)。 您可以将人员发送到另一个问题、仪表盘或外部 URL,甚至可以根据图表中的值对这些目标进行参数化。

自定义目标适用于 SQL 和查询构建器问题,因为自定义目标会覆盖默认的单击行为。 您还可以在仪表盘上设置交叉筛选,以便人们可以单击图表以更新过滤器。

下一步:自定义表达式

何时应该使用自定义表达式以及为什么应该在 Metabase 的笔记本编辑器中利用它们。

下一篇文章