文章目录

  • 简介
  • 安装
  • 初始配置
  • 数据分析
    • 简单查询
      • 创建场景
      • 创建集合和仪表盘
    • 自定义查询
    • 原生查询
      • sql变量
      • 动态sql片段
  • 管理员操作
    • 添加数据库
      • 连接oracle
    • 成员管理
      • 邀请新成员
    • 权限配置
      • 数据权限
      • 文件夹权限
    • 邮箱配置
    • 定时任务

简介

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

安装

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

java -jar metabase.jar

这里需要注意的是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'

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

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

问题上方会多出一个文本框,在文本框中输入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 -- 该条件为可选条件

那就可根据条件来动态拼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}}]]

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

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

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

管理员操作

添加数据库

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

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

连接oracle

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

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

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

成员管理

邀请新成员

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

权限配置

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

数据权限

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

权限类型如下:

  • 允许访问数据

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

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

文件夹权限

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

权限类型如下:

  • 集合权限

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

邮箱配置

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

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

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

定时任务

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

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

    收到邮件如下:

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

  1. 开源BI报表工具Metabase初体验

    概述 一款开源BI工具,后端是用clojure开发的.官网,GitHub. 安装 安装非常简单,以metabase.jar包(后文简称jar包)方式分发.在GitHub Release页面下载最新版即 ...

  2. 外部工具连接SaaS模式云数据仓库MaxCompute实战:商业BI分析工具篇

    简介:MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速.全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运 ...

  3. 推荐5个好用的开源日志分析工具 (转载)

    监控网络活动可能是一项单调而乏味的工作,但你有充分的理由要这样做.首先,它可以帮助你查找和调查工作站.连网设备和服务器上的可疑登录,同时确定管理员滥用的源头.还可以跟踪软件安装和数据传输,以便实时识别 ...

  4. 最好用的开源日志分析工具

    监控网络活动既重要又繁琐,以下这些工具可以使它更容易. 监控网络活动是一项繁琐的工作,但有充分的理由这样做.例如,它允许你查找和调查工作站和连接到网络的设备及服务器上的可疑登录,同时确定管理员滥用了什 ...

  5. 5 个必备有用的开源日志分析工具

    监控网络活动可能是一项单调而乏味的工作,但你有充分的理由要这样做.首先,它可以帮助你查找和调查工作站.连网设备和服务器上的可疑登录,同时确定管理员滥用的源头.还可以跟踪软件安装和数据传输,以便实时识别 ...

  6. BI分析工具选型:从PowerBI到FineBI的9个理由!

    现如今,在谈到商业智能(BI)分析工具时,目前国外主要的两个行业领导者分别是微软的PowerBI和Tableau.根据著名国际咨询公司Gartner公布的2017年度北美BI魔力象限报告中内容指出,微 ...

  7. QlikSense导入oracle数据,【主流BI分析工具对比】12款顶级BI分析工具最佳用例

    如今的市面上充盈着商务智能(BI)工具,可以解决所有类型业务与行业日益增长的分析需求.然而,哪款(或哪些)分析工具值得购买呢? 在本文中,通过检验来自12家顶级厂商的BI分析工具:Birst.IBM. ...

  8. BI分析工具软件有哪些

    最近发现很多人讨论BI数据分析,今天给大家全面介绍下BI数据分析相关的信息. 首先给大家科普一下,什么是BI分析. BI分析其实是指通过BI分析工具,对企业内部和外部的大量数据进行收集.整理.处理和分 ...

  9. 思迈特软件Smartbi:BI分析工具怎么用

    高效完成基础数据分析 BI分析工具怎么用?在日常的数据分析中,有大量的每隔一段时间就需要进行的数据分析.这类型的数据分析报表整体架构基本一致,只是每个月的具体数据有所不同,只需要替换数据源就能完成. ...

最新文章

  1. ​他被称为印度“ IT 大王”,富可敌国,却精打细算如守财奴
  2. 100个vc小项目开发:二、一步一点设计音乐播放器 [I]
  3. 出错处理函数abort、exit、atexit、strerror
  4. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast
  5. 【图文并茂】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM的总结
  6. mariadb用户群体mysql_MySQL/MariaDB用户账户管理
  7. 高程5.7单体内置对象 5.8小结
  8. Python使用UDP协议打造在线时间服务器
  9. python学来干什么-学python出来到底能干嘛
  10. 弦图与完美消除序列(bzoj 1006: [HNOI2008]神奇的国度)
  11. 学计算机专业选择设计为类需要艺考,想学设计必须参加艺考吗?设计学类专业,新高考选科怎么选?...
  12. 免费源码赠送之 printf(C语言简化版)
  13. 【操作系统】为什么需要内核
  14. 办公软件是计算机吗,什么是办公软件_IT /计算机_资料
  15. 运用PS做图片快捷键
  16. 浅析ERP系统--质量
  17. PoetryGenerator的参数
  18. python读取20万数据Excel文件+拆分数据
  19. EFM32G232F64时钟树
  20. 移动安全--23--其他Android安全知识总结

热门文章

  1. 冰封王座人工只能_魔兽争霸3冰封王座不会玩?怎样玩?新手教程
  2. 使用doc4j生成word文档
  3. java--项目1->家庭收支表
  4. 超实用的前端强缓存与协商缓存
  5. Landsat7 产品详情介绍及文件命名规则
  6. Jlink v9虚拟串口功能,不用再单独购买串口线了
  7. nacos报错,.BeanCreationException: Error creating bean with name ‘nacosProperties‘ defined in class
  8. 文件系统(五)—VFS初始化
  9. 我在互联网大厂当鉴黄师:不看黄图敲代码,同事全都是博士
  10. 【50个最受网友欢迎的HTML5资源下载列表】(转载)