首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >报表别再靠Excel截图传来传去:用Metabase做一个实时数据看板

报表别再靠Excel截图传来传去:用Metabase做一个实时数据看板

作者头像
fruge365
发布2026-07-10 13:54:22
发布2026-07-10 13:54:22
40
举报

前言

很多团队一开始做数据分析,都会先用Excel。数据量不大时还算方便,公式、筛选、透视表都能解决一部分问题。但随着表越来越多、字段越来越杂、统计口径越来越细,Excel很快就会变成一个难维护的报表堆。

更麻烦的是分享。今天导出一份表格,明天数据就可能变了;群里发一张截图,别人只能看结果,不能继续筛选和追溯;老板想看趋势,同事想看明细,客户想看汇总,最后往往变成反复改表、反复截图、反复发送。

Metabase适合解决这类轻量BI需求。它可以直接连接MySQL等数据库,通过可视化界面生成柱状图、饼图、表格和仪表盘,不会SQL的人也能通过筛选、汇总和可视化配置完成基础分析;会SQL的人则可以写查询做更复杂的数据统计。

把Metabase用Docker部署在本地电脑或小服务器上,入门成本比较低。一条命令把服务跑起来,再连接已有数据库,就能开始整理数据视图。对于个人项目、小团队、内部报表和临时数据看板来说,这种方式比直接上复杂BI系统更轻。

本文将从Windows环境下Docker部署Metabase开始,演示初始化配置、连接MySQL数据库、查看数据表、筛选字段、生成柱状图和饼图、编写SQL查询,以及创建仪表盘和分享链接。最后再通过 cpolar 配置HTTPS公网访问和固定二级子域名,让本地数据看板不只在局域网能看,也能分享给远程团队成员或合作方查看。

1 什么是Metabase?

Metabase 是一款开源、零门槛的数据可视化 BI(Business Intelligence)平台。它的目标非常简单:让每个人都能轻松理解数据,而不需要成为数据分析师或会写 SQL 的程序员

你只需要连接你的数据库,Metabase 就能帮助你:

  • 自动识别数据结构,无需繁琐配置
  • 几分钟做出图表:柱状图、折线图、饼图、地图、数据透视等常见图表全支持
  • 可视化界面操作:拖拽选择字段即可生成分析
  • 支持 SQL 编辑器:进阶用户可以写查询、定时发送结果
  • 创建仪表盘和大屏:方便团队共享数据视图
  • 权限管理与团队协作:对不同用户设置不同访问权限

作为一款开源项目,它不仅免费,还拥有完整的社区生态,文档、插件、部署方式都非常成熟。无论你是小团队、创业项目,还是个人开发者,都可以用它快速搭建自己的数据看板系统。

2 使用Docker一键部署Metabase

本教程将在Windows上操作演示。使用Docker方式一键部署Metabase,如果还没有安装Docker的小伙伴,可以先访问上面链接进行安装一下。

安装好后,电脑按Win + R键,输入cmd回车,使用如下命令进行一键部署:

代码语言:javascript
复制
docker run -d -p 3000:3000 --name metabase -v metabase-data:/metabase-data metabase/metabase

执行如下图所示:

image-20251127111420816
image-20251127111420816

最后一行出现随机字符串就代表完成啦,且会自动启动,可以进一步使用如下命令查看状态:

代码语言:javascript
复制
docker ps

如下图:

image-20251127111534065
image-20251127111534065

可以看到,状态为UP,就是代表运行中的,运行在3000端口上,我们浏览器访问测试一下:

代码语言:javascript
复制
http://localhost:3000
image-20251127111638461
image-20251127111638461

访问成功啦!

3 简单演示使用Metabase

3.1 Metabase初始化配置

首先,点击首页上的Let's get started进入下一步:

image-20251127111751061
image-20251127111751061

进入下一步后,我们可以点击右上角,先把语言切换为中文:

image-20251127111835752
image-20251127111835752

然后填写信息,填写完成信息后,继续下一步做一个简单的回答,接着来到配置数据源页面:

image-20251127112032216
image-20251127112032216

