技术心得记录:开源BI分析工具Metabase配置与完全使用手册

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 技术心得记录:开源BI分析工具Metabase配置与完全使用手册

文章目录


简介


安装


初始配置


数据分析


简单查询


创建场景


创建集合和仪表盘


自定义查询


原生查询


sql变量


动态sql片段


管理员操作


添加数据库


连接oracle


成员管理


邀请新成员


权限配置


数据权限


文件夹权限


邮箱配置


定时任务


简介


Metabase是一个免费的BI分析工具,可以帮助你把数据库中的数据更好的呈现给更多人,通过建立一个”查询“来提炼数据,再以图形化的方式做展示。上手简单,操作门槛低,即使不会sql语句也能使用。同时工具轻量、安装依赖的环境简单、配置简单清楚,只需一个jar包和一条命令就能完成安装


安装


Metabase的安装非常简单,只需将jar包下载下来后(下载地址),放在有java环境的机子上,通过java -jar命令启动即可,启动命令:


java -jar metabase.jar


1


这里需要注意的是metabase自带的H2数据库相对较弱,最好替换成其他数据源,比如MySQL等,这里可以参考我的另一篇文章:《metabase默认应用数据//代码效果参考:http://www.jhylw.com.cn/165933803.html

源H2变更为MySQL及历史数据迁移》

初始配置


启动后metabase默认端口为3000,如果要变更端口,可添加环境变量MB_JETTY_PORT来指定端口


,假设metabase为本地启动,浏览器访问网址:即可进入初始化界面


按提示一步步填写相关信息即可,注意第一个创建的账户默认即为管理员账户


等待初始化之后,进入首页即可看到配置数据库下的所有表


数据分析


接下来就可以正式使用了,右上角各功能如下:


下面就以具体场景为例,分别解释各项功能,点击创建问题 --》简单查询,先从简单的开始,走一遍整体流程


简单查询


假设我要对一张名为customer_group_info的客户群表做多个维度的分析,表结构与测试记录如下:


需求场景如下:


根据status状态字段做聚合,查看各个状态下的客群数


根据insert_time创建时间字段对客群做趋势分析


筛选出cgp_type客群类型为3的客群


创建场景


场景1:


1) 右上角选聚合,聚合条件为总行数,分组条件为status,聚合结果如下:


2) 为了便于观察,我们以图表形式显示,选择右下角“可视化”,选择图表类型


3)保存该问题,由于目前还没新建集合,先默认保存在“分析下”


场景2,3类似,就不再赘述


场景2:


场景3:


以上三个问题创建完毕,目前都保存在“分析”下,为了便于分类管理,下面就新建一个集合,把以上问题归类


创建集合和仪表盘


回到首页,进入“分析”,新建名为“客群分析”的集合,然后把问题移到该集合下


目前虽然已经归类到一个集合下了,但是查看还是很不方便,还是要每个问题分别点进去才能看到,下面就开始建一个仪表盘,把这三个问题整合到同一个仪表盘下,点右上角“+”号,选择新仪表盘,放到“客群分析”集合下


然后在仪表盘中把三个问题添加进去即可


这样,后续对这三个场景的数据分析,就可以直接在该仪表盘中查看了


自定义查询


自定义查询相较于简单查询,支持更高级的操作,如多表关联,表与创建的问题之间的关联等,但整体操作还是跟简单查询类似,这里就不再重复了


原生查询


原生查询即直接写sql查询,但是前提是该用户必须有sql查询的权限,权限问题会在后面的权限管理中讲到。


sql查询可直接通过右上角控制台图标进入,进入后记得要先在左上角选择数据库


metabase中的sql可以支持变量和根据变量做动态sql拼接,变量形式:{ {变量名}},动态sql片段形式:【【and 字段 = { {变量名}}】】,具体如何使用,下面举例说明。


sql变量


还是以customer_group_info这张表为例,假设创建了一个问题,问题中的sql如下:


select from customer_group_info where cgp_id = '2589bd22-c719-4e01-b9bf-2144beacadca'


1


根据cgp_id去查找记录,但是cgp_id是固定的,如果每次查询都要修改问题中的sql去改变值的话,那岂不是跟直接写sql没差,这时候就可以用变量替换,把cgp_id改成变量,然后直接输入查询值,改成如下格式的sql:


select from customer_group_info where cgp_id = { {input_id}}


1


问题上方会多出一个文本框,在文本框中输入cgp_id就可以查询


动态sql片段


sql变量虽然解决了查询条件值不固定的问题,但是如果有些查询条件也是可选的,这该怎么解决呢,如下面的sql:


select


cgp_id as 客群编号,


user_name as 用户名,


cgp_type as 客群类型


from


customer_group_info


where user_name = 'apicloud1'


and


cgp_type = 2 -- 该条件为可选条件


