官方介绍:用最简单、快速的方式让你们公司的每一位拥有商业智能与分析。
MetaBase 介绍Metabase 采用“问问题”的方式实现一个数据探索 , 结果可以保存并发布为 Dashboard , 对于复杂的问题 提供了 SQL查询
“问题”- 自定义表达式
- 聚合和函数
- 可视化
- 基于一个问题提出一个新的问题
- 多表连接
-
定义变量
-
SELECt count(*) FROM products WHERe category = {{cat}}
-
-
设置 SQL 变量并可以向URL添加值
-
添加到Dashboard
- 筛选器
- 订阅
- 钻取功能 , 对单个图表做进一步的探索
- 组合图表
- 当某个图表的值达到阈值的时候 , 可以通过发送电子邮件和Slack
- 自定义数据集
- 模型动态创建派生表
- 单点登录
- 团队协作
- 会话过期
-
权限组 , 可以可以在多个组里
-
数据权限
-
集合权限
-
SQL代码段权限
- 提供 “问题” 和 Dashboard 的公共连接
- API提供
- 自定义地图
如何使用OLAP模型方便生成图表 实现楼宇系统中能源多维分析 每天耗电量
- 如何使用OLAP模型方便生成图表
- MetaBase如何嵌入到外部应用当中
- 如何扩展地图 , 以及能否自定义地图
- 问题生成器能否帮助到我们什么
- 让耗电事实表中的DataDimId 关联时间维度的 DimensionId
- 通过聚合日期维度表里面的月份和天
按楼栋分析耗电量
- 添加到仪表盘
楼层维度中是按最细粒度并且是扁平化的数据 , 每个耗电的值都是到层的
第一层关联 :
事实表中的维度ID关联楼层维度中的DimensionID
第二次关联 :
用第一次的关联得到的BuildingID去关联新的楼ID
耗水相关 实现下钻功能最终得到上一层的楼栋的值
比如按月统计,点击某月能跳转到该月每天的数据
实现方式 : 对每月耗水量添加一个自定义目的地 , 跳转到一个叫做 “某月每天的耗水量图表”
- 比如点击5月的时候
- 会跳转到五月的详情
- 同理还可以下钻到 在点某一天的时候 , 把这一天每小时的耗水量显示出来
合并两个保存的问题
在编辑仪表板时 , 可以添加系列进行多个问题的合并
MetaBase如何嵌入到外部应用当中进入管理员后台启用嵌入
- 启用之后会生成一个密钥 用于API请求
- 通过一段代码段 嵌入到webApp当中
注意 : MetaBase的开源版本只允许嵌入独立图表或仪表板 , 如果想为用户提供更具互动性、可浏览性的体验则需要将MetaBase全应用嵌入
但是此功能仅在专业版和企业版中才能使用
Models的使用当你在添加完数据库后, 可能绝大部分表是不需要使用的,
并且表字段意义可能不明确,非专业人员使用可能不知所意,
所以你需要对你的数据库进行编辑,将不要使用的表隐藏起来,将表字段起一个别名。
-
备份H2数据库 docker cp metabase:/metabase.db/metabase.db.mv.db ./
-
停止现有的MetaBase容器
-
下载 JAR 下载的版本确保和现在用的版本是一致的
-
运行迁移命令
-
export MB_DB_TYPE=mysql export MB_DB_CONNECTION_URI="jdbc:mysql://localhost:3306/metabase?user=root&password=xxxxxx" java -jar metabase.jar load-from-h2 /path/to/metabase.db # do not include .mv.db
-
-
删除以前的容器 , 并启动一个新的Docker容器,使用新的数据库
-
docker run -d -p 3000:3000 -e "MB_DB_TYPE=mysql" -e "MB_DB_DBNAME=metabase" -e "MB_DB_PORT=3306" -e "MB_DB_USER=root" -e "MB_DB_PASS=xxxxx" -e "MB_DB_HOST=192.168.50.173" --name metabase metabase/metabase
-
-
- 备份MetaBse, 将docker中的metabase.db复制出来 , 如果是数据库连接的请忽略,不是数据库连接的先设置成数据库连接,参考 “迁移MetaBase的H2数据库”
- docker cp metabase:/metabase.db/metabase.db.mv.db ./
-
- 停止当前的 Docker 容器 docker stop metabase
-
- 拉取最新的MetaBase Docker 镜像: docker pull metabase/metabase:latest
-
- 删除之前的容器 docker rm metabase
-
- 启动新的 Docker 容器
-
docker run -d -p 3000:3000 -e MB_DB_CONNECTION_URI="jdbc:mysql://192.168.50.173:3306/metabase?user=root&password=xxxxx" --name metabase metabase/metabase:latest
启动时,Metabase 将自动执行升级。Metabase 完成升级后,将运行新版本。
-
- 查看日志 docker logs -f metabase
-
- 进入页面
参考官方文档



