使用可视化数据分析工具metabase入门——原生查询MongoDB数据源

Posted 肖永威

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用可视化数据分析工具metabase入门——原生查询MongoDB数据源相关的知识,希望对你有一定的参考价值。

Metabase是一款开源的BI工具。Metabase 非常注重非技术人员(如产品经理、市场运营人员)在使用这个工具时的体验,让他们能自由地探索数据,回答自己的问题。

Metabase 官网介绍:

  • 整个团队的数据探索
    Metabase只需五分钟即可安装完毕,连接数据库,并以漂亮的可视化方式将其数据呈现在生活中。直观的界面让数据探索仿佛成为人的习惯,不仅仅是分析师和开发人员,也为每个人开放数据。

  • 超越SQL障碍的查询
    使用易于使用的可视化查询生成器,帮助每个人深入研究。它可以处理连接、聚合等的复杂性,使您的团队能够专注于发现他们的下一个见解,而不是通过SQL进行挑选。

  • 分享你的发现
    交互式仪表盘和自动化报告有助于让数据看起来像一项团队运动。高级嵌入选项使您可以轻松地在演示文稿、出版物甚至产品中共享数据。

支持的数据源如下:

目前自带不支持ClickHouse,需要自己加入ClickHouse的Jar驱动,该驱动Jar需要手动加载,在GitHub有同步更新,只是相比于Metabase有一定的滞后性,具体操作请参考后续的与clickhouse对接对接章节。

metabase的核心就是帮助你解答关于数据层面的疑问,以数据产品经理的视角,操作理念就是先“创建问题”;针对创建的问题有三种解答模式:原生查询、 自定义查询、原生查询。

  • 简单查询和自定义查询:就是通过拖拉拽的方式,让不具备sql功力的用户也能实现数据探索,数据报表,再把可视化的结果保存到仪表盘,也可以将创建问题先保存到某个目录下,后续再添加到仪表盘;
  • 原生查询,对于开发人员来说就是编写sql查询,可以写SQL语句,再做成可视化,直接保存到仪表盘,也可以先当创建问题先保存到某个目录下,后续再添加到仪表盘。

官网地址是:https://www.metabase.com/

1. 启动metabase

依赖环境:

D:\\Program Files\\metabase>java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

启动命令:

java -jar metabase.jar

metabase默认端口是3000,打开链接http://localhost:3000

2. 创建问题

本文基于Mongo DB为例实践matebase的使用,将以“原生查询”为入门经历记录。

(1)首先,“选择一个数据库“”,本案例的数据库名称为ccm,接着“选择一个表单”,表单名称为“Customerfeature”,进入自定义查询语句编辑状态。

(2)在编辑框中输入查询语句,点击执行按钮。

[
{ $match : {"initdate":{"$gt" :20200910} ,'lateststatus':{'$ne':3},'trans_sum':{'$lte':5}}},
{'$project':{'begindate':{$toString:'$initdate'},'occurtime':'$occurtime','amountmean':'$amountmean','carduser_id':'$carduser_id'}},
{'$project':{'begindate':{$dateFromString:{dateString:{$concat:[{$substr:['$begindate',0,4]},'-',{$substr:['$begindate',4,2]},'-',{$substr:['$begindate',6,2]}]}}},
             'occurtime':'$occurtime','amountmean':'$amountmean','carduser_id':'$carduser_id'}},
{"$group":{'_id': "$carduser_id",occurtime:{"$max":"$occurtime"},data:{$first: '$$ROOT'}}},
{"$project":{'_id':0,'carduser_id':'$_id','amountmean':'$data.amountmean','occurtime':'$data.occurtime','yearmonth':  
    {$dateToString: { format: "%Y%m", date: '$data.begindate' }} }},
{"$group":{'_id': "$yearmonth", "amountsum":{"$sum":"$amountmean"},"newcount":{"$sum":1}}},
{"$sort":{"_id":1}}
]


(3)执行成功,则返回数据列表,这时可以点击右上角的“保存”操作,如下所示写入问题名称,并进行描述(可选)。

(4)可视化编辑
点击图中下面的“可视化”按钮,选择左上方的“线段”按钮,经过一系列设置形成如下图表。

(5)设置
点击图中下面的“设置”按钮,左侧出现如图所示四个选项:显示、坐标轴、标签、数据。

根据数据,分别设置显示、坐标轴、标签、数据内容,如下图所示。

其中,修改标签:

  • 对应数据项:

    • amountsum,显示为月均消费额
    • churncount,显示为流失数量
    • _id,对应标签为年月
  • 线条样式显示选择平滑曲线。

3. 总结

轻松浏览数据,即使你不是分析师,Metabase也能让你感觉自己是分析师。通过此工具,可以让数据分析师、算法工程师专注数据分析算法和解决问题,不再为数据可视化展现烦恼。

参考:
[1]. ╭⌒若隐_RowYet. Metabase——开源的大数据分析探索、可视化报表神器. CSDN博客, 2021.07
[2]. 肖永威. MongoDB高级查询多级分组聚合及时间计算应用实践案例. CSDN博客, 2021.10

以上是关于使用可视化数据分析工具metabase入门——原生查询MongoDB数据源的主要内容,如果未能解决你的问题,请参考以下文章

Metabase简介

Metabase——开源的大数据分析探索可视化报表神器

Metabase——开源的大数据分析探索可视化报表神器

Metabase的基本使用:10分钟快速入门

Metabase的基本使用:10分钟快速入门

MetaBase