开源BI分析工具Metabase配置与完全使用手册

 

  1. 简介

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

  1. 安装

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

java -jar metabase.jar
  1. 1

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

  1. 初始配置

启动后metabase默认端口为3000,如果要变更端口,可添加环境变量MB_JETTY_PORT来指定端口
,假设metabase为本地启动,浏览器访问网址:http://localhost:3000/即可进入初始化界面
在这里插入图片描述
按提示一步步填写相关信息即可,注意第一个创建的账户默认即为管理员账户
在这里插入图片描述
等待初始化之后,进入首页即可看到配置数据库下的所有表
在这里插入图片描述

  1. 数据分析

接下来就可以正式使用了,右上角各功能如下:
在这里插入图片描述
下面就以具体场景为例,分别解释各项功能,点击创建问题 --》简单查询,先从简单的开始,走一遍整体流程
在这里插入图片描述

  1. 简单查询

假设我要对一张名为customer_group_info的客户群表做多个维度的分析,表结构与测试记录如下:
在这里插入图片描述
需求场景如下:

  1. 根据status状态字段做聚合,查看各个状态下的客群数
  2. 根据insert_time创建时间字段对客群做趋势分析
  3. 筛选出cgp_type客群类型为3的客群
  4. 创建场景

场景1:
1) 右上角选聚合,聚合条件为总行数,分组条件为status,聚合结果如下:
在这里插入图片描述
2) 为了便于观察,我们以图表形式显示,选择右下角“可视化”,选择图表类型
在这里插入图片描述
3)保存该问题,由于目前还没新建集合,先默认保存在“分析下”
在这里插入图片描述
场景2,3类似,就不再赘述
场景2:
在这里插入图片描述
场景3:
在这里插入图片描述
以上三个问题创建完毕,目前都保存在“分析”下,为了便于分类管理,下面就新建一个集合,把以上问题归类

  1. 创建集合和仪表盘

回到首页,进入“分析”,新建名为“客群分析”的集合,然后把问题移到该集合下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
目前虽然已经归类到一个集合下了,但是查看还是很不方便,还是要每个问题分别点进去才能看到,下面就开始建一个仪表盘,把这三个问题整合到同一个仪表盘下,点右上角“+”号,选择新仪表盘,放到“客群分析”集合下
在这里插入图片描述
然后在仪表盘中把三个问题添加进去即可
在这里插入图片描述
在这里插入图片描述
这样,后续对这三个场景的数据分析,就可以直接在该仪表盘中查看了

  1. 自定义查询

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

  1. 原生查询

原生查询即直接写sql查询,但是前提是该用户必须有sql查询的权限,权限问题会在后面的权限管理中讲到。
sql查询可直接通过右上角控制台图标进入,进入后记得要先在左上角选择数据库
在这里插入图片描述
metabase中的sql可以支持变量和根据变量做动态sql拼接,变量形式:{{变量名}},动态sql片段形式:[[and 字段 = {{变量名}}]],具体如何使用,下面举例说明。

  1. sql变量

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

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

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

select * from customer_group_info where cgp_id = {{input_id}}
  1. 1

问题上方会多出一个文本框,在文本框中输入cgp_id就可以查询
在这里插入图片描述

  1. 动态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. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 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. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8

当不输入cgp_type时,查询出所有客群类型
在这里插入图片描述

当指定cgp_type时,查询出指定客群类型
在这里插入图片描述

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

  1. 管理员操作

  2. 添加数据库

  3. 点击设置,切换为管理员,进入管理员页面
    在这里插入图片描述
  4. 选择 数据库 --> 添加数据库
    在这里插入图片描述
  5. 填写数据库信息, 填写完成后保存即可
    在这里插入图片描述

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

  1. 连接oracle

metabase的默认数据源连接里面是没有oracle选项的,如果要连接oracle,需要单独配置
在这里插入图片描述

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UEVQCOHU-1608544558294)(C:\Users\17391\AppData\Roaming\Typora\typora-user-images\image-20201221172112671.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MhYycIoU-1608544558296)(C:\Users\17391\AppData\Roaming\Typora\typora-user-images\image-20201221172036459.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02ZduREY-1608544558298)(C:\Users\17391\AppData\Roaming\Typora\typora-user-images\image-20201221172311920.png)]

  1. 成员管理

  2. 邀请新成员

可以在 管理员页面 --》人员 --》 邀请其他人 邀请新用户,并分配用户组,邀请初始密码随机生成
在这里插入图片描述
在这里插入图片描述

  1. 权限配置

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

  1. 数据权限

