该宏示例在 V97上 验证通过
提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。
问题描述:
客户使用SQL数据集创建的灵活分析,使用{[]}默认非必选,打开报表查看参数默认显示“全部”两个字,但是直接导出Excel看参数是空的,而当先选个其他的值,然后再选全部的话,导出后就会显示全部
希望始终导出是有参数值的,包括默认“全部”两个字,如何实现?
实现方案:
通过宏处理可以实现效果:
类型:ClientSide(客户端宏) 对象:simpleReport 事件:onRender
function main(simpleReport, simpleReportContext) { //debugger; var needShowParam = ['区域']; var paramList = simpleReport.getParameterList(); for (var i = 0; i < needShowParam.length; i++) { var paramId = simpleReport.getParamIdByName(needShowParam[i]); if (isSetParam(paramList, paramId)) { simpleReport.setParamValue(paramId, '', '全部'); } } } function isSetParam(paramList, paramId) { for (var i = 0; i < paramList.length; i++) { if (paramList[i].id == paramId && paramList[i].value == '') { return true; } } return false; }