Excel做到崩溃后,我终于开始用Metabase了
前言前段时间帮朋友整理一份运营数据本来以为只是简单做个统计结果打开 Excel 之后才发现事情没那么简单。数据表有好几万行筛选、汇总、透视表轮着来。改一个条件图表跟着重做新增一批数据又得重新整理一次。折腾了半天真正花在分析上的时间没多少反而大部分精力都耗在了处理表格上。更头疼的是团队协作。做好的图表发给同事对方看完又提新需求导出新的版本发过去没多久又出现第三个版本。慢慢地我发现很多时候大家缺的并不是数据而是一个能够随时查看、自动更新的地方。后来在寻找解决方案时我发现了 Metabase。最开始吸引我的并不是它开源免费而是它几乎把 Excel 里那些重复性的工作都简化掉了。连接数据库之后不需要复杂配置就能直接生成柱状图、折线图、饼图甚至完整的数据仪表盘。很多原本要折腾半天的统计工作现在几分钟就能完成。更重要的是它并不要求每个人都会 SQL。对于普通业务人员来说可以直接通过可视化界面完成分析而对于开发人员和数据分析人员来说又保留了 SQL 查询能力。这种兼顾简单和专业的设计也是 Metabase 能够成为开源 BI 领域热门项目的重要原因。结尾1 什么是MetabaseMetabase 是一款开源、零门槛的数据可视化 BIBusiness Intelligence平台。它的目标非常简单让每个人都能轻松理解数据而不需要成为数据分析师或会写 SQL 的程序员。你只需要连接你的数据库Metabase 就能帮助你自动识别数据结构无需繁琐配置几分钟做出图表柱状图、折线图、饼图、地图、数据透视等常见图表全支持可视化界面操作拖拽选择字段即可生成分析支持 SQL 编辑器进阶用户可以写查询、定时发送结果创建仪表盘和大屏方便团队共享数据视图权限管理与团队协作对不同用户设置不同访问权限作为一款开源项目它不仅免费还拥有完整的社区生态文档、插件、部署方式都非常成熟。无论你是小团队、创业项目还是个人开发者都可以用它快速搭建自己的数据看板系统。2 使用Docker一键部署Metabase本教程将在Windows上操作演示。使用Docker方式一键部署Metabase如果还没有安装Docker的小伙伴可以先访问上面链接进行安装一下。安装好后电脑按Win R键输入cmd回车使用如下命令进行一键部署dockerrun-d-p3000:3000--namemetabase-vmetabase-data:/metabase-data metabase/metabase执行如下图所示最后一行出现随机字符串就代表完成啦且会自动启动可以进一步使用如下命令查看状态dockerps如下图可以看到状态为UP就是代表运行中的运行在3000端口上我们浏览器访问测试一下http://localhost:3000访问成功啦3 简单演示使用Metabase3.1 Metabase初始化配置首先点击首页上的Lets get started进入下一步进入下一步后我们可以点击右上角先把语言切换为中文然后填写信息填写完成信息后继续下一步做一个简单的回答接着来到配置数据源页面可以看到在这个页面有多种数据库这里以MySQL数据库作为演示您也可以自行选择其他相关数据库进行添加我这里准备了一个学生信息表数据库student_info,里面分别有3张表学生表students成绩表(scores)课程表(courses)我当前的数据库账号密码都是root,所以jdbc连接语句为如下jdbc:mysql://root:root192.168.50.149:3306/student_info?sslflase代表的含义如下root:root- 数据库用户名和密码格式用户名:密码192.168.50.149:3306- 数据库服务器地址和端口student_info- 要连接的数据库名称sslfalse- 禁用 SSL 加密连接本地测试环境可以关闭 提示如果你的 MySQL 数据库在本地运行地址可以使用localhost或127.0.0.1。如果 Metabase 运行在 Docker 容器中请使用宿主机的实际 IP 地址或host.docker.internalWindows/Mac Docker Desktop。接着将该语句填写到Connection string中会自动填写其他项点击关闭使用安全连接然后点击连接数据库可以看到左下角提示成功连接到数据库了接着做一些基础回答就可以进入首页啦3.2 Metabase可视化默认图表展示首先点击侧边栏的数据库菜单然后接着点击刚才添加的数据库进入后选择一张表这里以学生表student为例点击进入后可以看到基础的数据表格就出来啦页面上可以做很多的操作如过滤、汇总、编辑器、可视化等还可以编写SQL查询语句比如这里想要筛选条件为不等于在读的学生也就是已经毕业的可以看到就只剩下一条数据了因为只有该学生为毕业状态响应很快3.3 可视化图表3.3.1 柱状图这里以性别字段为例做一个柱状图。首先点击右上角的汇总按钮然后选择Gender字段点击完成可以看到直接就出来性别柱状图分布了我们还可以点击可视化旁边的设置按钮在显示里面开启显示数据点上的值如果想要保存可以点击右上角的保存按钮3.3.2 饼状图如果想要查看饼状图可以直接点击可视化然后选择饼状图即可就会直接显示饼状图的数据其他的图表也是如此操作即可。3.4 编写SQL语句进行查询Metabase也支持通过编写SQL语句来进行查询回到首页首先点击右上角的创建按钮然后选择SQL查询即可进入到新的页面后即可直接输入SQL语句进行查询这里举例以**查询学生成绩排名(含选课数量、平均成绩、等级评定)**为例进行多表联合查询SELECTs.student_noAS学号,s.nameAS姓名,s.majorAS专业,COUNT(sc.course_id)AS选课数量,ROUND(AVG(sc.score),2)AS平均成绩,CASEWHENAVG(sc.score)90THEN优秀WHENAVG(sc.score)80THEN良好WHENAVG(sc.score)60THEN及格ELSE不及格ENDAS等级FROMstudents sLEFTJOINscores scONs.idsc.student_idWHEREs.status在读GROUPBYs.id,s.student_no,s.name,s.majorORDERBY平均成绩DESC;输入后按Ctrl 回车按钮即可执行查询如下图所示还可以点击下方的可视化按钮配置图表将其显示成图表的方式更易查看4 仪表盘与分享前面我们已经学会了如何连接数据库、生成可视化图表以及编写 SQL 查询来分析数据。但在实际工作中我们往往需要将多个关键指标集中展示方便团队快速决策同时还要能够将这些数据洞察分享给其他成员。这就是 Metabase 的「仪表盘」和「分享」功能的价值所在——它让数据不仅仅停留在个人分析层面而是能够真正流动起来成为团队协作的利器。4.1 仪表盘点击右上角创建再点击仪表盘按钮创建一个仪表盘填写名字等信息点击创建进入到新的页面后点击添加图表可以在右边看到前面保存的图表点击就可以添加进来了点击右上角的保存按钮进行保存后仪表盘就成功做好了。4.2 分享所有图表仪表盘都可以进行分享分享给您的朋友查看点击页面上的分享图标然后可以选择一个分享方式这里以链接做演示点击后可以看到生成一个链接:但是这个链接显示为localhost地址我们可以通过局域网访问自己的这个服务在cmd中输入ipconfig命令查看自己电脑的IP地址知道局域网地址后我们直接把localhost地址修改为你的局域网地址就行啦可以看到成功访问5 穿透Metabase以支持公网访问虽然局域网分享已经能让同一网络下的同事查看数据了但问题来了如果团队成员在外地出差、居家办公或者你想把数据报告分享给客户、合作伙伴他们根本访问不了你的 localhost 或局域网地址。更尴尬的是传统的解决方案要么需要购买云服务器、配置公网 IP 和域名要么就只能截图、导出 PDF 发过去——前者成本高、配置复杂后者又回到了「静态数据、无法实时更新」的老路子。这时候就需要内网穿透工具出马了。通过cpolar我们可以不用服务器、不用公网 IP就能把本地运行的 Metabase 映射到公网上生成一个任何人都能访问的 HTTPS 链接。无论对方在哪里只要有网络就能实时查看你的数据仪表盘——这才是真正意义上的「随时随地数据触手可及」。5.1 什么是cpolar?cpolar 是一款内网穿透工具可以将你在局域网内运行的服务如本地 Web 服务器、SSH、远程桌面等通过一条安全加密的中间隧道映射至公网让外部设备无需配置路由器即可访问。广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台并提供一键安装脚本方便部署。5.2 下载cpolar打开cpolar官网的下载页面点击立即下载 64-bit按钮,下载cpoalr的安装包:下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:cpolar version出现如上版本即代表安装成功!5.3 注册及登录cpolar web ui管理界面注册完成后,在浏览器中输入如下地址访问 web ui管理界面 :http://localhost:9200如果还没有账号点击下方免费注册即可注册账号。输入刚才注册好的cpolar账号登录即可进入后台页面:5.4 穿透Metabase项目的WebUI界面5.4.1 随机域名方式(免费方案)随机域名方式适合预算有限的用户。使用此方式时系统会每隔24 小时左右自动更换一次域名地址。对于长期访问的不太友好但是该方案是免费的如果您有一定的预算可以查看大纲5.4.2的固定域名方式且访问更稳定。点击左侧菜单栏的隧道管理展开进入隧道列表页面页面下默认会有 2 个隧道remoteDesktop隧道指向3389端口tcp协议website隧道指向8080端口http协议http协议默认会生成2个公网地址一个是http另一个https免去配置ssl证书的繁琐步骤点击编辑website的隧道修改成我们Metabase需要的信息接着来到在线隧道列表可以看到名称为metabase-3000隧道的两条记录信息一条协议为http,另一条协议为https:以https为例访问测试(加载稍慢需耐心等待一下)可以看到成功的访问到了Metabase的web登录页面了。5.4.2 固定域名方式升级任意套餐皆可通过前面的配置我们已经成功实现了Metabase的远程访问但免费随机域名方案的局限性也逐渐显现每24小时左右自动更换域名地址意味着你需要频繁更新书签、重新分享链接甚至可能因为忘记更新而无法访问。固定域名方案正是为了解决这些痛点而生让你拥有一个永久不变的专属地址。首先进入官网的预留页面:https://dashboard.cpolar.com/reserved选择预留菜单即可看到保留二级子域名项填写其中的地区、名称、描述可不填项然后点击保留按钮操作步骤图如下列表中显示了一条已保留的二级子域名记录地区显示为China Top。二级域名显示为Metabase。注二级域名是唯一的每个账号都不相同请以自己设置的二级域名保留的为主接着进入侧边菜单栏的隧道管理下的隧道列表可以看到名为metabase-3000的隧道点击编辑按钮进入编辑页面修改域名类型为二级子域名然后填写前面配置好的子域名点击更新按钮来到状态菜单下的在线隧道列表可以看到隧道名称为metabase-3000的公网地址已经变更为二级子域名固定域名主体及后缀的形式了这里以https协议做访问测试加载稍慢需耐心等待一下:访问成功这样一来你就拥有了一个永久不变的专属域名再也不用担心24小时域名更换的问题。而且此时再分享给你的朋友访问你的数据看板也是可以访问的了只需要手动替换下域名就ok啦总结体验下来Metabase 最大的价值并不是图表做得有多漂亮而是让数据真正变得容易使用。以前很多团队的数据分析流程都是导出数据、整理 Excel、制作图表、截图分享。每当数据发生变化就要重新来一遍。而 Metabase 的思路完全不同它直接连接数据库让图表和仪表盘随着数据自动更新。对于个人开发者来说它可以作为项目运营看板对于企业团队来说可以用来展示销售数据、用户增长、业务指标等关键内容。尤其是在支持权限管理、SQL 查询和仪表盘分享之后它已经不仅仅是一个图表工具而是一套完整的数据分析平台。再结合 cpolar 提供的公网访问能力后即使没有云服务器和公网 IP也能够把数据大屏分享给团队成员、客户或者合作伙伴实现真正意义上的随时随地查看数据。很多人以为数据分析最重要的是工具。但当数据量越来越大之后你会发现真正重要的是让数据自己说话而不是让人天天折腾数据。程序山海一个探索和分享的有趣博主点击了解