说明
在第三方系统中,如何调用Smartbi SDK直接创建透视分析呢?直接调用 ClientInsightService 接口中的方法即可,但在使用时需要注意,除了加载通用的 smartbi jar包,还需要将Insight_sdk.jar也做为项目依赖包。
示例代码
package smartbi.sdk.service.demo; import smartbi.sdk.ClientConnector; import smartbi.sdk.service.insight.ClientInsightService; public class SDKDemo { public void conn() { String connectorURL = "http://localhost:8080/smartbi"; ClientConnector conn = new ClientConnector(connectorURL); try { //第一次调用必须建立一个连接,后续调用则不必再建连接 boolean ret = conn.open("admin", "manager"); if (ret) { ClientInsightService insightService = new ClientInsightService(conn); String bizviewId = " I2c94907127855da201278df551b62602"; String name = "保监会透视分析"; String alias = "保监会透视分析"; String desc = "保监会透视分析"; String folderId = "DEFAULT_TREENODE"; String reportId = insightService.createInsightQuery(bizviewId, name, alias, desc, folderId); } // 所有调用完成后关闭连接 conn.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { SDKDemo sdk = new SDKDemo(); sdk.conn(); } }
API接口
/** * 创建透视分析 * @param businessViewId 业务查询ID * @param name 名称 * @param alias 别名 * @param desc 描述 * @param folderId 保存目录的ID * @return ID 透视分析ID */ public String createInsightQuery(String businessViewId, String name, String alias, String desc, String folderId) { InvokeResult result = connector.remoteInvoke(serviceName, "createInsightQuery", new Object[] { businessViewId, name, alias, desc, folderId }); return (String) result.getResult(); }