如何根据多个查询参数,展示不同报表

  如图所示  我想根据省份(是否为空)、地市(是否为空)、统计范围的组合展示不同的报表,

例如:1.省份为空,地市为空,统计范围为省际展示一种报表

          2.省份不为空,地市为空,统计范围为省内互寄展示一种报表

           等等。

(备注:已经尝试过根据条件属性,展示不同列头,但由于数据量过大,同时执行多个查询sql数据库压力太大,不能满足当前需求)

还请各路大神帮帮忙!

BOL]M)OI1]~UEX4ZIMGBI`L.png

FineReport 宇宙无敌小可爱 发布于 2018-11-19 11:04 (编辑于 2018-11-19 11:05)
1min目标场景问卷 立即参与
回答问题
悬赏:9 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
touyuan001Lv6中级互助
发布于2018-11-19 11:18(编辑于 2018-11-21 13:14)

$(if(参数==值1," 条件1 or 字段1",""))

用上面的写法,判断参数值,判断条件可以用  

A=1 && B =2  

A=1 || B =2  

&&表示并且关系

||是或者关系 



WorkBook8.cpt

你看看这个模板,是一个例子,完全满足你的要求,估计是你想得太复杂了

  • 宇宙无敌小可爱 宇宙无敌小可爱(提问者) sql我会 但是我该怎么让点击查询按钮时,参数值和展示的报表(或者说列头)建立联系呢
    2018-11-19 11:22 
  • touyuan001 touyuan001 回复 宇宙无敌小可爱(提问者) 条件属性 当条件满足时 来设置列宽为0 就可以达到隐藏效果
    2018-11-19 11:24 
  • touyuan001 touyuan001 回复 宇宙无敌小可爱(提问者) 或还有一种方法 就是列头上面写上公式,不根据不同的参数条件 显示不同的表头 =if(参数1=值1 ,\"表头名1\",\"表头名2\")
    2018-11-19 11:25 
  • 宇宙无敌小可爱 宇宙无敌小可爱(提问者) 这种方法尝试过啦,同时执行多个查询sql数据库压力太大,不过还是谢谢啦
    2018-11-19 11:47 
  • touyuan001 touyuan001 回复 宇宙无敌小可爱(提问者) 为什么是同时执行多个查询。。。。。 如果你是多个数据集的话,在每表个的后面加上一个条件 $(if(参数==值1,\"\",\"and 1=2\")) 就是满足参数条件的时候 什么都不做,不满足的时候 加上 and 1=2 那么这个数据集就不会再继续执行了。并不会压力过大。
    2018-11-19 11:55 
最佳回答
0
toorLv2见习互助
发布于2018-11-19 11:19


不是和这个效果是一样的么?http://help.finereport.com/doc-view-165.html


最佳回答
0
孤陌Lv6资深互助
发布于2018-11-19 11:29

用聚合报表  一个报表块一个报表 然后隐藏起来 其他你不需要的就好了

  • 5关注人数
  • 3716浏览人数
  • 最后回答于:2018-11-21 13:14
    请选择关闭问题的原因
    确定 取消
    返回顶部