分享 开源 BI 工具 - Metabase 实战指南

ThxFly · 2026年03月02日 · 57 次阅读

Metabase 实战指南

Metabase 是一个开源的 BI 工具,特点是上手简单,界面友好,使用符合直觉。下面讲讲怎么用它搭建数据看板。

Metabase 界面示例


整体流程一览

  1. 连上数据库 —— 把 Metabase 跟你现有的数据源打通
  2. 建集合 —— 相当于文件夹,把东西归类放好
  3. 建模型(推荐)—— 把常用的表封装成模型,方便非技术人员理解和使用
  4. 做指标 —— 在集合里创建「问题」,也就是你要查询的数据
  5. 搭看板 —— 把指标组装成一个可交互的监控面板
  6. 置顶发布 —— 让重要的看板更容易被找到

第一步:连接数据库

首先得让 Metabase 认识你的数据。

  1. 点右上角 齿轮图标管理设置
  2. 左侧选 数据库添加数据库
  3. 填写连接信息:
    • 显示名称:起个好认的名字,比如「生产数据库」
    • 数据库类型:MySQL、PostgreSQL、ClickHouse、StarRocks 等
    • Host、Port、数据库名、用户名、密码:按实际情况填写
  4. 建议打开两个选项:
    • Sync schema:自动同步表结构
    • Cache field values:缓存字段值,筛选器加载会快很多
  5. 点保存,状态显示绿色即表示连接成功

第二步:创建集合

集合相当于文件夹,可以帮你把不同业务的数据分门别类。

  1. 点左上角 「+ 新建」「集合」
  2. 命名建议:
    • 一级目录按业务域划分,如「交易」「用户」「财务」
    • 二级目录按主题划分,如「交易/日常监控」「交易/活动复盘」
  3. 想建子目录?先进去该集合,再按同样方法创建即可
  4. 还可以设置权限——点右上角 「...」「编辑集合」 即可管理谁能看、谁能改

创建集合界面


第三步:创建模型(推荐)

这是 Metabase 区别于 Superset 的特色概念。模型 (Model) 是对一张或多张表的封装,比普通表更「聪明」:

  • 可以添加描述和元数据,让非技术人员也能看懂
  • 可以在模型层面设置缓存策略
  • 创建指标时,模型会出现在更显眼的位置
  • 可以简单理解为 SQL 里视图的概念

什么时候用模型?

  • 这张表会被频繁复用
  • 字段名过于技术化,需要给业务人员解释(如 stts_cd → 「订单状态」)
  • 想统一管理某类数据的刷新策略

怎么创建模型?

  1. 进入目标集合 → 「+ 新建」「模型」
  2. 选择数据源(一张表,或写一个 SQL 定义虚拟表)
  3. 添加元数据:
    • 显示名称:业务友好的名字
    • 描述:这张表是干什么用的
    • 字段标签:把技术字段名改成业务名(如 ord_stts 改成「订单状态」)
    • 字段类型:告诉 Metabase 哪个是日期、哪个是金额
    • 过滤/分组:标记哪些字段适合筛选、哪些适合分组
  4. 保存

把常用的表(如订单表、用户表)做成模型,后续业务人员用起来会顺手很多。如需修改,点右上角 「...」「编辑模型详情」 即可。

创建模型界面


第四步:创建指标(问题)

在 Metabase 里,你创建的查询都叫「问题」(Question),也就是我们说的「指标」。

先进到目标集合,点 「+ 新建」「问题」

方式 A:图形化拖拽

  1. 选一张表,或者直接选一个模型(如果有的话)
  2. 配置数据:点击 「+ 筛选」 添加条件,如「状态 = 已支付」;点击 「+ 汇总」 选择计算方式,如计数、求和、平均值;按需要的维度分组,如「创建时间 - 天」
  3. 配置可视化:右上角切换图表类型(折线图、柱状图、饼图、数字卡等)
  4. 「可视化」 预览效果,点 「保存」,记得选对集合,名字起清楚,如「每日支付订单量」

数据配置示例 图表类型示例

方式 B:写 SQL

  1. 「+ 新建」「SQL 查询」
  2. 选择数据库(第一步配置的那个)
  3. 写你的 SQL。如果需要动态参数,用 {{变量名}} 语法: sql SELECT COUNT(*) AS total_users FROM users WHERE {{created_at_filter}}
  4. 右侧边栏可以配置变量类型:文本、数值、日期、布尔值……如果是字段筛选器,还需映射到具体字段
  5. 写完点 「运行」(或 Cmd + Enter),点 「保存」,选好集合和名字
  6. 然后同方式 A 配置图表类型

SQL 查询界面

不管用哪种方式,保存好的「问题」就是可复用的指标了,后面直接拖到看板里就能用。


第五步:搭建仪表板(看板)

把指标组合在一起,配上过滤条件,就是一个可以看的监控大盘了。

创建看板

进入目标集合 → 「+ 新建」「仪表板」,起个名字,如「交易核心监控大盘」。

添加指标

  1. 点看板右上角的 进入编辑模式
  2. 勾选想放的指标

调整布局

  • 拖拽:按住卡片标题拖到想放的位置
  • 缩放:拖动右下角调整大小,支持跨列
  • 排版建议:关键数字放顶部,趋势图放中间,明细表放底部

看板编辑界面

配置过滤条件(重点!)

