页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 3 下一个 »

章简要介绍电子表格如何使用任务实现预缓存。对电子表格提前进行预缓存,以便在界面上第一次打开指定报表时可以快速加载报表

1、查看资源节点ID

  • 找到需要预缓存的电子表格资源,右键点击该资源,查看“属性”。

示范资源路径: “分析展现”下, “分析报表” > “功能演示” > “电子表格” > “常见报表” > “分组报表”

  • 记录下该资源的“节点ID”。

2、清空系统缓存

  • 选择左侧“系统导航栏”内的 “系统运维”,点击“常用工具”菜单栏内的“清空缓存”。

清空系统缓存,避免让报表资源的缓存影响后续校验预缓存配置的步骤


3、创建计划任务

  • 选择左侧“系统导航栏”内的 “系统运维”,点击“常用工具”菜单栏内的“计划任务”。

  • 进入“任务”页签下,新建任务。

  • “新建任务”界面如下

  • 填写任务名称,任务类型选择“定制”,将下方宏代码复制到“自定义设置”区域内,用先前记录下的资源“节点ID”替换掉宏代码指定部分。
importPackage(Packages.smartbi.sdk.service.spreadsheetreport);
importPackage(Packages.java.io);

// 需要缓存的报表
var reportIdList = [];
reportIdList.push("I402882820158093309337420015809fa3f40010e");
// 报表对应的参数,初始为空
var paramsInfoList = [];
//如果不设置参数,则paramsInfo的值必须为空字符串,不能为空数组
paramsInfoList.push("");
var spreadSheetReportService = new SpreadSheetReportService(connector);
for (var i = 0; i < reportIdList.length; i++) {
  var queryResult = spreadSheetReportService.openQuery(reportIdList[i]);
  for (var j = 0; j < paramsInfoList.length; j++) {
    var clientId = queryResult.get('clientId');
    var postData = "refreshType=refresh";
    postData += "&clientId=" + clientId;
    postData += "&resid=" + reportIdList[i];
    postData += "&sheetIndex=" + 0;
    postData += "&pageId=" + 0;
    postData += "&writeBackData=" + "";
    postData += "&exportSheetIndexes=" + "";
    postData += "¶msInfo=" + paramsInfoList[j];
    //postData += "&op=" + '{"getTotalPages":true}'; // 清单报表需要加上这一行代码
    postData += "&exportFormula=" + "";
    connector.download("/vision/ssreportServlet", postData, new ByteArrayOutputStream());
  }
  spreadSheetReportService.closeQuery(reportIdList[i]);
}


  • 替换后代码如下所示

若选择的电子表格资源是清单报表,则需要加上宏代码中的相应语句(将注释符号“//”去掉即可)


  • 点击“测试运行”校验任务,任务测试运行成功便点击“保存”按钮保存任务。

  • 找到刚才创建的任务,点击“执行任务”按钮。


4、监控用户日志信息

  • 点击登录用户,选择“用户日志

  • 进入“用户日志”界面,在“服务器端”页签下,点击“开始监控”,此时开始监控服务器端的日志信息(不要关闭该标签页)


5、检验预缓存配置

  • 打开需要预缓存的电子表格资源

  • 切回“用户日志”标签页,查看日志,当监控内容显示如下则说明预缓存配置成功生效

  • 当报表打开时调用sql查询,则说明预缓存不生效,配置失败

顺序一定要是

  • 清空系统缓存
  • 执行任务
  • 开始监控“用户日志”内服务器端日志
  • 打开报表资源
  • 查看监控日志


  • 无标签