可以看到在这个页面有多种数据库,这里以MySQL数据库作为演示,您也可以自行选择其他相关数据库进行添加:

image-20251127112243051
image-20251127112243051

我这里准备了一个学生信息表数据库(student_info),里面分别有3张表,学生表(students),成绩表(scores),课程表(courses):

image-20251127112444084
image-20251127112444084

我当前的数据库账号密码都是root,所以jdbc连接语句为如下:

代码语言:javascript
复制
jdbc:mysql://root:root@192.168.50.149:3306/student_info?ssl=flase

代表的含义如下:

  • root:root - 数据库用户名和密码(格式:用户名:密码
  • 192.168.50.149:3306 - 数据库服务器地址和端口
  • student_info - 要连接的数据库名称
  • ssl=false - 禁用 SSL 加密连接(本地测试环境可以关闭)

💡 提示:如果你的 MySQL 数据库在本地运行,地址可以使用 localhost127.0.0.1。如果 Metabase 运行在 Docker 容器中,请使用宿主机的实际 IP 地址或 host.docker.internal(Windows/Mac Docker Desktop)。

接着,将该语句填写到Connection string中,会自动填写其他项:

image-20251127112937991
image-20251127112937991

点击关闭使用安全连接,然后点击连接数据库,可以看到左下角提示成功连接到数据库了:

image-20251127113032285
image-20251127113032285

接着做一些基础回答就可以进入首页啦:

image-20251127113109677
image-20251127113109677
3.2 Metabase可视化默认图表展示

首先,点击侧边栏的数据库菜单,然后接着点击刚才添加的数据库:

image-20251127113320285
image-20251127113320285

进入后,选择一张表,这里以学生表(student)为例:

image-20251127113411480
image-20251127113411480

点击进入后,可以看到基础的数据表格就出来啦:

image-20251127113438191
image-20251127113438191

页面上可以做很多的操作,如过滤、汇总、编辑器、可视化等,还可以编写SQL查询语句,比如这里想要筛选条件为不等于在读的学生,也就是已经毕业的:

image-20251127113952924
image-20251127113952924

可以看到就只剩下一条数据了,因为只有该学生为毕业状态,响应很快:

image-20251127114026560
image-20251127114026560
3.3 可视化图表
3.3.1 柱状图

这里以性别字段为例,做一个柱状图。首先,点击右上角的汇总按钮,然后选择Gender字段,点击完成:

image-20251127173128290
image-20251127173128290

可以看到直接就出来性别柱状图分布了,我们还可以点击可视化旁边的设置按钮,在显示里面开启显示数据点上的值

image-20251127173303880
image-20251127173303880

如果想要保存,可以点击右上角的保存按钮:

image-20251127173402497
image-20251127173402497
3.3.2 饼状图

如果想要查看饼状图,可以直接点击可视化,然后选择饼状图即可,就会直接显示饼状图的数据:

image-20251127173524739
image-20251127173524739

其他的图表也是如此操作即可。

3.4 编写SQL语句进行查询

Metabase也支持通过编写SQL语句来进行查询,回到首页,首先点击右上角的创建按钮,然后选择SQL查询即可:

image-20251127174604450
image-20251127174604450

进入到新的页面后,即可直接输入SQL语句进行查询:

image-20251127174635428
image-20251127174635428

这里举例以**查询学生成绩排名(含选课数量、平均成绩、等级评定)**为例,进行多表联合查询:

代码语言:javascript
复制
SELECT 
    s.student_no AS 学号, 
    s.name AS 姓名, 
    s.major AS 专业,
    COUNT(sc.course_id) AS 选课数量,
    ROUND(AVG(sc.score), 2) AS 平均成绩,
    CASE 
        WHEN AVG(sc.score) >= 90 THEN '优秀'
        WHEN AVG(sc.score) >= 80 THEN '良好'
        WHEN AVG(sc.score) >= 60 THEN '及格'
        ELSE '不及格'
    END AS 等级
FROM students s
LEFT JOIN scores sc ON s.id = sc.student_id
WHERE s.status = '在读'
GROUP BY s.id, s.student_no, s.name, s.major
ORDER BY 平均成绩 DESC;

输入后,按Ctrl +回车按钮,即可执行查询,如下图所示:

image-20251127174923515
image-20251127174923515

还可以点击下方的可视化按钮,配置图表,将其显示成图表的方式,更易查看:

image-20251127175132371
image-20251127175132371

4 仪表盘与分享

前面我们已经学会了如何连接数据库、生成可视化图表,以及编写 SQL 查询来分析数据。但在实际工作中,我们往往需要将多个关键指标集中展示,方便团队快速决策,同时还要能够将这些数据洞察分享给其他成员。这就是 Metabase 的「仪表盘」和「分享」功能的价值所在——它让数据不仅仅停留在个人分析层面,而是能够真正流动起来,成为团队协作的利器。

4.1 仪表盘

点击右上角创建,再点击仪表盘按钮,创建一个仪表盘:

image-20251127175443685
image-20251127175443685

填写名字等信息,点击创建:

image-20251127175516836
image-20251127175516836

进入到新的页面后,点击添加图表:

image-20251127175538845
image-20251127175538845

可以在右边看到前面保存的图表,点击就可以添加进来了:

image-20251127175621090
image-20251127175621090

点击右上角的保存按钮进行保存后,仪表盘就成功做好了。

4.2 分享

所有图表,仪表盘都可以进行分享,分享给您的朋友查看,点击页面上的分享图标:

image-20251127175803509
image-20251127175803509

然后可以选择一个分享方式,这里以链接做演示:

image-20251127175830596
image-20251127175830596

点击后,可以看到生成一个链接:

image-20251127175903846
image-20251127175903846

但是这个链接显示为localhost地址,我们可以通过局域网访问自己的这个服务,在cmd中输入ipconfig命令查看自己电脑的IP地址:

image-20251127180015317
image-20251127180015317

知道局域网地址后,我们直接把localhost地址修改为你的局域网地址就行啦:

image-20251127180345036
image-20251127180345036

可以看到成功访问!

5 穿透Metabase以支持公网访问

虽然局域网分享已经能让同一网络下的同事查看数据了,但问题来了:如果团队成员在外地出差、居家办公,或者你想把数据报告分享给客户、合作伙伴,他们根本访问不了你的 localhost 或局域网地址。更尴尬的是,传统的解决方案要么需要购买云服务器、配置公网 IP 和域名,要么就只能截图、导出 PDF 发过去——前者成本高、配置复杂,后者又回到了「静态数据、无法实时更新」的老路子。

这时候就需要内网穿透工具出马了。通过 cpolar,我们可以不用服务器、不用公网 IP,就能把本地运行的 Metabase 映射到公网上,生成一个任何人都能访问的 HTTPS 链接。无论对方在哪里,只要有网络,就能实时查看你的数据仪表盘——这才是真正意义上的「随时随地,数据触手可及」。

5.1 什么是cpolar?
image-20250910114418412
image-20250910114418412
  • cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
  • 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。
5.2 下载cpolar

打开cpolar官网的下载页面,点击立即下载 64-bit按钮,下载cpoalr的安装包:

image-20251127181954268
image-20251127181954268

下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:

代码语言:javascript
复制
cpolar version
image-20250815171446129
image-20250815171446129

出现如上版本即代表安装成功!

5.3 注册及登录cpolar web ui管理界面

注册完成后,在浏览器中输入如下地址访问 web ui管理界面 :

代码语言:javascript
复制
http://localhost:9200
image-20251127182014230
image-20251127182014230

如果还没有账号,点击下方免费注册即可注册账号。输入刚才注册好的cpolar账号登录即可进入后台页面:

image-20251127182048248
image-20251127182048248
5.4 穿透Metabase项目的WebUI界面
5.4.1 随机域名方式(免费方案)

随机域名方式适合预算有限的用户。使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲5.4.2固定域名方式,且访问更稳定

点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:

  • remoteDesktop隧道,指向3389端口,tcp协议
  • website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)
