使用NoSQL数据源连接Mongodb数据库步骤如下:
启动Mondodb数据库
先启动Mongodb数据库
创建NoSQL数据源连接到Mongodb数据库
1.在smartbi数据源节点下,新建 NoSQL数据源。
2.进入NoSQL数据源编辑界面,输入名称为“Mongodb示例”数据源,选择驱动程序类型为“Smartbi JDBC for MongoDB”
3.将链接字符串中<>尖括号部分的内容修改为Mongodb数据库的服务器名称(或IP)、端口号及连接的数据库名称,如下:
修改前:
修改后:
4.输入Mongodb数据库的用户名和密码,本示例中该数据库没有密码,因此无需输入
5.点击右下角 测试连接 ,验证Mongodb数据库是否能够正常连接上。如下:
6.点击保存,如下:
数据库管理
1.在MongoDB示例数据源上 右键 > 数据库管理,进入数据库管理界面
2.选中表,映射到smartbi系统中
在“可用数据库资源”中选中要映射到smartbi中的表,然后点击红框中的按钮,将表添加到smartbi中。或者直接双击表,添加到smartbi中
3.点击 保存 ,如下:
使用Mongodb示例数据源
由于现在可以找到的MongoDB jdbc驱动并不是官方编写的,支持的SQL语法太少,难以支撑Smartbi中的各种查询,因此Mongodb数据源仅支持创建原生SQL数据集,之后基于原生SQL数据集创建电子表格、透视分析报表等。
并且要求在原生SQL中书写的数据集脚本必须是用Mongodb数据源的脚本。
如下,使用Mongodb示例数据源创建原生sql数据集。
1.在资源定制目录上右键 > 新建数据集 > 原生SQL数据集
2.在弹出的数据源选择窗口中,选择前面创建的Mongodb示例数据源
3.进入原生SQL数据集编辑界面,在SQL编辑区域输入如下语句:
return db.orders.find({}, {'CategoryName' : 1, 'ShipRegion' : 1,'ShipCity' : 1,'Quantity':1,'UnitPrice':1 }).toArray(),该语句是Mongodb的查询脚本,表示查询orders表中的数据
4.预览数据,如下:
5.在右侧输出字段上右键 > 检测输出字段
6.如下,保存该数据集
7.之后使用该数据集,进行电子表格报表等的制作即可。
注意:如果使用该数据集创建透视分析,由于透视分析需要进行聚合等一系列复杂的运算,因此系统默认会将数据进行抽取。即默认勾选了“数据抽取到临时表”,如下: