创建你的第一个仪表盘
本节主要面向使用 Superset 进行数据分析和探索工作流程的终端用户(数据分析师、业务分析师、数据科学家等)。除了本网站外,Preset.io 还在 docs.preset.io 上维护了一套最新的终端用户文档。
本教程面向那些希望在 Superset 中创建图表和仪表盘的用户。我们将向你展示如何将 Superset 连接到一个新的数据库,并配置该数据库中的表以进行分析。你还将探索你已公开的数据,并将一个可视化图表添加到仪表盘,以便你体验端到端的用户体验。
连接到新数据库
Superset 本身没有存储层来存储你的数据,而是与 现有的支持 SQL 的数据库或数据存储配对。
首先,我们需要将数据库的连接凭证添加到 Superset 中,以便能够查询和可视化其中的数据。如果你通过 Docker compose 在本地使用 Superset,你可以跳过此步骤,因为 Superset 中已经包含并预配置了一个名为 examples 的 Postgres 数据库。
在右上角的 + 菜单中,选择 Data,然后选择 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 按钮完成操作。你现在应该会在数据集列表中看到你的数据集。
自定义列属性
现在你已经注册了你的数据集,你可以配置列属性,以确定在探索工作流程中应如何处理该列:
- 该列是否是时间性的?(是否应用于时间序列图表中的切片和切块?)
- 该列是否可过滤?
- 该列是否是维度的?
- 如果它是一个日期时间列,Superset 应如何解析日期时间格式?(使用 ISO-8601 字符串模式)
Superset 语义层
Superset 有一个薄语义层,为分析师添加了许多生活质量的改进。Superset 语义层可以存储两种类型的计算数据:
- 虚拟指标:你可以编写 SQL 查询,从多个列中聚合值(例如
SUM(recovered) / SUM(confirmed)
),并使其作为列(例如recovery_rate
)在探索中用于可视化。聚合函数允许并鼓励用于指标。
如果你愿意,你也可以在此视图中为你的团队认证指标。
- 虚拟计算列:你可以编写 SQL 查询,
自定义特定列(例如
CAST(recovery_rate as float)
)的外观和行为。 计算列中不允许使用聚合函数。
在 Explore 视图中创建图表
Superset 有两个主要的数据探索界面:
- Explore:无代码的可视化构建器。选择您的数据集,选择图表类型,自定义外观,并发布。
- SQL Lab:用于清理、连接和准备数据以供 Explore 工作流的 SQL IDE。
我们现在将专注于 Explore 视图来创建图表。要从 Datasets 标签启动 Explore 工作流,首先点击将驱动您图表的数据集名称。
您现在可以看到一个强大的数据探索和图表 迭代工作流。
- 左侧的 Dataset 视图列出了当前选定数据集的列和指标。
- 图表区域下方的 Data 预览也为您提供了有用的数据上下文。
- 使用 Data 标签和 Customize 标签,您可以更改可视化类型,选择时间列,选择分组依据的指标,并自定义图表的外观。
当您使用下拉菜单自定义图表时,请确保点击 Run 按钮以获取视觉反馈。
在下面的截图中,我们通过点击下拉菜单中的选项,制作了一个分组的时间序列条形图,以可视化我们的季度销售数据按产品线划分。
创建切片和仪表板
要保存您的图表,首先点击 Save 按钮。您可以选择:
- 保存图表并将其添加到现有仪表板
- 保存图表并将其添加到新仪表板
在下面的截图中,我们将图表保存到新的“Superset Duper Sales Dashboard”:
要发布,请点击 Save and goto Dashboard。
在幕后,Superset 将创建一个切片,并存储创建图表所需的所有信息(查询、图表类型、选定的选项、名称等)在其薄数据层中。
要调整图表大小,首先点击右上角的 Edit Dashboard 按钮。
然后,点击并拖动图表右 下角,直到图表布局在底层网格上调整到您喜欢的位置。
点击 Save 以保存更改。
恭喜!您已成功在 Superset 中链接、分析和可视化数据。还有许多其他表格配置和可视化选项,请开始探索并创建您自己的切片和仪表板。
管理对仪表板的访问
仪表板的访问权限通过所有者(对仪表板具有编辑权限的用户)进行管理。
非所有者用户的访问权限可以通过两种方式进行管理:
- 数据集权限 - 如果您为相关角色添加数据集权限,它将自动授予对使用这些允许数据集的所有仪表板的隐式访问权限。
- 仪表板角色 - 如果您启用 DASHBOARD_RBAC 功能标志,则可以管理哪些角色可以访问仪表板。
- 授予角色访问仪表板的权限将绕过数据集级别的检查。拥有仪表板访问权限将隐式授予对仪表板中所有特色图表的读取访问权限,从而也授予对所有相关数据集的访问权限。
- 如果未为仪表板指定角色,将应用常规的 数据集权限。
自定义仪表板
可以使用以下 URL 参数修改仪表板的渲染方式:
standalone
:0
(默认):仪表板正常显示1
:隐藏顶部导航2
:隐藏顶部导航和标题3
:隐藏顶部导航、标题和顶级标签
show_filters
:0
:渲染不带过滤栏的仪表板1
(默认):如果启用了原生过滤器,则渲染带过滤栏的仪表板
expand_filters
:- (默认):如果存在原生过滤器,则渲染展开的过滤栏
0
:渲染折叠的过滤栏1
:渲染展开的过滤栏
例如,在运行本地开发构建时,以下内容将禁用顶部导航并移除过滤栏:
http://localhost:8088/superset/dashboard/my-dashboard/?standalone=1&show_filters=0