Skip to end of metadata
Go to start of metadata

场景

制作好的报表嵌入到第三方系统中,通过在参数中添加参数,动态展示报表呈现的数据

 

【先决条件】

假设带参数的报表URL为:

http://mbi.abc.com/view/report.do?reportId=d908e050c2f54de7bfb5466232bc7b00&尺寸=XXL&颜色=红色

 

【建立数据表】

这里有两种方案建立数据表,分别应对两种场景:

  1. 直接在SQL中使用参数变量





  2. 使用脚本获取变量

    使用脚本可应用于以下场景:

    (1). 可以对参数做逻辑判断

    (2). URL中传递过来的是第三方系统的token,将token作为参数调用一个第三方接口,根据返回值来动态拼接SQL,对数据进行过滤(例如过滤机构、地区、门店编码等数据)


    importPackage(java.util); 
    var sqlStr = []; 
    sqlStr.push("select * from 	jiaoyimingxi ");
    var size=request.getParameter("尺寸");
    var color=request.getParameter("颜色"); 
    logger.error("size: "+size);
    if(size == null){
        size = "XXL";
    }
    if(color == null){
        color = "红色";
    }
    sqlStr.push(" where "); 
    sqlStr.push(" 尺寸 = '"); 
    sqlStr.push(size); 
    sqlStr.push("'"); 
    sqlStr.push(" and 颜色 = '"); 
    sqlStr.push(color); 
    sqlStr.push("'"); 
     
    var sql = sqlStr.join(""); 
    result.setSuccess(true); 
    result.setData(sql);



注意:数据表必须要设置为“实时”

 

 

 

  • No labels