在水晶报表分组中,只显示一行重复的字段值
2010-04-17 20:20
369 查看
在水晶报表中,分组后,有些数据的字段是重复的,只显示一个就行了,那如何来解决这个问题呢?
其实这个不是很难,关键是你要想清楚你要的效果,基本思路是:用一个公式字段来记录每一组的记录数量,再用一个字段记录当前记录序号,比较两个的值,并对第一列字段进行显示抑制! 以下以示例逐步说明其设计过程:
1,下图是我的一个表,在进行此项设计前,样式如下(注意第一列的“类型”字段)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/xwdd129/90105/o_Snap1.bmp)
2,新建公式字段(formula Fields),命名aaa,输入公式:Count ({oi.type2}, {oi.type1}), 此公式的意思是,我们以{oi.type1}字段为计数条件,来对{oi.type2}字段进行计数。其实我们可以任选一个字段进行记录条数的统计;
3,新建运行总计字段(Running Total Fields),也命名aaa,汇总字段选{oi.type1},汇总类型选计数,重置中选“组更改时”,其中的组名就取默认即可;
4,右键点击详细资料节里的第一列字段--->格式化,勾选抑制显示,并输入公式:
if {@aaa} mod 2 = 0 then
if ({#aaa} = Round({@aaa}/2)+1) then false else true
else if ({#aaa} = Round({@aaa}/2)) then false else true
![](http://p.blog.csdn.net/images/p_blog_csdn_net/xwdd129/90105/o_Snap2.bmp)
注:@aaa刚才建立的公式字段,#aaa则是刚才建立的运行总计字段
5,再运行看看效果,是不是出来了!
![](http://p.blog.csdn.net/images/p_blog_csdn_net/xwdd129/90105/o_Snap3.bmp)
当然还有种情况就是在分组后抑制重复显示数据
以字段A分组,再以字段B分组,显示字段放在字段B分组中
例如 字段A,字段B,字段C,字段D
A1 B1 C1 D1
A1 B1 C2 D2
A1 B2 C3 D3
A1 B2 C4 D4
在公式字段中命名为aa Count ({字段A}, {字段A}),
2,新建公式字段(formula Fields),命名bb,输入公式:Count ({字段A}, {字段A}), 此公式的意思是,我们以{字段A}字段为计数条件,来对{字段A}字段进行计数。其实我们可以任选一个字段进行记录条数的统计;
3,新建运行总计字段(Running Total Fields),也命名aaa,汇总字段选{字段A},汇总类型选计数,重置中选“组更改时”,其中的组名就取默认即可;
4,右键点击详细资料节里的第一列字段--->格式化,勾选抑制显示,并输入公式:
{#bb}>1
得到结果如下
字段A,字段B,字段C,字段D
A1 B1 C1 D1
C2 D2
B2 C3 D3
C4 D4
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xwdd129/archive/2007/08/03/1724872.aspx
其实这个不是很难,关键是你要想清楚你要的效果,基本思路是:用一个公式字段来记录每一组的记录数量,再用一个字段记录当前记录序号,比较两个的值,并对第一列字段进行显示抑制! 以下以示例逐步说明其设计过程:
1,下图是我的一个表,在进行此项设计前,样式如下(注意第一列的“类型”字段)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/xwdd129/90105/o_Snap1.bmp)
2,新建公式字段(formula Fields),命名aaa,输入公式:Count ({oi.type2}, {oi.type1}), 此公式的意思是,我们以{oi.type1}字段为计数条件,来对{oi.type2}字段进行计数。其实我们可以任选一个字段进行记录条数的统计;
3,新建运行总计字段(Running Total Fields),也命名aaa,汇总字段选{oi.type1},汇总类型选计数,重置中选“组更改时”,其中的组名就取默认即可;
4,右键点击详细资料节里的第一列字段--->格式化,勾选抑制显示,并输入公式:
if {@aaa} mod 2 = 0 then
if ({#aaa} = Round({@aaa}/2)+1) then false else true
else if ({#aaa} = Round({@aaa}/2)) then false else true
![](http://p.blog.csdn.net/images/p_blog_csdn_net/xwdd129/90105/o_Snap2.bmp)
注:@aaa刚才建立的公式字段,#aaa则是刚才建立的运行总计字段
5,再运行看看效果,是不是出来了!
![](http://p.blog.csdn.net/images/p_blog_csdn_net/xwdd129/90105/o_Snap3.bmp)
当然还有种情况就是在分组后抑制重复显示数据
以字段A分组,再以字段B分组,显示字段放在字段B分组中
例如 字段A,字段B,字段C,字段D
A1 B1 C1 D1
A1 B1 C2 D2
A1 B2 C3 D3
A1 B2 C4 D4
在公式字段中命名为aa Count ({字段A}, {字段A}),
2,新建公式字段(formula Fields),命名bb,输入公式:Count ({字段A}, {字段A}), 此公式的意思是,我们以{字段A}字段为计数条件,来对{字段A}字段进行计数。其实我们可以任选一个字段进行记录条数的统计;
3,新建运行总计字段(Running Total Fields),也命名aaa,汇总字段选{字段A},汇总类型选计数,重置中选“组更改时”,其中的组名就取默认即可;
4,右键点击详细资料节里的第一列字段--->格式化,勾选抑制显示,并输入公式:
{#bb}>1
得到结果如下
字段A,字段B,字段C,字段D
A1 B1 C1 D1
C2 D2
B2 C3 D3
C4 D4
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xwdd129/archive/2007/08/03/1724872.aspx
相关文章推荐
- 水晶报表分组统计中如何让字段值居中显示
- [转]分组报表中,如何让组名字段只显示中间的一行 [http://blog.csdn.net/xwdd129/archive/2006/05/29/760661.aspx]
- 分组报表中,如何让组名字段只显示中间的一行
- 分组报表中,如何让组名字段只显示中间的一行
- 分组报表,组名字段只显示中间一行(转)
- 水晶报表不显示字段描述
- 在水晶报表中实现任意选择指定字段显示
- 水晶报表分组分页且每页最多显示N条记录
- 在水晶报表中实现任意选择指定字段显示 (vb.net vs2003)
- 水晶报表中文本型长字段的等宽显示的问题解决.ASP.NET2005
- 在水晶报表中实现任意选择指定字段显示-模板及C#升级版
- 在水晶报表里用多个字段同时分组时的情况
- 水晶报表中除去某数字类型字段小数点后多余的零 及 在小数点前零不显示的解决方案
- 水晶报表使用经验谈3--在报表中显示多个表的字段(通过表关联)
- 在水晶报表中实现任意选择指定字段显示(补充)-格线的实现
- 水晶报表字段拼接显示
- [水晶报表]分组时控制每页显示的组数目
- 水晶报表中实现任意指定字段显示
- 在水晶报表中实现任意选择指定字段显示 (阿泰)
- [转]在水晶报表中实现任意选择指定字段显示