本示例所用的驱动如下:
创建MongoDB数据源
1、打开Smartbi系统,选择 数据连接 > NoSQL数据库 > MongoDB,弹出“新建NoSQL数据源”窗口。
1)创建MongoDB数据源连接前,需要先启动MongoDB数据库;
2)如果MongoDB的部署方式为副本集群方式,那么连接时只支持连接主节点,不支持连接从节点。
2、配置“新建NoSQL数据源”窗口里需要填的信息。
如果MongoDB数据库启用了安全校验,即需要用用户名和密码登录才可以连接。本示例中该数据库没有密码,因此无需输入。
3、点击 测试连接,确认与MongoDB数据库连接成功。
4、点击 保存,将MongoDB数据源保存在指定位置,即可成功创建NoSQL数据源连接到MongoDB数据库。
数据库管理
1、在MongoDB示例数据源的更多菜单中选择 数据库管理,进入数据库管理界面,将所需的数据库资源拖拽到已选数据库资源。
2、拖拽所需的数据库资源到已选数据库资源,如下图:
3、点击 保存 ,如下:
使用MongoDB数据源
由于现在可以找到的MongoDB jdbc驱动并不是官方编写的,支持的SQL语法太少,难以支撑Smartbi中的各种数据集。
因此MongoDB数据源仅支持创建原生SQL数据集,之后再基于原生SQL数据集创建电子表格、透视分析报表等。
下面演示使用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、之后便可以使用该数据集,进行电子表格、透视分析等报表的制作。
如果使用该数据集创建透视分析,由于透视分析需要进行聚合等一系列复杂的运算,因此系统默认会将数据进行抽取。即默认勾选了“数据抽取到临时表”,如下: