saiku多维数据引擎自动化创建数据源

pentaho-platform作为pentaho-kettel的管理端,可以集成很多不同的插件类似saiku这种分析报表,saiku下载地址GitHub - OSBI/saiku: Saiku Analytics - The Worlds Greatest Open Source OLAP Browser

saiku多维数据引擎自动化创建数据源_第1张图片

然后用户在saiku中进行拖拽生成数据二维模型等一些导出统计功能,但是saiku的多维数据源都需要在pentaho-platform管理数据源模块中配置,不能实现自动化创建数据源,当想查看某个表模型还需要手动配置,造成极其不便,所以需要替换掉saiku底层数据源olapconnection数据源,根据不同的表不同数据模型,构建成相关联的数据源,当用户跳转到saiku报表页面就可以看到所选的模型的相关字段,然后随意拖拽维度或者指标,查询数据并进行统计分析。

saiku多维数据引擎自动化创建数据源_第2张图片

替换更换olap数据源

在SaikuOlapConnection类中可以找到saiku获取数据源的方法connect(Properties props),我们可以替换掉connection使用自己自定义数据源(获取自定义数据源的方式可以存session或者从全局的缓存中进行取得),获取olapconnection连接方式

String url="jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/test?"user=xxxx&password=xxx;Catalog=\\Users\\ksice\\Downloads\\one\\one.mondrian.xml;JdbcDrivers=com.mysql.cj.jdbc.Driver;"

Class.forName("mondrian.olap4j.MondrianOlap4jDriver");

Connection conn = DriverManager.getConnection(url);

OlapConnection olapConn = conn.unwrap(OlapConnection.class);

只需要对缓存或者session做判断就能判断是否使用自定义数据源,达到选择模型后跳转saiku页面,数据源就已经创建成功。(saiku去掉登录和欢迎页面https://blog.csdn.net/java_and_json/article/details/79467177可参照此文档)这只是一种思路,可以实现saiku即作为插件也可以作为一个独立的模型分析。

你可能感兴趣的:(saiku多维数据引擎自动化创建数据源)