使用可视化数据分析工具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数据源的主要内容,如果未能解决你的问题,请参考以下文章