1


2


3


4


5


6


7


8


9


那就可根据条件来动态拼sql,改成如下形式:


select


cgp_id as 客群编号,


user_name as 用户名


【【 ,{ {input_type}} as 客群类型】】


from


customer_group_info


where user_name = { {input_user}}


【【and cgp_type = { {input_type}}】】


1


2


3


4


5


6


7


8


当不输入cgp_type时,查询出所有客群类型


当指定cgp_type时,查询出指定客群类型


以上为数据分析人员的数据分析操作,下面来说一下管理员角色的管理功能


管理员操作


添加数据库


点击设置,切换为管理员,进入管理员页面


选择 数据库 --> 添加数据库


填写数据库信息, 填写完成后保存即可


后续也可以通过该步骤选择已有数据库变更信息


连接oracle


metabase的默认数据源连接里面是没有oracle选项的,如果要连接oracle,需要单独配置


首先去oracle官网下载ojdbc驱动:


放到/metabase/plugins目录下,重启metabase即可


成员管理


邀请新成员


可以在 管理员页面 --》人员 --》 邀请其他人 邀请新用户,并分配用户组,邀请初始密码随机生成


权限配置


权限管理主要分为数据权限和文件夹权限两类,数据权限只访问数据库与表记录的权限,文件夹权限指访问集合的权限


数据权限


数据权限管理页面如下图所示,其中纵轴为所有的数据库,横轴为所有用户组


权限类型如下:


允许访问数据


没有权限: 无法访问整个数据库


部分权限:可访问指定表


授予不受限制的访问权限:可访问整个数据库


sql查询


没有权限: 无法在终端写原生sql


写原始查询语句: 可写sql


文件夹权限


其管理页面如下,纵轴为所有集合,横轴为所有用户组


权限类型如下:


集合权限


没有权限


查看集合


修改集合


邮箱配置


配置邮箱后,metabase可定时将指定的集合的分析结果推送至关注人邮箱,就不用主动登录metabase去查看


邮箱配置流程如下:


管理员页面 --》设置 --》 邮箱,填写邮件服务器信息与发送者邮箱


配置好后点击 ”发送测试邮件“,如果管理员邮箱中能收到如下测试邮件,说明邮箱配置成功


定时任务


邮箱配置完成之后,就可以配置定时任务来定时推送结果,将上面创建的三个问题的结果推送给对应邮箱,步骤如下:


回到首页,点击”+“添加新的定时任务


选择集合中的问题


设置定时任务和接收者邮箱,这里要注意你metabase设定的时区对不对,然后就能定时推送分析报告了


收到邮件如下:


------------恢复内容开始------------


文章目录


简介


安装


初始配置


数据分析


简单查询


创建场景


创建集合和仪表盘


自定义查询


原生查询


sql变量


动态sql片段


管理员操作


添加数据库


连接oracle


成员管理


邀请新成员


权限配置


数据权限


文件夹权限


邮箱配置


定时任务


简介


Metabase是一个免费的BI分析工具,可以帮助你把数据库中的数据更好的呈现给更多人,通过建立一个”查询“来提炼数据,再以图形化的方式做展示。上手简单,操作门槛低,即使不会sql语句也能使用。同时工具轻量、安装依赖的环境简单、配置简单清楚,只需一个jar包和一条命令就能完成安装


安装


Metabase的安装非常简单,只需将jar包下载下来后(下载地址),放在有java环境的机子上,通过java -jar命令启动即可,启动命令:


java -jar metabase.jar


1


这里需要注意的是metabase自带的H2数据库相对较弱,最好替换成其他数据源,比如MySQL等,这里可以参考我的另一篇文章:《metabase默认应用数据源H2变更为MySQL及历史数据迁移》


初始配置


启动后metabase默认端口为3000,如果要变更端口,可添加环境变量MB_JETTY_PORT来指定端口


,假设metabase为本地启动,浏览器访问网址:即可进入初始化界面


按提示一步步填写相关信息即可,注意第一个创建的账户默认即为管理员账户


等待初始化之后,进入首页即可看到配置数据库下的所有表


数据分析


接下来就可以正式使用了,右上角各功能如下:


下面就以具体场景为例,分别解释各项功能,点击创建问题 --》简单查询,先从简单的开始,走一遍整体流程


简单查询


假设我要对一张名为customer_group_info的客户群表做多个维度的分析,表结构与测试记录如下:


需求场景如下:


根据status状态字段做聚合,查看各个状态下的客群数


根据insert_time创建时间字段对客群做趋势分析


筛选出cgp_type客群类型为3的客群


创建场景


场景1:


1) 右上角选聚合,聚合条件为总行数,分组条件为status,聚合结果如下:


2) 为了便于观察,我们以图表形式显示,选择右下角“可视化”,选择图表类型


