Skip to main content

创建你的第一个仪表板(Dashboard)​

本节专注于为最终用户(数据分析师、业务分析师、数据科学家等)提供文档, 他们将使用 Superset 进行数据分析和探索工作流程。 除了这个站点,Preset.io在docs.preset.io 维护了一套最新的最终用户文档。

本教程针对希望在 Superset 中创建图表和仪表板的人。 我们将向你展示如何将 Superset 连接到一个新的数据库,并配置该数据库中的一个表以供分析。 你还将探索你已暴露的数据,并将可视化添加到仪表板中,以便了解从头到尾的用户体验。

连接到一个新的数据库​

Superset 本身没有存储层来存储你的数据,而是与你现有的 SQL 数据库或数据存储配对。

首先,我们需要将你的数据库的连接凭据添加进来,以便能够查询和可视化其中的数据。 如果你通过 Docker compose 本地使用 Superset, 你可以跳过这一步,因为已经为你预置了一个名为 examples 的 Postgres 数据库,并在 Superset 中预先配置好了。

在右上角的 + 菜单下,选择数据,然后选择 Connect Database 选项:



然后在出现的模态窗口中选择你的数据库类型:



一旦选择了数据库,你可以在该窗口中配置许多高级选项,或者为了本教程的目的,你可以点击所有这些字段下方的链接:



请注意,如果你尝试连接到另一个本地运行的数据库(无论是在主机还是另一个容器上), 并且收到 The port is closed. 的消息,则你需要调整 HOST 为 host.docker.internal

一旦点击了那个链接,你只需要指定两件事(数据库名称和 SQLAlchemy URI):



如表单下方的文本所述,你应该参考 SQLAlchemy 文档关于创建新的连接 URI的部分,针对你的目标数据库。

点击 Test Connection 按钮确认一切正常。如果连接看起来没问题,通过点击模态窗口右下角的 Connect 按钮保存配置:

恭喜你,你刚刚在 Superset 中添加了一个新的数据源!

注册新表​

既然你已经配置了数据源,现在可以选择特定的表(在 Superset 中称为 Datasets),将其暴露在 Superset 中以供查询。

导航至 Data ‣ Datasets,然后选择右上角的 + Dataset 按钮。

一个模态窗口应该出现在你面前。 使用出现的下拉菜单选择你的 Database、Schema 和 Table。 在下面的例子中,我们注册了来自 examples 数据库的 cleaned_sales_data 表。

完成设置后,点击右下角的 Add 按钮。你现在应该能在数据集列表中看到你的数据集(dataset)。

自定义列属性​

现在你已经注册了 dataset,可以配置列属性,以确定列在 Explore workflow 中应如何处理:

  • 列是否具有时间属性?(它是否应该用于时间序列图表中的切片和切块(slicing & dicing)?)
  • 列是否可过滤?
  • 列是否具有维度?
  • 如果它是 datetime 列,Superset 应该如何解析日期时间格式?(使用 ISO-8601 字符串模式)

Superset 语义层​

Superset 有一个轻量级的语义层,为分析师提供了许多生活质量改进。 Superset 的语义层可以存储两种类型的计算数据:

  1. 虚拟指标:你可以编写 SQL 查询,聚合多个列的值 (例如 SUM(recovered) / SUM(confirmed)), 并使其作为列(例如 recovery_rate)在 Explore 中可视化。允许并鼓励在指标中使用聚合函数。

你也可以在这个视图中认证指标,如果你愿意的话,为你的团队提供服务。

  1. 虚拟计算列:你可以编写 SQL 查询,自定义特定列的外观和行为 (例如 CAST(recovery_rate as float))。不允许在计算列中使用聚合函数。

在 Explore 视图中创建图表​

Superset 有两个主要的界面用于探索数据:

  • Explore:无代码可视化构建器。选择你的数据集(dataset),选择图表(chart),自定义外观,然后发布。
  • SQL Lab:用于清理、联接和准备数据以供 Explore workflow 使用的 SQL IDE

我们现在将专注于 Explore 视图来创建图表。 从 Datasets 选项卡开始 Explore workflow, 首先点击将为你的图表提供数据的 dataset 名称。



你现在面对的是一个强大的数据探索和图表迭代工作流。

  • 左侧的 Dataset 视图列出了列和指标,范围限定于你当前选择的数据集。
  • 图表区域下方的 Data 预览也提供了有用的数据上下文。
  • 使用 Data 标签和 Customize 标签,你可以更改可视化类型,选择时间列,选择分组的指标,并自定义图表的美学。

当你使用下拉菜单自定义图表时,确保点击 Run 按钮以获取视觉反馈。

在下面的截图中,我们仅通过点击下拉菜单中的选项就制作了一个按产品线分组的时间序列条形图,以可视化我们的季度销售数据。

创建切片和仪表板​

要保存你的图表,首先点击 Save 按钮。你可以:

  • 将图表保存并添加到现有仪表板
  • 将图表保存并添加到新仪表板

在下面的截图中,我们将图表保存到一个名为 "Superset Duper Sales Dashboard" 的新仪表板:

要发布,点击 Save and goto Dashboard。

在幕后,Superset 将创建一个切片,并在其轻量级数据层中存储创建图表所需的所有信息 (查询、图表类型、所选选项、名称等)。

要调整图表大小,首先点击右上角的编辑仪表板按钮。

然后,点击并拖动图表的右下角,直到图表布局在底层网格上定位到你喜欢的位置。

点击 Save 以保留更改。

恭喜你!你已经成功地在 Superset 中链接、分析和可视化了数据。 还有大量的其他表格配置和可视化选项,所以请开始探索并创建自己的切片和仪表板吧。

管理 Dashboard 访问权限​

仪表板的访问权限是通过所有者(具有仪表板编辑权限的用户)进行管理的。

非所有者的用户访问权限可以通过以下两种方式管理:

  1. Dataset 权限 - 如果你向相关角色的数据集权限添加权限,它会自动授予对所有使用这些许可数据集的仪表板的隐式访问权限。
  2. Dashboard 角色 - 如果你启用 DASHBOARD_RBAC 功能标志,那么你可以管理哪些角色可以访问仪表板
    • 授予角色仪表板访问权限将绕过数据集级别的检查。拥有仪表板访问权限隐式地授予了读取仪表板中所有特色图表的权限,从而也包括了所有相关的数据集。
    • 如果仪表板未指定任何角色,则应用常规的 Dataset permissions。

自定义仪表板​

以下 URL 参数可用于修改仪表板的渲染方式:

  • standalone:
    • 0(默认):仪表板正常显示
    • 1:隐藏顶部导航
    • 2:隐藏顶部导航+标题
    • 3:隐藏顶部导航+标题+顶级标签(tab)
  • show_filters:
    • 0:不带过滤栏渲染仪表板
    • 1(默认):如果启用了原生过滤器,则带过滤栏渲染仪表板
  • expand_filters:
    • (默认):如果有原生过滤器,则带展开的过滤栏渲染仪表板
    • 0:带折叠的过滤栏渲染仪表板
    • 1:带展开的过滤栏渲染仪表板

例如,在运行本地开发构建时,以下操作将禁用顶部导航并移除过滤栏: http://localhost:8088/superset/dashboard/my-dashboard/?standalone=1&show_filters=0