这是让看板活起来的关键。

  1. 编辑模式下,点顶部工具栏的 漏斗图标
  2. 添加一个全局过滤器:
    • 选择类型:如时间范围、下拉列表、搜索框
    • 命名:如「业务日期」「城市」
  3. 把过滤器跟卡片关联起来:
    • 点过滤器下方的箭头 → 「编辑关联」
    • 把全局的「时间」映射到卡片 A 的 created_at、卡片 B 的 paid_at
    • 注意:SQL 创建的卡片需要 SQL 中包含 {{变量名}} 才能生效
  4. 如果某张卡只需独立过滤,不跟全局联动,可在卡片的 「...」「编辑」 中单独设置

完成

点右下角 「完成编辑」 退出编辑模式。

过滤器配置示例


第六步:置顶与分享

辛辛苦苦做的看板,可别让它淹没在列表里。

置顶

  1. 在看板页面点右上角 「...」
  2. 选择 「置顶」
  3. 选择位置:
    • 集合顶部:仅在当前集合内置顶
    • 全局置顶:所有人登录后首页都能看到(需管理员权限)

验证

回到首页或集合页,确认看板出现在最上方的「已置顶」区域。

分享(可选)

「分享按钮」,可以生成公开链接、导出 PDF 或设置邮件订阅。


真实示例


常用快捷键

全局

操作 快捷键
创建问题 c > q
创建 SQL 查询 c > n
创建仪表板 c > d
创建集合 c > f
创建模型 c > m
创建指标 (Metric) c > k
浏览数据库 g > d
浏览模型 g > m
浏览指标 g > k
打开个人空间 g > p
打开回收站 g > t
切换侧边栏 [
进入管理后台 g > a
进入用户设置 g > u
返回首页 g > h

仪表板

操作 快捷键
进入编辑模式 e
添加过滤器 f
添加问题侧边栏 a
添加图形化问题 q
添加 SQL 问题 n
保存仪表板 s
切换仪表板信息 ]
收藏/书签看板 o
切换 Tab 1, 2, 3...
删除仪表板 Ctrl/Cmd + Backspace

问题/查询

操作 快捷键
切换到编辑器 e
打开筛选器下拉 f
打开汇总侧边栏 s
收藏/书签问题 o
打开问题详情 ]
刷新数据 r
切换可视化类型 v
切换可视化设置 y
切换图表类型菜单 t
运行查询 Cmd + Enter(Mac) / Ctrl + Enter(Windows)
保存 Cmd + S(Mac) / Ctrl + S(Windows)
删除问题 Ctrl/Cmd + Backspace

管理员

操作 快捷键
切换管理后台 Tab 1, 2, 3...

开源版 vs 商业版

根据 官方定价页面 的信息整理:

开源版(免费)

类别 功能 说明
数据查询 ✅ Query Builder(图形化查询) 可视化拖拽构建查询
✅ SQL Editor 支持原生 SQL
✅ Models(模型) 封装表结构,添加元数据
✅ 基础缓存 Query and model caching
❌ Metabot AI 需付费 ($100/月起)
可视化 ✅ 无限图表/看板 折线图、柱状图、饼图、数字卡等
✅ 看板过滤 支持全局过滤
✅ 交互式钻取 点击穿透查看详情
✅ X-Ray 自动报告 自动生成数据概览
⚠️ 邮件订阅 需配置 SMTP,带 Metabase 水印
⚠️ Slack 订阅 带 Metabase 水印
⚠️ PDF 导出 带 Metabase 水印
✅ 公开链接分享
权限管理 ✅ 集合权限 按集合分配查看/编辑权限
❌ 行级/列级权限 需 Pro 版
❌ 沙箱 (Sandbox) 需 Pro 版
认证 ✅ Google Auth
⚠️ LDAP 仅支持基础认证(登录)
❌ SAML / SSO 需 Pro 版
❌ JWT 需 Pro 版
❌ SCIM 自动账号同步 需 Pro 版
嵌入 ⚠️ Guest Embeds 仅基础嵌入,带 "Powered by Metabase" 水印
❌ White-label(去水印) 需 Pro 版
❌ 交互式嵌入 (Full-app) 需 Pro 版
组织 ✅ 集合/个人空间
❌ 官方集合 (Official Collections) 需 Pro 版
❌ 审核问题 (Moderated questions) 需 Pro 版
❌ 验证模型 (Verified models) 需 Pro 版
数据源 ✅ 20+ 数据库连接器 MySQL、PostgreSQL、ClickHouse 等
✅ CSV 上传
部署 ✅ 自托管 需自己维护服务器
❌ 多区域托管 需 Starter 版
❌ Serialization(配置导出/导入) 需 Pro 版
支持 社区论坛 discourse.metabase.com
许可证 AGPL 商用需注意开源协议

商业版 (Starter / Pro / Enterprise)

版本 价格 定位
Starter $100/月 + $6/月/人 全托管云版,含官方支持
Pro $575/月 + $12/月/人 细粒度权限、White-label、嵌入、Usage Analytics
Enterprise $20,000/年 起 大客户专属成功工程师、合规需求

小团队用开源版就够用了;想把看板嵌入到自家产品里,需要买商业版。


关于汉化的一个问题

Metabase 自带中文翻译,但有些翻译比较生硬,甚至让人误解。比如:

  • 某些功能名翻译不够准确
  • 某些词过于直译,看不懂

如果你们的 Metabase 启用了中文界面,创建用户时,名字写全名,姓留空。这样在仪表板、问题等处显示的就是完整名字,不会出现「小明 李」这类情况。

热心的小伙伴可以创建 PR 给到官方,帮忙优化翻译。

其他

我也用过 Superset,对比下来 Metabase 用起来更舒服,很多操作比较符合直觉,看起来是个更不错的 BI 工具。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号