3)保存该问题,由于目前还没新建集合,先默认保存在“分析下”


场景2,3类似,就不再赘述


场景2:


场景3:


以上三个问题创建完毕,目前都保存在“分析”下,为了便于分类管理,下面//代码效果参考:http://www.jhylw.com.cn/580321209.html

就新建一个集合,把以上问题归类

创建集合和仪表盘


回到首页,进入“分析”,新建名为“客群分析”的集合,然后把问题移到该集合下


目前虽然已经归类到一个集合下了,但是查看还是很不方便,还是要每个问题分别点进去才能看到,下面就开始建一个仪表盘,把这三个问题整合到同一个仪表盘下,点右上角“+”号,选择新仪表盘,放到“客群分析”集合下


然后在仪表盘中把三个问题添加进去即可


这样,后续对这三个场景的数据分析,就可以直接在该仪表盘中查看了


自定义查询


自定义查询相较于简单查询,支持更高级的操作,如多表关联,表与创建的问题之间的关联等,但整体操作还是跟简单查询类似,这里就不再重复了


原生查询


原生查询即直接写sql查询,但是前提是该用户必须有s

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 缓存 分布式计算
阿里云连续五年入选Gartner®分析和商业智能平台魔力象限,中国唯一
Gartner® 正式发布《分析与商业智能平台魔力象限》报告(Magic Quadrant™ for Analytics and Business Intelligence Platforms),阿里云成为唯一入围该报告的中国厂商,被评为“挑战者”(Challengers)。这也是阿里云连续五年入选该报告。
|
3月前
|
SQL 数据可视化 数据挖掘
零门槛!人人可用的开源 BI 工具!
【9月更文挑战第14天】在数据驱动时代,商业智能(BI)工具对企业和个人至关重要。然而,许多商业BI工具价格昂贵且有技术门槛。幸运的是,一些优秀的开源BI工具不仅功能强大,还零门槛,人人可用。本文介绍了开源BI工具的优势,包括成本低、灵活性高及社区支持,并推荐了Metabase和Superset两款工具。通过简单的安装配置、创建报表和仪表盘,以及分享与协作,用户可以轻松挖掘数据价值,做出明智决策。
253 16
|
1月前
|
机器学习/深度学习 算法 数据挖掘
如何利用 BI 工具分析客户流失原因?
如何利用 BI 工具分析客户流失原因?
52 10
|
1月前
|
人工智能 供应链 搜索推荐
大数据分析:解锁商业智能的秘密武器
【10月更文挑战第31天】在信息爆炸时代,大数据分析成为企业解锁商业智能的关键工具。本文探讨了大数据分析在客户洞察、风险管理、供应链优化、产品开发和决策支持等方面的应用,强调了明确分析目标、选择合适工具、培养专业人才和持续优化的重要性,并展望了未来的发展趋势。
|
5月前
|
缓存 DataWorks 数据可视化
DataWorks 数据服务 + BI 可视化分析报表 (搭建战报)
DataWorks 数据服务提供强大的数据 API 能力,并能与多种业界流行的 BI 报表 (DataV、QuickBI、PowerBI和Grafana) 结合,使用 API 数据源的好处是统一数据接口、统一权限管理、统一数据交换以及数据服务提供强大的各式各样的插件能力 (如缓存插件、流量控制插件、日志脱敏插件、断路器插件、IP访问控制插件、三方鉴权插件等),下文介绍各热门 BI 工具接入 DataWorks 数据服务的操作方式。
201 0
DataWorks 数据服务 + BI 可视化分析报表 (搭建战报)
|
7月前
|
数据可视化 关系型数据库 MySQL
互联网电商与游戏行业实时BI分析
本文以电商行业为例,将业务数据和日志数据同步到 ADB,之后通过 Quick BI 做实时可视化分析。相对于传统的关系型数据库,阿里云分析型数据库 MySQL 版只需要几毫秒的时间,即可查询 PB 级数据并从中找到匹配信息。
互联网电商与游戏行业实时BI分析
|
7月前
|
传感器 数据可视化 搜索推荐
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
142 0
|
7月前
|
BI
Quick BI V5.0发布:一键解锁智能小Q等全新智能商业分析能力
Quick BI V5.0发布:一键解锁智能小Q等全新智能商业分析能力
254 0
|
5月前
|
数据可视化 安全 搜索推荐
干货|FESCO Adecco外企德科:Quick BI打造战略管理“观数台”(2)
干货|FESCO Adecco外企德科:Quick BI打造战略管理“观数台”
137 4
|
5月前
|
监控 数据可视化 数据挖掘
干货|FESCO Adecco外企德科:Quick BI打造战略管理“观数台”(1)
干货|FESCO Adecco外企德科:Quick BI打造战略管理“观数台”
113 4

热门文章

最新文章

下一篇
DataWorks