image-20251127182222230
image-20251127182222230

点击编辑website的隧道,修改成我们Metabase需要的信息:

image-20251127182448862
image-20251127182448862

接着来到在线隧道列表,可以看到名称为metabase-3000隧道的两条记录信息,一条协议为http,另一条协议为https:

image-20251127182531071
image-20251127182531071

以https为例,访问测试(加载稍慢,需耐心等待一下):

image-20251127182623696
image-20251127182623696

可以看到,成功的访问到了Metabase的web登录页面了。

5.4.2 固定域名方式(升级任意套餐皆可)

通过前面的配置,我们已经成功实现了Metabase的远程访问,但免费随机域名方案的局限性也逐渐显现:每24小时左右自动更换域名地址,意味着你需要频繁更新书签、重新分享链接,甚至可能因为忘记更新而无法访问。固定域名方案正是为了解决这些痛点而生,让你拥有一个永久不变的专属地址

首先,进入官网的预留页面:

代码语言:javascript
复制
https://dashboard.cpolar.com/reserved

选择预留菜单,即可看到保留二级子域名项,填写其中的地区名称描述(可不填)项,然后点击保留按钮,操作步骤图如下:

image-20251127183137124
image-20251127183137124

列表中显示了一条已保留的二级子域名记录:

  • 地区:显示为China Top
  • 二级域名:显示为Metabase

