如何使用图表

Published: 2025-07-15

本教程展示了如何使用 DbGate 创建漂亮且信息丰富的图表。我假设您已经通过 DbGate 连接到数据库,并且能够运行 SQL 查询或使用查询设计器从 SQL 表中获取数据。

您还可以使用 DbGate 在线演示中的示例数据库,我将使用示例数据库 Chinook 中的 Invoice 表进行说明。

时间线图

基本图表之一是时间线图。这是一个在 X 轴上显示时间的折线图。

如果您运行以下查询:

SELECT InvoiceDate, Total from Invoice

DbGate 检测到 2 个图表:

提示:尝试仅选择您需要用于图表的列。自动检测会查找所有图表组合,其中一些没有意义。如果您运行简单查询,包含所有列,这些图表将被提供:

如您所见,DbGate 检测到更多图表,但您可能只会使用其中的 2 个。

图表自定义

点击检测到的图表之一后,您可以使用“自定义”按钮更改图表。这些是最重要的自定义选项:

  • 图表类型
    • 柱状图
    • 折线图
    • 时间线 - 这是折线图的特殊情况,X 轴上显示时间
    • 饼图
    • 极区图
  • X 轴字段
  • 分组字段。分组是一个强大的图表功能,我将在下面解释
  • Y 轴字段。您可以在 Y 轴上有多个字段,然后会显示更多图表
    • 每个数据集都有一个特殊字段“计数”,用于计数行
  • 聚合函数 - 求和、最小值、最大值、平均值、首值、末值

图表配置存储在查询中,在 SQL 文件的开头。因此,如果您再次执行相同的查询,将显示相同的图表。如果您对此感到舒适,您也可以直接以 YAML 格式编辑配置。

分组

如果您需要从一个数据集中显示更多图表,可以使用分组。我想按国家分组显示每年的总开票额

因此我们必须将 Country 列添加到结果集中:

SELECT InvoiceDate, Total, BillingCountry from Invoice where BillingCountry in ('USA', 'Canada', 'Brazil', 'France', 'Germany')

自动检测算法现在检测到 6 个图表,点击“按发票日期总计”图表,按国家分组,然后点击“自定义”。

您将看到类似这样的内容,看起来不是很实用:

但是当您将“图表类型”更改为“柱状图”并将“X 轴转换”更改为“日期(年)”时,图表现在看起来好多了。

如您所见,按日期分组可以在图表引擎中完成,不必在 SQL 中进行。然而,对于更大的结果,当然由 SQL 本地进行分组会更有效,因为这将在数据库服务器上直接完成。

组数限制为 32,在一个图表中拥有更多的线/柱没有意义。如果超过此限制,则不显示图表。

结论

我展示了 DbGate 图表功能的基本用法。您可以在 X tweet 上对此主题发表评论。 您可以在文档中找到有关图表的更多信息。