online报表 动态参数 === > 概述:Online报表支持在sql中配置参数,然后访问报表的时候,通过URL传递参数值。 [TOC] 示例配置步骤: ## 1.创建带参报表 定义一个带参数的online报表,如下图 >[info] 提醒:SQL解析成功则会自动在`动态报表配置明细`中生成字段信息、在`报表参数`中生成参数信息。 * 报表配置字段如下: ![](https://img.kancloud.cn/0e/29/0e290ea09ee2059e189c31e6f9cce869_1888x860.png) * 报表参数如下:也可给参数设置默认值 ![](https://img.kancloud.cn/0f/9b/0f9b2e800292973966ec41cbd38fe3e8_1778x568.png) * SQL如下: `select name,age,birthday,sex from demo where sex='${sex}'` ## 2.获取带参数访问地址 进入online报表列表页面,找到上述新增的报表,点击更多项中`配置地址`,在弹出框中点击复制,即可拿到访问该报表的地址 ![](https://img.kancloud.cn/43/ea/43ea59230c20be0009bca409d20ff189_1883x652.png) ![](https://img.kancloud.cn/d1/64/d1649826a442d67a7c15164397619b94_720x277.png) ## 3.将参数替换成真实值 拿到参数地址为:/online/cgreport/aa48a426ed5b46dd9224e68acf4a90d8?sex=${sex} ,只需要将${sex}替换成需要传入的值即可,如下例 ![](https://img.kancloud.cn/d8/6d/d86ddef90ab76448282d38005699b235_1859x887.png) ## 附录:常见问题 ### 遇到Sql解析失败怎么办? >[info] 若sql解析失败,请检查SQL语句是否使用了复杂函数 或 在函数中定义了动态参数等 如 `name like concat('%','${username}','%') ` 目前Sql解析功能较弱,如果sql遇到这种情况怎么办?方案如下 > 1.将该条件去掉,解析sql > 2.待sql解析完成再拼上去 > 3.在报表参数tab下,手工新增一个参数名为username 对应${username}