注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主

接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为metabase-3000的隧道,点击编辑按钮进入编辑页面:

image-20251127183915600
image-20251127183915600

修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮:

image-20251127183630842
image-20251127183630842

来到状态菜单下的在线隧道列表可以看到隧道名称为metabase-3000的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

image-20251127184008954
image-20251127184008954

这里以https协议做访问测试(加载稍慢,需耐心等待一下):

image-20251127184109766
image-20251127184109766

访问成功!这样一来,你就拥有了一个永久不变的专属域名,再也不用担心24小时域名更换的问题。而且,此时再分享给你的朋友访问你的数据看板,也是可以访问的了(只需要手动替换下域名就ok啦):

image-20251127184300438
image-20251127184300438

总结

完成部署后,Metabase就可以作为一套轻量的数据可视化平台使用。它能连接数据库,把原本需要手动整理的数据表,转成更直观的图表、查询结果和仪表盘。

这套方案的价值,不是简单替代Excel,而是让数据从“文件传来传去”变成“页面实时查看”。图表可以保存,仪表盘可以组合,SQL查询可以复用,团队成员看到的也不再是一张静态截图,而是可以持续更新的数据视图。

配置 cpolar 后,本地运行的Metabase可以从外部网络访问。随机域名适合临时演示,固定二级子域名更适合长期使用,方便把数据看板分享给异地同事、客户或项目成员。

需要注意的是,Metabase连接的是实际数据库,公网访问时一定要做好账号权限和数据范围控制。不要把包含敏感信息的仪表盘随意公开分享,数据库账号也建议使用只读权限,避免因误操作影响业务数据。

Metabase负责把数据转成可理解的图表和仪表盘,Docker负责降低部署门槛,cpolar负责补上远程访问和分享能力。当这几部分组合起来以后,数据分析就不必再停留在Excel文件和截图里,而是可以变成一套可访问、可协作、可持续更新的数据看板。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1 什么是Metabase?
  • 2 使用Docker一键部署Metabase
  • 3 简单演示使用Metabase
    • 3.1 Metabase初始化配置
    • 3.2 Metabase可视化默认图表展示
    • 3.3 可视化图表
      • 3.3.1 柱状图
      • 3.3.2 饼状图
    • 3.4 编写SQL语句进行查询
  • 4 仪表盘与分享
    • 4.1 仪表盘
    • 4.2 分享
  • 5 穿透Metabase以支持公网访问
    • 5.1 什么是cpolar?
    • 5.2 下载cpolar
    • 5.3 注册及登录cpolar web ui管理界面
    • 5.4 穿透Metabase项目的WebUI界面
      • 5.4.1 随机域名方式(免费方案)
      • 5.4.2 固定域名方式(升级任意套餐皆可)
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档