metabase详细使用教程

metabase详细使用教程,第1张

metabase详细使用教程

metabase 详细使用教程

1. 简介及安装使用

1.1. metabase简介1.2. 安装步骤 2. metabase入门

2.1. metabase登录及配置 3. 样本数据库实 *** 案例

3.1. 样本数据库数据结构3.2. 实 ***

3.2.1. 原生查询中三种变量的使用方法3.2.2. [简单查询与自定义查询]简述、查询结果二次加工3.2.3. 仪表盘创建

1. 简介及安装使用 1.1. metabase简介

metabase主要功能创建数据集、在线可视化分析、生成分析图表、构造dashboard、定时任务报表、数据分析模型、订阅发布、分享、安全验证、权限管理、任务管理等等优势。

官网学习地址:metabase参考文档
对应语法学习地址:clickhouse参考文档

1.2. 安装步骤

第一步 下载metabase压缩文件,无需解压:metabase.jar

第二步 下载java文件:java,而后添加环境变量, *** 作步骤见该链接:java安装教程
第三步 metabase.jar文件夹路径下输入cmd,输入java -jar metabase.jar,网页端输入http://localhost:3000/,注册登录后即可 *** 作metabase



示例:

2. metabase入门 2.1. metabase登录及配置

配置metabase:Setting up教程-metabase源文档
首页界面:

通常通过创建问题,使用查询语句来获取数据信息,而后通过仪表盘连接,形成一份报表可视化模板

3. 样本数据库实 *** 案例 3.1. 样本数据库数据结构

首先选择样本数据库:SAMPLE DATASET

先了解下表结构

表名表功能Orders订单字段注释IDidUserID用户IDProductID产品idSubtotal产品费用Tax税收费用Total总费用Discount($)折扣Created At创建时间Quantity订单量 表名表功能People人员信息字段注释ID用户idAddress地址Email邮箱Password密码Name姓名City城市Longitude经度State州Source来源Birth Date生日Zip邮编Latitude纬度Created At创建时间 表名表功能Products产品字段注释ID产品idEan编号Title标题Category类目Vendor公司Price价格Rating产品星级Created At创建时间 表名表功能Reviews评论字段注释IDidProductID产品idReviewer评论人Rating评论星级Body内容Created At创建时间

了解样本四张表之间的关联(方便后期做关联匹配)

表名表名表名表名OrdersPeopleProductsReviews字段字段字段字段UserID匹配IDProductID匹配IDProductID 3.2. 实 *** 3.2.1. 原生查询中三种变量的使用方法

示例:获取用户Hudson Borer(用户id为1)个人信息及该用户购买的产品信息
思路:用Orders表UserID和ProductID去分别匹配People表ID和Products表ID,来获取相应数据

'''1、查询Hudson Bore这个顾客总共下单量'''
SELECt t1.*,t2.`订单量`
FROM
    (
    SELECt 
        ID as `用户id`,
        Name as `姓名`
    FROM People
    WHERe Name='Hudson Borer'
    GROUP BY `用户id`,`姓名`
    ORDER BY `用户id`
    ) as t1
LEFT JOIN 
    (
    SELECt 
        USER_ID as `用户id`,
        sum(Quantity) as `订单量`
    FROM Orders 
    GROUP BY `用户id`
    ORDER BY `用户id`
    ) as t2
    on t1.`用户id`=t2.`用户id`    

1、查询结果

'''也可把Name变成变量来编辑,进而可以添加字段过滤器,例如'''
SELECt t1.*,t2.`订单量`
FROM
    (
    SELECt 
        ID as `用户id`,
        Name as `姓名`
    FROM People
    WHERe Name={{Name}}
    GROUP BY `用户id`,`姓名`
    ORDER BY `用户id`
    ) as t1
LEFT JOIN 
    (
    SELECt 
        USER_ID as `用户id`,
        sum(Quantity) as `订单量`
    FROM Orders 
    GROUP BY `用户id`
    ORDER BY `用户id`
    ) as t2
    on t1.`用户id`=t2.`用户id`

metabase界面显示为:

可能遇到的问题1. 未添加变量,显示器会报错,缺少变量参数

解决方案1、:在上方的过滤字段器内添加People中变量即可

解决方案2、:将代码块中

WHERe Name={{Name}}

改成可选变量即可,

[[WHERe Name = {{Name}}]]

*** 作如下

SELECt t1.*,t2.`订单量`
FROM
    (
    SELECt 
        ID as `用户id`,
        Name as `姓名`
    FROM People
    [[WHERe Name = {{Name}}]]
    GROUP BY `用户id`,`姓名`
    ORDER BY `用户id`
    ) as t1
LEFT JOIN 
    (
    SELECt 
        USER_ID as `用户id`,
        sum(Quantity) as `订单量`
    FROM Orders 
    GROUP BY `用户id`
    ORDER BY `用户id`
    ) as t2
    on t1.`用户id`=t2.`用户id`

metabase显示界面(这种方式会把所有客户信息全筛选出来)

若想查看某两个人或多名指定客户的信息,可将变量

WHERe Name={{Name}}

改为

WHERe {{Name}}

同时将字段映射到对应的报表字段中,即可,如下

SELECt t1.*,t2.`订单量`
FROM
    (
    SELECt 
        ID as `用户id`,
        Name as `姓名`
    FROM People
    WHERe {{Name}}
    GROUP BY `用户id`,`姓名`
    ORDER BY `用户id`
    ) as t1
