1. 描述
设计报表的时候经常用到分组功能,默认设置的分组是整个扩展出来的数据列都是分组的,如何实现部分数据分组,部分数据不分组呢
如下,当城市为空时,不分组,也就是列表显示
2. 思路
利用分组高级属性,通过公式将指定数据转化不一样的数据,达到不分组的目的。
3. 解决步骤
1)创建数据集:SELECT 城市,性别,姓名 FROM 雇员
2)报表设计如下:
其中 C2 放的是姓名字段,数据设置为汇总>个数:
3)选中 A2 单元格,数据设置为分组-高级,然后点击自定义
4)选择公式分组-普通分组,然后自定义值:if(len($$$)==0,seq()+"*",$$$)
注:使用seq()公式是用来生成不同的值的,拼接上*号是为了后面更方便找出这个处理过的值。
5)选择 A2 单元格,设置条件属性,当当前值结尾是*号时,新值为空
4. 预览效果
5. 已完成模板
已完成模板可参考:%FR_HOME%\webroot\webapps\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\分组情况下指定数据列表显示.cpt