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

(本文档仅供参考,请根据实际情况进行调整)

问题:

参考计划任务实现电子表格预缓存操作

1、如果报表有参数(参数有默认值) ,这里初始为空是缓存默认值吗?

2、要缓存指定参数值,格式要怎么写呢,一个参数可以缓存多个值吗,可以的话,格式是怎么样的?

3、如果参数是一个业务日期,每次都要取最新当天的业务日期该如何写?

解决方案:

1、初始为空不是缓存默认值,如果不设置值,对于全部参数是可选参数的报表是查询全部数据,对于无参数的报表则是正常刷新逻辑,但对于参数不允许为空(必选参数)的报表,初始为空去执行任务预缓存是会报错的。

2、第8行示例:

(1)缓存报表的一个参数值,报表只有单个参数:

var paramsInfoList =['[{"id":"OutputParameter.I8a8a8dd5018377b877b829f3018388d960cb51af.Jira号","name":"Jira号","alias":"Jira号","value":"EPPR-55439","displayValue":"EPPR-55439"}]'];

(2)如果报表有多个参数,以两个为例,则两个参数会有排列组合的情况,以下是其中一个组合的示例:

var paramsInfoList =['[{"id":"OutputParameter.I8a8a8dd5018377b877b829f3018388d960cb51af.Jira号","name":"Jira号","alias":"Jira号","value":"EPPR-55439","displayValue":"EPPR-55439"},{"id":"OutputParameter.I8a8a8dd5018377b877b829f3018388d960cb51af.Jira号2","name":"Jira号2","alias":"Jira号2","value":"EPPR-55439","displayValue":"EPPR-55440"}]'];

(3)如果单个参数要缓存多个值:需要写数组,把多个参数组合放到数组中以逗号分隔。

var paramsInfoList =['[{"id":"OutputParameter.I8a8a8dd5018377b877b829f3018388d960cb51af.Jira号","name":"Jira号","alias":"Jira号","value":"EPPR-55439","displayValue":"EPPR-55439"}]','[{"id":"OutputParameter.I8a8a8dd5018377b877b829f3018388d960cb51af.Jira号","name":"Jira号","alias":"Jira号","value":"EPPR-55440","displayValue":"EPPR-55440"}]'];

注:可以通过新窗口打开报表并在url末尾加&debug=true再回车,此时查看F12的network,参考下图paramsInfo确定参数格式中各对象的属性和值:

3、在计划任务中通过sql语句查询出最新业务日期,拼接对应查询结果变量在参数对象中。
     通过计划任务查询sql可参考:计划任务执行DML、DDL语句
       
       


  • 无标签