本文档整合了从数据源配置到图表类型选择的全套操作步骤,按实际工作顺序编排。所有操作均基于 Superset 界面实际位置编写,可直接对照执行。
第一部分:环境准备与数据接入
1.1 安装数据库驱动
Superset 通过 SQLAlchemy 连接数据库,需先安装对应的 Python 驱动包。
操作流程:
- 进入 Superset 服务所在容器或虚拟环境。
- 执行安装命令:
- PostgreSQL:
pip install psycopg2-binary - MySQL:
pip install mysqlclient - Snowflake:
pip install snowflake-sqlalchemy
- PostgreSQL:
- 若使用官方 Docker 部署,将包名写入
./docker/requirements-local.txt文件,重启容器后自动安装。 - 安装后重启 Superset Web 服务使驱动生效。
验证方法: 在 Superset 界面"数据" -> "连接数据库"下拉列表中,能看到目标数据库类型即表示驱动安装成功。
1.2 添加数据库连接
具体操作:
- 点击顶部导航栏"+"号,选择"数据" -> "连接数据库"。
- 在"数据库"下拉框中选择数据库类型(如 PostgreSQL、MySQL)。
- 在"SQLAlchemy URI"输入框中填写连接字符串,格式为:
postgresql://用户名:密码@主机地址:端口/数据库名
示例:postgresql://etl_user:Pass2026@10.0.1.5:5432/warehouse - 点击"测试连接"按钮,系统显示"连接看起来不错!"即表示成功。
- 点击"保存"完成配置。可勾选"公开"使该连接对其他用户可见。
1.3 注册数据集
数据集是 Superset 中图表的数据来源,对应数据库中的一张表或一个视图。
操作步骤:
- 导航至"数据" -> "数据集"。
- 点击右上角"+ 数据集"按钮。
- 依次选择已添加的"数据库"、"模式"(如 public),然后在"表"下拉框中选中目标表。
- 点击"添加"完成注册。此时数据集会出现在列表中,点击名称可进入探索界面。
说明: 若需进行多表关联分析,建议在数据库中预先创建包含关联字段的视图,然后将该视图注册为数据集。或使用 SQL Lab 编写查询后保存为虚拟数据集(详见第四部分)。
第二部分:图表类型选择指南
在 Superset 中,图表类型的选择决定了数据洞察的呈现方式。以下按分析目的分类说明各类图表的适用场景及配置要点。
2.1 比较类图表:展示数值大小对比
适用场景: 对比不同类别或时间点的数值高低,回答"谁最大/最小"、"哪个时期最高"等问题。
| 图表类型 | 适合的数据结构 | 典型用例 | 配置要点 |
|---|---|---|---|
| 柱状图(Bar Chart) | 1个维度 + 1个指标 | 各产品月度销售额对比 | 维度放分类字段,指标放数值字段 |
| 分组柱状图(Grouped Bar Chart) | 2个维度 + 1个指标 | 各产品在各地区的销售额 | 第一个维度为主分组,第二个为次分组 |
| 堆叠柱状图(Stacked Bar Chart) | 2个维度 + 1个指标 | 各产品在各地区的构成比例 | 图表类型选"堆叠柱状图",指标选"求和" |
| 折线图(Line Chart) | 1个时间维度 + 1个指标 | 网站每日访问量趋势 | 维度选日期字段,指标选计数或求和 |
2.2 趋势类图表:展示数据随时间变化
适用场景: 分析数据随时间上升、下降或周期性波动。
| 图表类型 | 适合的数据结构 | 典型用例 | 配置要点 |
|---|---|---|---|
| 折线图(Line Chart) | 1个时间维度 + 1个或多个指标 | 月度活跃用户数变化 | 时间字段作为维度,需设置时间粒度(日/周/月) |
| 面积图(Area Chart) | 1个时间维度 + 1个指标 | 累计收益增长趋势 | 与折线图相同,填充区域增强视觉对比 |
| 时间序列柱状图(Time-series Bar Chart) | 1个时间维度 + 1个指标 | 每日订单量分布 | 时间维度需勾选"时间"选项,设置合适粒度 |
2.3 占比类图表:展示部分与整体的关系
适用场景: 分析各组成部分所占比例。
| 图表类型 | 适合的数据结构 | 典型用例 | 配置要点 |
|---|---|---|---|
| 饼图(Pie Chart) | 1个维度 + 1个指标 | 各品类销售额占比 | 维度放分类,指标放数值。建议不超过6个分类 |
| 环图(Donut Chart) | 1个维度 + 1个指标 | 各渠道用户占比 | 与饼图相同,中心留白可显示总计 |
| 堆叠面积图(Stacked Area Chart) | 1个时间维度 + 多个指标 | 各产品线季度营收构成演变 | 指标添加多个字段,图表自动堆叠显示 |
2.4 分布类图表:展示数值的分布形态
适用场景: 了解数据的集中趋势、离散程度和异常值。
| 图表类型 | 适合的数据结构 | 典型用例 | 配置要点 |
|---|---|---|---|
| 直方图(Histogram) | 1个数值字段(无维度) | 用户年龄分布 | 指标选数值字段,系统自动分箱 |
| 箱线图(Box Plot) | 1个维度 + 1个数值字段 | 各部门薪资水平分布 | 维度选部门,指标选薪资字段 |
| 散点图(Scatter Plot) | 2个数值字段 | 广告费用与销售额关系 | X轴和Y轴各选一个数值指标 |
2.5 关系类图表:展示变量之间的关联
适用场景: 发现两个或多个变量之间的相关性、流向或依赖关系。
| 图表类型 | 适合的数据结构 | 典型用例 | 配置要点 |
|---|---|---|---|
| 散点图(Scatter Plot) | 2个数值指标 | 温度与用电量的关系 | X轴选一个指标,Y轴选另一个指标 |
| 气泡图(Bubble Chart) | 3个数值指标(第3个决定气泡大小) | 销售额、利润、市场份额 | X轴、Y轴、气泡大小分别映射三个指标 |
| 桑基图(Sankey Diagram) | 多级维度 + 1个指标 | 用户从浏览到购买的转化路径 | 维度按路径顺序添加(如来源→页面→行为) |
2.6 空间类图表:展示地理分布
适用场景: 将数据与地理位置关联。
| 图表类型 | 适合的数据结构 | 典型用例 | 配置要点 |
|---|---|---|---|
| 地图(Map Chart) | 维度含地理编码(国家/省份/经纬度)+ 指标 | 各省份销售额热力 | 维度选国家/省份名称,Superset内置地理编码映射 |
| 热力图(Heatmap) | 2个维度 + 1个指标 | 星期与小时的订单密集度 | 行维度和列维度各选一个分类字段,指标为计数 |
2.7 图表选择速查表
| 分析目的 | 优先考虑的图表类型 |
|---|---|
| 对比几个数值的大小 | 柱状图 |
| 展示时间序列变化 | 折线图 |
| 显示部分占整体的比例 | 饼图(分类≤6)或环形图 |
| 展示数据分布形态 | 直方图(单变量)或箱线图(分组对比) |
| 分析两个变量的相关性 | 散点图 |
| 展示地理分布 | 地图 |
| 展示流向或转化路径 | 桑基图 |
第三部分:图表创建实操步骤
3.1 使用"探索"视图创建图表(无代码方式)
适用于大多数单表分析场景。
操作流程:
- 在数据集列表中,点击需要分析的数据集名称,进入"探索"界面。
- 选择图表类型:点击"可视化类型"区域图标,从弹出面板中选择所需类型(参照第二部分速查表)。
- 配置维度(分组字段) :
- 在"维度"下拉框中,选择用于分组的字段(如
product_category)。 - 可添加多个维度实现多层分组。
- 在"维度"下拉框中,选择用于分组的字段(如
- 配置指标(聚合计算字段) :
- 在"指标"区域,点击"添加指标"。
- 选择聚合方式(COUNT、SUM、AVG 等)及对应的数值字段。
- 如需自定义计算,选择"自定义 SQL"选项,输入表达式如
SUM(sales_amount) / COUNT(DISTINCT order_id)。
- 配置筛选条件 (可选):在"筛选条件"区域添加字段过滤,如只查看
region = 'East'的数据。 - 配置时间范围:若数据含时间字段,可在"时间范围"处设定起止日期。
- 点击页面左上角的"运行"按钮,右侧区域即显示生成的图表。
- 点击"保存"按钮,在弹出的对话框中:
- 填写图表名称(如"各品类销售额柱状图")。
- 选择需保存到的仪表板(可新建或选择已有)。
- 点击"保存并转到仪表板"或"保存"完成操作。
3.2 使用 SQL Lab 生成图表(适用于复杂查询)
当需要多表 JOIN、子查询或复杂计算时使用。
操作流程:
- 顶部导航栏点击"SQL" -> "SQL Lab",进入查询编辑器。
- 在左侧选择数据库、模式,编辑器中编写 SQL 查询语句。
- 点击"运行"执行查询,结果区域显示数据。
- 点击结果区域上方的"创建图表"按钮,系统会基于本次查询结果生成一个临时数据集,并直接跳转到"探索"界面。
- 后续图表类型选择、维度指标配置与 3.1 节完全一致。
- 保存图表时,该临时数据集会被一并保存,后续可直接复用。
3.3 各类图表配置示例
示例1:柱状图(各品类销售额对比)
- 图表类型选"柱状图"。
- 维度选
category。 - 指标添加
SUM(sales_amount)。 - 运行后显示各品类柱状对比。
示例2:折线图(月度趋势)
- 图表类型选"折线图"。
- 维度选日期字段
order_date,勾选"时间"选项。 - 在"时间粒度"中选择"月"(Month)。
- 指标添加
SUM(order_amount)。 - 运行后生成按月趋势折线。
示例3:饼图(各渠道占比)
- 图表类型选"饼图"。
- 维度选
channel。 - 指标添加
COUNT(user_id)。 - 在"样式"设置中开启"显示百分比标签"。
- 运行并保存。
示例4:地图(各省份销售额)
- 图表类型选"地图"。
- 维度选省份字段(需与 Superset 地理编码表中的名称一致,如"广东")。
- 指标添加
SUM(sales)。 - 运行后省份区域自动着色,数值越高颜色越深。
示例5:桑基图(用户转化路径)
- 图表类型选"桑基图"。
- 在"维度"中按顺序添加多个字段,如
来源渠道、着陆页、最终行为。 - 指标添加
COUNT(user_id)。 - 运行后自动绘制流量流向图。
第四部分:仪表板组合与发布
4.1 创建与编辑仪表板
操作流程:
- 创建仪表板:顶部"+"号 -> "仪表板",输入名称后保存。
- 添加图表:进入仪表板,点击"编辑仪表板" -> "添加图表",从列表中选择已有图表,点击"添加"。
- 调整布局:在编辑模式下,拖拽图表边框可调整大小,拖拽标题区域可调整位置。
4.2 发布仪表板
仪表板默认状态为"草稿",仅创建者和管理员可见。
- 点击仪表板标题旁的"草稿"按钮,切换为"已发布"状态,所有有权限用户即可访问。
4.3 设置定时刷新
在仪表板编辑模式下,点击"设置" -> "刷新频率",可配置按秒、分钟或小时自动刷新。
4.4 常用 URL 参数控制显示
通过 URL 参数控制仪表板显示模式,适用于嵌入或全屏展示场景。
| 参数 | 作用 | 示例 |
|---|---|---|
standalone |
隐藏顶部导航和底部页脚 | ?standalone=true |
show_filters |
显示或隐藏筛选栏 | ?show_filters=false |
dashboard |
指定仪表板 ID | 用于直接访问 |
使用方式: 在仪表板访问 URL 末尾添加上述参数,多个参数用 & 连接。
第五部分:常见问题与处理
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 测试连接失败 | 驱动未安装或 URI 格式错误 | 检查驱动包,核对 URI 各字段(用户名、密码、主机、端口、数据库名) |
| 图表查询超时 | 数据量过大或数据库性能不足 | 在数据库端优化表结构或索引,或减少查询时间范围 |
| 图表数据显示不全 | 维度或指标配置不匹配 | 检查字段类型,确保维度为字符串/日期,指标为数值 |
| 仪表板加载慢 | 包含大量并发查询 | 启用仪表板缓存,或设置较长的刷新间隔 |
| 多表关联需求 | 探索视图仅支持单表 | 在数据库中创建视图,或将 SQL Lab 查询结果保存为数据集 |
| 饼图分类过多 | 超过6个分类导致视觉混乱 | 改用柱状图,或对"其他"类别进行聚合 |
| 地图无法显示 | 地理名称与内置编码不匹配 | 确保省份/国家名称与 Superset 地理编码表完全一致(如"广东"而非"广东省") |
| 自定义计算指标 | 需要比率或复杂表达式 | 在指标中选择"自定义 SQL",输入表达式如 SUM(A)/SUM(B) |
第六部分:图表选择与优化建议
- 多类型验证:同一份数据在不同图表类型下呈现的洞察可能截然不同,建议对关键指标尝试 2-3 种图表类型后再确定最终展示方式。
- 粒度控制:时间序列图表务必设置合适的时间粒度(日/周/月/季),粒度过细会产生噪音,过粗会掩盖细节。
- 样式微调:在"探索"界面的"样式"选项卡中,可以调整轴标签角度、数值格式、图例位置等细节,提升图表的可读性。
- 颜色规范:建议在仪表板中统一配色方案,同一类指标使用相同色系,便于快速识别。
本手册覆盖了 Superset 从数据接入、图表类型选择、创建图表到仪表板发布的全流程。所有步骤均按界面实际位置和操作顺序编写,可对照执行。对于更高级的自定义图表开发或权限管理,可查阅 Superset 官方技术文档。