在参数框添加限制条件

表内的数据如下,我有两个参数框,一个是策略,一个是板块,类型设置我需要用数据库表的形式,如何进行筛选

image.pngimage.png

FineReport lincoder 发布于 2020-8-10 13:28 (编辑于 2020-8-10 13:52)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
吾姓独孤Lv6高级互助
发布于2020-8-10 13:58(编辑于 2020-8-10 14:01)

卡下条件就行了,做俩个数据集,分别给俩个参数用,

select enum_value from table where enum_type = '策略'

select enum_value from table where enum_type = '板块'

如果你一定要用数据字典的数据库表肯定是不行的,要不你就对应做个视图在数据库里,然后查对应视图

  • lincoder lincoder(提问者) 就是只能写数据集,不可以用数据库表哈
    2020-08-10 14:13 
  • 吾姓独孤 吾姓独孤 回复 lincoder(提问者) 就是你用数据库表的话,他只能选择某一列没办法过滤的,你们如果实在要求必须用数据库表,不能做多个数据集,你可以在数据库分别做俩个视图,然后数据库表选择视图
    2020-08-10 14:15 
  • lincoder lincoder(提问者) 回复 吾姓独孤 用数据查询也行,但是不能写两个数据集,写一个数据集有办法吗?
    2020-08-10 14:22 
  • 吾姓独孤 吾姓独孤 回复 lincoder(提问者) 写一个也行啊,你要同时查俩个还是同时只能查一个呢,同时查俩个你union 起来就行
    2020-08-10 14:23 
  • 吾姓独孤 吾姓独孤 回复 lincoder(提问者) 你俩个字段没有关联,直接union all 俩个数据集就行吧,分别设置成俩个字段就行, select enum_value AS 策略, null AS 板块 from table where enum_type = \'策略\' UNION ALL select enum_value AS 板块, null as 策略 from table where enum_type = \'板块\'
    2020-08-10 14:25 
最佳回答
0
ScyalcireLv7中级互助
发布于2020-8-10 13:30

如果你需要两个参数之间互相影响的话 ,就写在一个数据集里  

如果不想互相影响 你就分开写数据集,然后绑定

  • lincoder lincoder(提问者) 不是相互影响的,你看下当enum_type=板块时,enum_value=参数名为板块的下拉框的下拉值 当enum_type=策略时,enum_value=参数名为策略的下拉框的下拉值
    2020-08-10 13:35 
  • Scyalcire Scyalcire 回复 lincoder(提问者) 那你这个意思就是相互影响 select enum_type,enum_value from dm.dim_irpa_enum 然后你的两个参数框,都绑定这个数据集就行了,当你enum_type=板块时,后面一个搜索框会自动出来对应板块的值的
    2020-08-10 13:50 
  • lincoder lincoder(提问者) 回复 Scyalcire 看下我发的图片,我希望板块的下拉值为下面的那个图片里的值,策略的为上面的,他们没有关联关系
    2020-08-10 13:53 
  • Scyalcire Scyalcire 回复 lincoder(提问者) 方法很多 ,你报表主体的sql只要select后面加上这两个字段,然后where里面写好这两个参数,分别绑定你报表主体sql中的这两个字段就行了 这样的话 当你一个参数选了板块,后面一个参数自动会过滤
    2020-08-10 14:08 
  • lincoder lincoder(提问者) 回复 Scyalcire 具体应该怎么写?可以写下吗?没台看懂
    2020-08-10 14:23 
最佳回答
0
P.anyuLv4初级互助
发布于2020-8-10 14:07

select enum_value from table where 1=1


${if(参数='策略','and enum_type = "'+参数+'"','and enum_type="模块"')}


  • lincoder lincoder(提问者) en....明白捏的这个意思了,就是我怎么把组件名称传入这个sql啊
    2020-08-10 14:21 
  • 4关注人数
  • 428浏览人数
  • 最后回答于:2020-8-10 14:07
    请选择关闭问题的原因
    确定 取消
    返回顶部