之前介绍过一款数据可视化工具DataEase ,发现大家对这种可视化工具还是比较感兴趣的。最近又发现一款界面非常不错的数据可视化工具
Metabase
,对比DataEase,这款工具仅需5分钟就可以搭建完成,无需复杂配置,用起来也很方便。这款真正开箱即用的好工具,今天推荐给大家!
简介
Metabase是一款简单、快捷的BI(数据可视化)工具,在Github上已有27k Star
,可见其是非常流行的。
Metabase具有如下特性:
- 使用Docker搭建非常快速,5分钟即可完成搭建和设置;
- 人人可用的数据可视化工具,你不需要懂SQL;
- 提供了丰富的仪表盘界面,真正颜值在线的工具,支持数据自动刷新;
- 支持自定义SQL查询,适合懂SQL的人使用;
- 强大的数据透视功能,可以根据数据自动生成仪表板;
- 可以进行多表数据的关联分析,并且无需手写SQL。
下面是一张由Metabase生成的仪表盘,还是挺炫酷的。
安装
使用Docker安装Metabase非常简单,下面我们将采用此种方式安装。
- 首先下载Metabase的Docker镜像,仅
400M
大小,非常小巧;
docker pull metabase/metabase
- 接下来使用如下命令运行Metabase服务;
docker run -p 3000:3000 --name metabase
-v /mydata/metabase-data:/metabase-data
-e "MB_DB_FILE=/metabase-data/metabase.db"
-d metabase/metabase
- 运行过程中,可以使用如下命令查看日志;
docker logs -f metabase
- 从日志中我们很容易看出,Metabase又是一款Java开发的神器,当输出如下日志时,代表启动成功了。
- 最后开启防火墙的
3000
端口,以供外部访问。
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
配置
在使用Metabase之前,我们还需要一些配置。
- 首先通过如下地址访问Metabase,有一个欢迎界面,访问地址:http://192.168.3.105:3000/
- 然后选择语言,Metabase的国际化做的还是挺好的,支持很多种语言;
- 接下来创建一个管理员账户;
- 然后选择数据库,Metabase支持的数据库种类也挺丰富的;
- 配置数据库连接信息;
- 选择是否允许匿名收集使用事件;
- 设置完成之后就可以进入Metabase的主界面了。
使用
Metabase内置了H2数据库,里面有一些示例数据,下面我们使用该数据来演示下它的基本使用。
- 首先我们打开示例数据库看下,里面有哪些数据,基本就是订单、商品、用户这些数据表;
- 我们打开
Orders
表可以查看表中数据;
- 在Metabase中,一张可视化图表被称之为
问题
,我们下面来制作一张2019-2020年商品销售额增长趋势图
,先通过过滤器
设置过滤条件为Created At
;
- 然后进行条件设置并添加过滤器;
- 然后通过
聚合
功能,设置聚合条件为总和->Total
;
- 再设置分组条件为
Created At
,并按月进行分组;
- 之后就会生成一张趋势折线图了,通过左下角的
可视化
按钮,我们可以切换图表;
- 支持的图表还是挺多的,最后点击
保存
按钮可以进行保存;
- 我们还可以使用顶部的
加号
按钮创建仪表盘;
- 然后将图表都添加到仪表盘中去,一个
电商平台的销售看板
就完成了。
高级
Metabase的功能远不只与此,下面再来介绍一些它的高级用法。
透视数据表
透视是个非常神奇的功能,当我们拿到一堆数据不知道如何分析时,使用它能为我们自动生成各种图表,说不定就有你想要的结果。
- 下面我们来透视下
Orders
表,点击闪电按钮即可使用;
- 这时Metabase将自动生成一个仪表板,分析一些数据,比如总共的订单量、每个商品的销量、每个商品分类的销量,大家可以找找自己感兴趣的数据;
- 点击右侧的放大按钮,可以根据条件进行更精细化的分析,比如时间,这里按时间维度分析了订单的各种情况。
自定义首页
通过标记功能,我们可以把感兴趣的内容固定到首页去。
- 比如我们对之前的
某电商平台销售看板
比较感兴趣,就可以将它进行标记;
- 标记完成后就可以在首页方便地进行查看了。
自定义SQL查询
有时候我们分析的数据比较复杂,可以自定义SQL来实现。
- 可以点击
创建问题
按钮,然后来创建原生查询
;
- 然后选择好数据库,输入自定义SQL就可以进行查询了。
数据表关联
有时候我们进行数据分析时,需要多张表的数据,此时可以使用数据表关联功能,无需手写SQL即可实现。
- 比如说我们想
按分类统计商品销量
,分类信息在Products
表中,销量信息在Orders
表中,我们可以通过显示编辑器
来选择关联
功能;
- 然后管理
Orders
表和Products
表,再对销量进行求和后按商品分类进行分组即可实现;
- 接下来我们就可以看到各个商品按分类的销量统计图了。
管理员设置
通过管理员设置功能,我们可以修改Metabase的系统设置,比如语言设置、用户管理、数据库管理等。
- 点击
设置->管理员
即可切换到管理员进行设置;
- 在
设置
中,我们可以进行一些基础设置;
- 在
人员
中可以进行用户管理;
- 在
数据源
中可以管理各个数据库的连接信息,我们之前一直使用的示例数据就是存在H2
数据库中的;
- 在
权限
中可以进行权限管理。
总结
今天体验了一把Metabase,确实是一款开箱即用的好工具,搭建起来仅需5分钟。Metabase生成的图表也非常漂亮,使用也很方便,而且对于多表分析也无需手写SQL。如果大家有数据可视化方面的需求,不妨试试它!
参考资料
- 项目地址:https://github.com/metabase/metabase
- 官方文档:https://www.metabase.com/docs/latest/