数据权限管理页面如下图所示,其中纵轴为所有的数据库,横轴为所有用户组
在这里插入图片描述
权限类型如下:

  1. 允许访问数据

    1. 没有权限: 无法访问整个数据库
    2. 部分权限:可访问指定表
    3. 授予不受限制的访问权限:可访问整个数据库
  2. sql查询

    1. 没有权限: 无法在终端写原生sql
    2. 写原始查询语句: 可写sql
  3. 文件夹权限

其管理页面如下,纵轴为所有集合,横轴为所有用户组
在这里插入图片描述
权限类型如下:

  1. 集合权限
    1. 没有权限
    2. 查看集合
    3. 修改集合
  2. 邮箱配置

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

邮箱配置流程如下:
管理员页面 --》设置 --》 邮箱,填写邮件服务器信息与发送者邮箱
在这里插入图片描述
配置好后点击 ”发送测试邮件“,如果管理员邮箱中能收到如下测试邮件,说明邮箱配置成功
在这里插入图片描述

  1. 定时任务

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

    1. 回到首页,点击”+“添加新的定时任务
      在这里插入图片描述
    2. 选择集合中的问题
      在这里插入图片描述
    3. 设置定时任务和接收者邮箱,这里要注意你metabase设定的时区对不对,然后就能定时推送分析报告了
      在这里插入图片描述
      收到邮件如下:
      在这里插入图片描述

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

 

简介

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为本地启动,浏览器访问网址:http://localhost:3000/即可进入初始化界面
在这里插入图片描述
按提示一步步填写相关信息即可,注意第一个创建的账户默认即为管理员账户
在这里插入图片描述
等待初始化之后,进入首页即可看到配置数据库下的所有表
在这里插入图片描述

数据分析

接下来就可以正式使用了,右上角各功能如下:
在这里插入图片描述
下面就以具体场景为例,分别解释各项功能,点击创建问题 --》简单查询,先从简单的开始,走一遍整体流程
在这里插入图片描述

简单查询

假设我要对一张名为customer_group_info的客户群表做多个维度的分析,表结构与测试记录如下:
在这里插入图片描述
需求场景如下:

  1. 根据status状态字段做聚合,查看各个状态下的客群数
  2. 根据insert_time创建时间字段对客群做趋势分析
  3. 筛选出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时,查询出指定客群类型
在这里插入图片描述

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

管理员操作

添加数据库

  1. 点击设置,切换为管理员,进入管理员页面
    在这里插入图片描述
  2. 选择 数据库 --> 添加数据库
    在这里插入图片描述
  3. 填写数据库信息, 填写完成后保存即可
    在这里插入图片描述

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

连接oracle

metabase的默认数据源连接里面是没有oracle选项的,如果要连接oracle,需要单独配置
在这里插入图片描述

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UEVQCOHU-1608544558294)(C:\Users\17391\AppData\Roaming\Typora\typora-user-images\image-20201221172112671.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MhYycIoU-1608544558296)(C:\Users\17391\AppData\Roaming\Typora\typora-user-images\image-20201221172036459.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02ZduREY-1608544558298)(C:\Users\17391\AppData\Roaming\Typora\typora-user-images\image-20201221172311920.png)]

成员管理

邀请新成员

可以在 管理员页面 --》人员 --》 邀请其他人 邀请新用户,并分配用户组,邀请初始密码随机生成
在这里插入图片描述
在这里插入图片描述

权限配置

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

数据权限

数据权限管理页面如下图所示,其中纵轴为所有的数据库,横轴为所有用户组
在这里插入图片描述
权限类型如下:

  • 允许访问数据

    • 没有权限: 无法访问整个数据库
    • 部分权限:可访问指定表
    • 授予不受限制的访问权限:可访问整个数据库
  • sql查询

    • 没有权限: 无法在终端写原生sql
    • 写原始查询语句: 可写sql

文件夹权限

其管理页面如下,纵轴为所有集合,横轴为所有用户组
在这里插入图片描述
权限类型如下:

  • 集合权限
    • 没有权限
    • 查看集合
    • 修改集合

邮箱配置

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

邮箱配置流程如下:
管理员页面 --》设置 --》 邮箱,填写邮件服务器信息与发送者邮箱
在这里插入图片描述
配置好后点击 ”发送测试邮件“,如果管理员邮箱中能收到如下测试邮件,说明邮箱配置成功
在这里插入图片描述

定时任务

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

    1. 回到首页,点击”+“添加新的定时任务
      在这里插入图片描述
    2. 选择集合中的问题
      在这里插入图片描述
    3. 设置定时任务和接收者邮箱,这里要注意你metabase设定的时区对不对,然后就能定时推送分析报告了
      在这里插入图片描述
      收到邮件如下:
      在这里插入图片描述
作者: 
出处: https://blog.csdn.net/he3more/article/details/111811684
posted @ 2021-02-07 12:11  独逸  阅读(5209)  评论(0编辑  收藏  举报