(本文档仅供参考,请根据实际情况进行调整)
问题:
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语句