• 开源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:Users17391AppDataRoamingTypora	ypora-user-imagesimage-20201221172112671.png)]

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MhYycIoU-1608544558296)(C:Users17391AppDataRoamingTypora	ypora-user-imagesimage-20201221172036459.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02ZduREY-1608544558298)(C:Users17391AppDataRoamingTypora	ypora-user-imagesimage-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:Users17391AppDataRoamingTypora	ypora-user-imagesimage-20201221172112671.png)]

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MhYycIoU-1608544558296)(C:Users17391AppDataRoamingTypora	ypora-user-imagesimage-20201221172036459.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02ZduREY-1608544558298)(C:Users17391AppDataRoamingTypora	ypora-user-imagesimage-20201221172311920.png)]

    成员管理

    邀请新成员

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

    权限配置

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

    数据权限

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

    • 允许访问数据

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

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

    文件夹权限

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

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

    邮箱配置

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

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

    定时任务

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

      1. 回到首页,点击”+“添加新的定时任务
        在这里插入图片描述
      2. 选择集合中的问题
        在这里插入图片描述
      3. 设置定时任务和接收者邮箱,这里要注意你metabase设定的时区对不对,然后就能定时推送分析报告了
        在这里插入图片描述
        收到邮件如下:
        在这里插入图片描述
    作者: 
    出处: https://blog.csdn.net/he3more/article/details/111811684
  • 相关阅读:
    spring框架学习(六)AOP
    spring框架学习(五)注解
    spring框架学习(三)
    spring框架学习(四)自动装配
    spring框架学习(二)依赖注入
    解决Photoshop不支持webp格式图片问题
    计算机导论-5、6
    计算机导论-3、4
    计算机导论-1、2
    Android SDK Manager国内下载缓慢的问题
  • 原文地址:https://www.cnblogs.com/qingzhenduyi/p/14384465.html
Copyright © 2020-2023  润新知