metabase使用教程

新系统使用时进入会有一个欢迎页面,按照页面提示进行账户的注册,因为注册过程比较简单,按照提示即可,所以不再做详细介绍
登陆后会进入一个主页面
在这里插入图片描述
下面我们根据页面内容一个个介绍,这个是中文的(没有进行任何设置),如果英文,功能应该差不多,只是语言上的差别

一,介绍

1,metabase是什么

Metabase是一款开源的BI工具。
官网地址是:https://www.metabase.com/ ,参考其官网介绍的:

Metabase is the easy, open source way for everyone in your company to ask questions and learn from data.

翻译过来就是:公司中的每一个人都可以使用Metabase这一个易用,开源的方法来探索、学习公司的数据。Metabase是一个简单功能强大的分析工具,每一个人学习、决策他们公司的数据。没有技术专业需求。希望你们爱上它。

2,metabase能做什么

可以利用Metabase进行数据分析,数据可视化,报表生成等等。

二,创建问题

在Metabase中最为核心的两个概念就是问题和问题对应的答案(可以理解为你需要查询得数据,和这些数据对应的展示),其余的都是建立在这两个概念之上的。
在Metabase中创建问题的方法有三种:

  • 基于现有的指标;
  • 利用问题生成器;
  • 使用SQL查询器;
    也就是下边我们点击创建问题得三个选项,由于是中文版的,所以也比较容易理解,英文版的也是一一对应,其中原生查询就是自己写sql语句进行相关信息的查询,不过如果条件不是很复杂,自定义查询就能满足我们的要求,这里我们主要讲自定义查询:
    在这里插入图片描述
    点击自定义查询后可以选择数据库和问题,因为我创建过问题,所以有第二个选项,第二个选项可以对问题进行编辑,第一个选项通过图标可以知道是数据库,这个数据库是系统自带的样本数据库,可以让我们用来进行测试或练习
    在这里插入图片描述
    然后我们选择要操作的表,这几个表都是系统自带数据库中的样本表,这里我们说下我们这次要创建的问题内容:查询近30天每个产品类别的订单总量,这个问题涉及到两张表,也就是订单表和产品表(orders和products),我们先选择订单表
    在这里插入图片描述
    之后进入以下页面,图片中有几个元素,过滤器,聚合和选择分组的列,下面我们根据问题内容一个个介绍
    在这里插入图片描述
    首先是我们要统计近30天的数据,所以这里我们要用到过滤器了,点击后我们选择我们要过滤的字段,这些字段都是我们选择的orders表中的字段,因为是近30天创建的,所以我们选择表中的创建时间字段(created at)
    在这里插入图片描述
    选择创建时间字段后,会有一个下边的小框,中文都理解,英文也是这样,我们点击添加过滤器就可以添加成功了
    在这里插入图片描述
    我们再把问题贴过来一次:查询近30天每个产品类别的订单总量,每个产品类别,因为orders表中只有产品id编号,没有类别字段,但是产品表中有产品类别字段,所以我们要想办法将两个表关联起来,当然也有这个功能,如下图,点击关联按钮,同样是先选择数据库,咱选择表,我不过这次我们要关联的是产品表,所以我们关联产品表,这里就不再贴图了

在这里插入图片描述
关联产品表后会有下边这个关联框框,这样我们的关联就完成了:
在这里插入图片描述
接下来继续看问题,产品类别的订单总量,这样我们就用到了聚合,挺深奥的名字,就是一些查询条件,我们点击查看指标,因为是订单总量,也就相当于我们查询出来的订单行数,这里我们选择总行数
在这里插入图片描述
选择总行数后,因为我们要产品类别的订单量,也就是按类别进行分组,这个分组内的订单行数这个懂sql的可能更容易理解,我们选择产品表中的category(类别),这样就按类别进行分组了
在这里插入图片描述
我们这个问题内容到这里也就完毕了,那么我们怎么让他按我们希望的图标格式进行显示呢,点击下边的可视化按钮
在这里插入图片描述
点击后我们进入下边页面,我已经用箭头标出了,注意我们在进行可视化选择图表时一定要选择合适的图表,不同图表适合展示不同的问题,这里我们选择
在这里插入图片描述
我们选择柱形后点击以图表形式展示,并打开设置按钮,则可以进行相关的设置,这样我们查询近30天每个产品类别的订单总量就统计出来了,我们点击右上角的保存就可以对问题进行保存了
在这里插入图片描述
这里我们可以填写我们的问题名称,描述,以及放到那个集合中,点击保存进行保存
在这里插入图片描述
上边保存后我们也可以根据提示放到仪表盘中,下边是我放到仪表盘后,第二个就是我们刚才创建的问题了,已经放倒了仪表盘中(注意要点击右上角的保存)
在这里插入图片描述

