提问

在 Metabase 的查询构建器中筛选、分组和可视化您的数据

简介

查询构建器是我们称之为 Metabase 图形化查询界面的工具,它允许您在无需了解 SQL 的情况下询问有关数据的问题(虽然您始终可以将 GUI 问题转换为 SQL)。Metabase 中的“问题”是我们称之为查询及其可视化的内容。

您可以使用基本构建块组装您的问题

  • 过滤器
  • 摘要
  • 自定义列(例如,添加一个新列,如 Total,用于汇总 Subtotal + Tax
  • 连接
  • 排序

您可以按不同的顺序组合查询构建器块,并且可以拥有多个相同类型的块 - 例如,过滤、汇总,然后过滤汇总的结果,将它们与不同的表连接,并添加另一个摘要。查询的下一步将使用上一步的结果。

在问题的每个阶段,您都可以将结果预览为表格或创建可视化效果,并且您可以随时在查询构建器、图表形式的查询结果和表格形式的结果之间切换。

创建和可视化基本问题

在本教程中,我们将仅介绍基本的查询操作 - 筛选、摘要和排序。我们将使用每个 Metabase 实例附带的示例数据库中的 Invoices 表。

1. 选择数据源

使用示例数据库中的 Invoices 表作为数据源,启动一个新的查询构建器问题

  • 点击“+ 新建”按钮
  • 选择“问题”
  • 在数据选择器中,切换到“表”选项卡,选择示例数据库,然后单击 Invoices 表。

选择 Invoices 表后,Metabase 将带您进入查询构建器,其中包含“数据”、“过滤器”和“摘要”步骤。“数据”步骤将包含指向 Invoices 表的链接。

2. 预览数据

通过单击“数据”部分右侧的“播放”按钮来预览表格。

您可以在查询构建器中的每个阶段预览结果。

在我们的例子中,Invoices 表格如下所示

Invoices preview

3. 筛选结果

表格中的大多数发票的金额似乎为 295,但并非全部。让我们看看异常值:筛选数据以仅显示 Payment 大于 295 的发票。

  1. 在紫色的“过滤器”块中,单击“添加过滤器”按钮;

    如果您还没有“过滤器”块,请单击“数据”块下方的紫色“过滤器”图标以添加一个。

  2. 选择 Payment 列;
  3. 将过滤器类型更改为“大于”,然后输入 295;
  4. 通过单击过滤器块右侧的“播放”按钮来预览结果。

Filter

4. 汇总筛选后的结果

为了查看这些大额发票中是否有任何模式,让我们看看按计划划分的平均发票金额的分布情况。

  1. 在绿色的“摘要”块中,添加 Payment 的“平均值”指标,按 Plan 列分组;

    Metabase 可能已经为您添加了一个空白的“摘要”块,但如果没有,您可以单击“过滤器”块下方的绿色“Σ”图标来添加它。

  2. 通过单击摘要块右侧的“播放”按钮来预览结果。

Summarize

5. 可视化

是时候构建您的第一个图表了!

  • 要以图表形式查看结果,请单击查询构建器底部的“可视化”按钮。

就这样!Metabase 将自动为您创建一个条形图

First chart

6. 对结果排序

如果结果从最大的条形图到最小的条形图排序,则条形图将更易于阅读。要重新排序条形图,我们可以对查询结果进行排序。

  1. 通过单击右上角的“显示编辑器”按钮返回到查询构建器;
  2. 添加一个“排序”块,并按 Payment 的平均值排序;
  3. 单击 ↑ 图标将排序顺序从升序更改为降序;
  4. 可视化。

条形图应按高度重新排序

Sorted chart

7. 保存

要稍后重新访问您的图表或与他人共享,请单击右上角的“保存”按钮。

Metabase 将询问您要将问题保存在哪个集合中。集合在 Metabase 中就像文件夹 - 您可以使用它们来组织您的工作。

更改可视化类型

Metabase 会“神奇地”决定使用哪种可视化类型,这取决于您的查询结果 - 例如,如果您的结果是时间序列,Metabase 将创建一个带有日期轴的折线图。对于像我们这样按分类列进行汇总的图表,Metabase 通常会选择条形图。

让我们将条形图更改为饼图

  1. 如果您在查询构建器中,请单击“可视化”按钮进入可视化视图;
  2. 单击左下角的“可视化”按钮打开可视化选项;
  3. 选择饼图。

Pie chart

💡 提示:Metabase 有大量的图表选项,但并非每个图表都适用于每个数据集(您不会将时间序列放在地图上)。在可视化侧边栏的顶部,Metabase 会向您显示适用于您的数据形状的可视化类型。但是在“其他图表”块中看到的图表可能无法正常工作。

在每个步骤中优化结果

现在您有一个基本的三步查询:过滤器、摘要和排序。

假设我们想查看按计划划分的发票金额中是否有任何季节性模式,并且我们还想将调查范围限制为仅限预期发票。

尝试以下操作

  • 在“过滤器”步骤中,为 Expected Invoice 添加另一个过滤器,使其为 True
  • 在“摘要”步骤中,添加另一列以按其分组:Date Received;
  • 在“排序”步骤中,添加按“Date Received”的辅助排序,升序;
  • 可视化。

它看起来会像这样

Time series

一旦我们按日期变量分组,Metabase 切换到带有日期轴的折线图,并为每个 Plan 创建单独的时间序列。

添加更多步骤

您可以继续向查询添加更多步骤 - 更多过滤器、更多摘要,甚至连接一个新表。

例如,我们在折线图上看到,有时平均付款额会出现巨大峰值。让我们计算每个计划的这些峰值。

  • 通过单击右上角的“显示编辑器”按钮返回到查询构建器。
  • 在“摘要”块之后添加另一个“过滤器”块,并筛选 Payment 的平均值超过 2000 的数据。
  • 在第二个“过滤器”块之后添加另一个“摘要”块,并按 Plan 对行进行计数。
  • 可视化。
  • 通过单击屏幕底部中心的表格按钮,从图表视图切换到原始表格视图。

Table

仅通过在查询构建器中组合过滤器和摘要,我们就创建了一个重要的查询:我们按计划计算了大型预期发票的平均每月付款额大于 2000 的月份数。

下一步:创建仪表盘

了解如何创建仪表盘并将问题和卡片添加到其中。

下一篇文章