这个参数条件怎么写

 ${if(len(fine_role) =='超级全部',"","and (role_name='"+fine_role+"'  or len(fine_role)='普通人员' AND    fine_admin_name='$fine_username'  ")}

 ${if(len(fine_role) =='超级全部',"","and (角色字段='"+fine_role+"'  or 角色字段='普通人员' AND    '帆软账号字段'='$fine_username'  ")}

参数是这样的,如果角色=超级全部(全部的数据),角色字段=决策系统的角色(部分数据),如果角色字段='普通人员'  ,帆软账号字段=决策系统人员账号

FineReport 魏先生和魏 发布于 2022-2-21 15:38
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-2-21 15:41(编辑于 2022-2-21 17:15)

没有太理解你的逻辑

角色字段=决策系统的角色(部分数据    这是什么意思。。部分数据?是角色的名称直接就是这个    角色字段=决策系统的角色(部分数据)?? 

${if(fine_role ='超级全部',"",  if(fine_role ='稍高的领导',"and role_name='"+fine_role+"'",if(fine_role ='普通人员',"AND  fine_admin_name='"+fine_username+"'","")))}

  • 魏先生和魏 魏先生和魏(提问者) 比如决策系统上有个角色叫一级领导 ,这个一级领导对应数据库里边的一级领导,他是要看全部的数据 ,还有另个角色二级领导,让数据库角色等于二级领导他能看到某一部分的数据。如果是三级领导角色,让他们看自己的数据,数据库人员账号匹配决策系统的账号
    2022-02-21 16:43 
  • CD20160914 CD20160914 回复 魏先生和魏(提问者) 你的数据库有没有存这个角色字段呢???
    2022-02-21 16:46 
  • 魏先生和魏 魏先生和魏(提问者) 回复 CD20160914 有帆软账号,有角色名称 ,就是写参数怎么和系统上的账号和角色进行匹配
    2022-02-21 16:55 
  • CD20160914 CD20160914 回复 魏先生和魏(提问者) 你现在最终的需求是要做什么,其实没有完全你最上面所表达的意思。反正公式我看了是不对的。具体要做什么没有很明白。你截图出来说一下。。最终要什么效果
    2022-02-21 16:57 
  • 魏先生和魏 魏先生和魏(提问者) 回复 CD20160914 我想要 人员登录自己的账号,能看到自己的数据。 如果稍微高的领导登录账号,看一部分的数据. 很高的领导登录账号,直接看全部的数据
    2022-02-21 17:03 
最佳回答
1
晓亮Lv7资深互助
发布于2022-2-21 16:10(编辑于 2022-2-21 17:26)

${if(fine_role == '超级全部',"",if(fine_role =='普通人员',"and 帆软账号字段 = '"+fine_username+"'","and 帆软角色 = '"+finr_role+"'"))}

image.png

  • 魏先生和魏 魏先生和魏(提问者) 帆软角色 这个字段报无效标识错误,但是数据库有这个字段啊
    2022-02-21 16:53 
  • 魏先生和魏 魏先生和魏(提问者) SELECT a.DEPARTNAME_TWO as 渠道, seriale_num, role_name, sum(SUM_NUM) as 总数, sum(MON_NUM) as 本月客户数, sum(last_mon_num) as 上月客户数, sum(last_year_mon_num) as 去年同期客户数 FROM ADS_ACCOUNT_ALL_NUM_ALL a left JOIN FINE_CUSTOM_ROLE_1 b ON a.PHONE_NUM =b.PHONE_NUM where SUBSTR(a.YEAR_MONTH, 0,4)= \'${year}\' and SUBSTR(a.YEAR_MONTH, -2,2)= \'${month}\' and nvl(a.AREA,\'无\') in(\'${area}\') AND a.LABEL_DES in (\'${LABEL_DES}\') and NVL(a.PARENTDEPARTNAME,\'无\') in (\'${PARENTDEPARTNAME}\') and NVL(a.DEPARTNAME_TWO,\'无\') in (\'${DEPARTNAME_TWO}\') ${if(fine_role == \'超级全部\',\"\",if(fine_role==\'普通人员\',\"and fine_admin_name = \'\"+fine_username+\"\'\",\"and role_name = \'\"+fine_role+\"\'\"))} GROUP BY a.DEPARTNAME_TWO,seriale_num,role_name ORDER BY seriale_num ASC
    2022-02-21 16:54 
  • 晓亮 晓亮 回复 魏先生和魏(提问者) 这不是叫role_name 吗
    2022-02-21 16:59 
  • 魏先生和魏 魏先生和魏(提问者) 回复 晓亮 role_name 是我表的字段名
    2022-02-21 17:00 
  • 晓亮 晓亮 回复 魏先生和魏(提问者) 你肯定是写你表的字段名啊,fine_username 这几个是自带的参数。
    2022-02-21 17:05 
  • 3关注人数
  • 446浏览人数
  • 最后回答于:2022-2-21 17:26
    请选择关闭问题的原因
    确定 取消
    返回顶部