LEFT JOIN 
    (
    SELECt 
        USER_ID as `用户id`,
        sum(Quantity) as `订单量`
    FROM Orders 
    GROUP BY `用户id`
    ORDER BY `用户id`
    ) as t2
    on t1.`用户id`=t2.`用户id`

metabase显示界面

以上介绍了metabase中原生查询方式添加变量的三种方式,下面汇总下三种 *** 作方式 metabase变量 *** 作完整文档

'''原生查询中的变量允许使用筛选组件或URL参数来动态替换查询中的值。

变量
{{variable_name}}在此查询模板中创建一个名为“ variable_name”的变量。可以在侧面板中为变量指定类型,
从而更改其行为。除“字段过滤器”以外的所有变量类型都将自动导致将过滤器小部件放置在此问题上;
对于字段过滤器,这是可选的。填写此过滤器小部件后,该值将替换查询模板中的变量。'''

# Example:
SELECt count(*)
FROM products
WHERe category = {{category}}

'''字段过滤器
通过为变量指定“字段过滤器”类型,您可以将问题链接到仪表板过滤器小部件,或在SQL问题上使用更多类型的过滤器小部件。
在现有列上添加过滤器时,“字段过滤器”变量将插入与GUI查询构建器生成的SQL相似的SQL。

添加“字段过滤器”变量时,您需要将其映射到特定字段。 然后,您可以选择在问题上显示过滤组件,但即使不这样做,
现在可以在将此问题添加到仪表板时将“字段过滤器”变量映射到仪表盘过滤器。 字段过滤器应在“WHERe”子句中使用。'''

# Example:
SELECt count(*)
FROM products
WHERe {{created_at}}

'''可选条款
[[{{variable}}]]周围的括号在模板中创建可选子句。 如果设置了“variable”,则将整个子句放入模板中。 
如果不是,则忽略整个子句。'''

# Example:
SELECt count(*)
FROM products
[[WHERe category = {{category}}]]

'''要使用多个可选子句,您可以包含至少一个非可选WHERe子句,接着以“AND”开头的可选子句。'''

# Example:
SELECt count(*)
FROM products
WHERe 1=1
  [[AND id = {{id}}]]
  [[AND category = {{category}}]]

'''当某字段被用作筛选条件后, SQL语句中不应再包含该列明. 相应的在侧边栏上, 变量应该映射到一个字段上。'''

#Example:
SELECt count(*)
FROM products
WHERe 1=1
  [[AND {{category}}]]
3.2.2. [简单查询与自定义查询]简述、查询结果二次加工

*** 作界面,使用非常简单,只需将自己想要获取的信息用鼠标点一点就可得到,无需数据库语法基础,适合小白使用(仅适合较为简单的查询语句)

点击自定义查询左下方可视化后,显示如下


此外,在可视化方法中,亦可选择折线图、柱状图、组合图、条形图等,此处不再赘述

3.2.3. 仪表盘创建

获取这样一份可视化仪表盘界面,如何 *** 作

第一步,创建仪表盘
metabase右上角加号"+",可创建仪表盘

点击创建新仪表盘,如下

第二步 创建仪表盘细节

2.1 先创建过滤器

*** 作如下(按步骤 *** 作后,点击保存即可):

2.2 添加文本

*** 作如下(按步骤 *** 作后,点击保存即可)

2.3 添加问题(左上为地图、右上为柱状图、左下为数字、右下为折线图)
2.3.1 地图(先写好sql语句,再加入到仪表盘中)
实现功能:显示各个州每个类目的订单量

SELECt 
    People.State,
    SUM(Orders.Quantity) as `订单量`
FROM Orders
LEFT JOIN 
    People
    on Orders.USER_ID = People.ID
LEFT JOIN 
    Products 
    on Orders.PRODUCT_ID = Products.ID 
WHERe 
   {{State}}
   and {{Category}}
GROUP BY People.State
ORDER BY People.State

metabase *** 作界面
其一,sql语句及其设置

其二,添加到仪表盘中

其三,过滤器和地图集关联匹配,匹配完成后点击右下角完成

其四,用地图集去和过滤器进行匹配,点击地图集右上角按钮点击行为,只需匹配State字段, *** 作完成后保存

2.3.2 柱状图
实现功能:每个类目对应的订单量
*** 作和地图集一模一样,只需将Orders by state这个先前的问题复制一份,更改可视化界面即可, *** 作如下( *** 作完成后记得保存)

而后将柱状图添加到仪表盘中, *** 作和地图集一模一样,此处不再赘述,(唯一的区别是最后点击行为处匹配的是Category而非State字段)

2.3.3 数据
实现功能:每个州每个类目对应的总订单量,仅显示数据
*** 作同上,复制柱状图的问题,更名为Count of Orders

'''代码块删除以下三行'''
Products.Category
GROUP BY People.State,Products.Category
ORDER BY People.State,Products.Category

*** 作完成后点击保存,添加仪表盘 *** 作与以上雷同,此处不再赘述

2.3.4 折线图
实现功能:观察每月的销量情况

SELECt 
    parsedatetime(formatdatetime(ORDERS.CREATED_AT, 'yyyyMM'), 'yyyyMM') AS `CREATED_AT`,
    SUM(Orders.Quantity) as `订单量`
FROM Orders
LEFT JOIN 
    People
    on Orders.USER_ID = People.ID
LEFT JOIN 
    Products 
    on Orders.PRODUCT_ID = Products.ID 
WHERe 
   {{State}}
   and {{Category}}
GROUP BY `CREATED_AT`
ORDER BY `CREATED_AT` ASC

查询语句写好后,添加到仪表盘中,而后过滤器关联该折线图即可,
这样一份动态仪表盘就完成了。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5700237.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存