这里我们需要注意的是:无论是自定义查询还是原生查询,我们的y轴只能是mysql自带函数,比如上边计数就是count(*),如果我们在这些基础上进行加减乘除得到的数据是不能做y轴的,感觉这也是metabase需要改进的地方

三,流量数据

流量数据就是我们系统中添加了哪些数据库,这里我们只有一个系统自带的样本数据库,我们可以点进去查看数据库中各个表的内容,不再详细介绍
在这里插入图片描述

四,设置

我们点击主页右上角的设置按钮,我们可以从管理员选项设置系统相关信息,可以从关于metabase看到当前系统版本号,我们主要介绍管理员中的相关设置
在这里插入图片描述
点击管理员设置后进入管理界面,设置邮箱就是添加你的邮箱,然后邀请用户时可以通过邮件进行发送,这里我们主要介绍嵌入到其他应用中的使用
在这里插入图片描述

1,嵌入在其它的应用中

如果需要详细嵌入教程,请查看我这篇文章:metabase嵌入页面教程
嵌入到其他应用中可以允许将我们的图表数据嵌入到其他的系统中,接下来我们看一下步骤:
在这里插入图片描述
点击启用,启用后我们可以在页面看到秘匙,这个秘匙我们要记住,然后我们点击右上角退出管理员进入到主页面,点击浏览所有

在这里插入图片描述
点击仪表盘,进入我们的仪表盘
在这里插入图片描述
可以看到我们仪表盘中的内容,点击分享并且编辑
在这里插入图片描述
我们点击第三个
在这里插入图片描述
可以看到我们分享的仪表盘,点击代码
在这里插入图片描述
可以看到如何使用nodejs嵌入
在这里插入图片描述
上边提供的方法是nodejs的,那么我们如何使用java来提供接口以供调用返回对应的地址呢,下边贴出代码,前端就可以根据地址进行嵌入了:

package com.example.controllers.dashboard;
 
import org.springframework.security.jwt.Jwt;
import org.springframework.security.jwt.JwtHelper;
import org.springframework.security.jwt.crypto.sign.MacSigner;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
@RequestMapping(value = {"/dashboardUrl"})
public class DashboardController {
    private final String METABASE_SITE_URL = "http://somehost/metabaseUrl";  //你的metabase所处ip地址
    private final String METABASE_SECRET_KEY = "SOME_SECRET_KEY";  //秘匙
 
 
    @GetMapping("")
    public DashboardParams indexAction() {
        Jwt token = JwtHelper.encode("{\"resource\": {\"dashboard\": 1}, \"params\": {}}", new MacSigner(METABASE_SECRET_KEY));
        String url = METABASE_SITE_URL + "/embed/dashboard/" + token.getEncoded() + "#theme=night&bordered=true&titled=true";
        return new DashboardParams(url);
    }
 
    class DashboardParams {
        private String url;
 
        public DashboardParams(String url) {
            this.url = url;
        }
 
        public String getUrl() {
            return url;
        }
 
        public void setUrl(String url) {
            this.url = url;
        }
    }
}

点击查看更多github示例

2,人员管理

通过此功能我们可以对人员和分组进行管理
在这里插入图片描述

3,数据模型

通过数据模型我们可以查看数据库中的表结构和对一些字段设置为隐藏,这样这些隐藏字段就不会展示了
在这里插入图片描述

4,数据库

在这个界面我们可以对数据库进行删除,或者点击数据库更改数据库相关信息,以及添加数据库
在这里插入图片描述

5,权限

一般我们添加的用户都会默认分配到所有用户分组,如果一个用户同时所处两个分组,其中一个分组没有sql查询权限,另一个拥有sql查询权限,那么这个用户拥有sql查询权限,即以拥有为主
在这里插入图片描述

6,错误排查

通过错误排查,我们可以查看任务日志等信息,如果出现错误,方便进行错误排查
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章