1. 需求说明
需求的场景:用户在表元中填写“项目编码”,所填写“项目编码”不能与往期所有报表户填写过的相同,并且同一报表中也不能相同。
2. 问题分析
1、用户填写的编码不能与往期历史数据相同,首先要获取到往期数据,通过取数管理写数据库查询语句获得全部历史数据(编码);
2、同报表填写的编码不能重复,通过设置关键字表元来实现。
3. 解决方案
3.1 取数设置
在报表平台管理|取数管理添加分组并添加JDBC取数
如果想要相同报表户填写的“项目编码”不同即可,则再Sql中加上where条件:
select wm_concat(A2) a2 from IXJRW_B0 where userid_=<id>
3.2 设置审核公式审核,用于审核与往期项目编码不重复
3.3 设置相同报表填写的项目编码不相同
在变长表编辑区域空白区域右键打开属性,设置变长表关键字为“项目编码”表元,并勾选不允许代码表元/关键字重复。
4. 参考资料
相关参考资料
1.Oracle中的wm_concat函数,它的作用是以","连接字符;
2.MySQL中group_concat函数,用于连接字符,具体语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator "分隔符"])
更多参考资料:
http://www.cnblogs.com/appleat/archive/2012/09/03/2669033.html
请先登录