Crystal Reports 2008:抑制细节时抑制组标题

时间:2014-02-27 21:24:36

标签: crystal-reports crystal-reports-2008

我的报告目前以下列格式显示数据:

GROUP HEADER
January      Meter Number      Name       Class      Facility ...
...
December     MeterNumber       Name       Class      Facility ...

GROUP HEADER
January      Meter Number      Name       Class      Facility ...
...
December     MeterNumber       Name       Class      Facility ...

我在细节线上有一个条件抑制公式,如果其中一个字段值高于特定值,它将抑制记录。如果我压制Group Header行,一切都很好,但我只是得到一长串的记录 这不应该被压制。我想让群组标题可见,以便报告更容易阅读。问题是,当我将条件抑制公式添加到组标题行时,它只查看组中的第一个记录。如果该记录被抑制,那么Group Header也是如此,但可能有3个月的记录不应被禁止,所以我仍然希望显示Group Header。相反,我得到的是以下内容:

March      10003      Name       Class      Facility ... //Notice no Group Header
April      10003      Name       Class      Facility ...
December   10003      Name       Class      Facility ...

Group Header
January    10004      Name       Class      Facility ...
March      10004      Name       Class      Facility ...
February   10005      Name       Class      Facility ...   //Notice no Group Header
March      10005      Name       Class      Facility ...

由于米数10003和10005的1月份被抑制,因此组头也被抑制。我尝试将Group Header放在详细信息行上,因为它在每一行打印Group Header,然后我格式化该字段并禁止重复,并且它再次做同样的事情。它仅显示未抑制1月记录的组标题。这不会是一个大问题,但我会在压制后处理1000多条记录。

我已经搜索了两天的解决方案无济于事。有什么方法可以查看组中的所有记录而不仅仅是第一条记录来抑制?

编辑:对于那些为什么我需要在该表中的所有细节都已被抑制时需要抑制组头的问题,这是因为如果我不这样做,那么我得到以下内容:

10003
10004
January    10004      Name       Class      Facility ...
March      10004      Name       Class      Facility ...
10005
February   10005      Name       Class      Facility ...   
March      10005      Name       Class      Facility ...
10006
10007
10008...

换句话说,在我看到一个具有实际细节的页面之前,我会得到一些只有组头的页面。

2 个答案:

答案 0 :(得分:3)

为了便于说明,我将假设抑制“细节”部分的逻辑包含在公式{@SuppressDetails?}中。现在,创建一个新的公式,在该部分被抑制时输出1,否则输出0:

if {@SuppressDetails?} then 1 else 0

将此新公式放在“详细信息”部分中并禁止它。现在,创建Group Header抑制公式,以便将抑制的Details部分的数量与该组中的记录总数(即{table.MeterNumber}组)进行比较:

count({@SuppressDetails?},{table.MeterNumber}) = sum({SuppressDetails?},{table.MeterNumber})

答案 1 :(得分:1)

我实际上找到了自己的方法,我现在更喜欢这样做。它与@ryan发布的非常相似。

我首先创建了一个公式字段,当满足条件时返回1,并且我将条件设置为细节级别抑制的相同条件。我把那个字段放在了细节层面,然后我就把它压了。

然后,我创建了一个汇总字段,用于汇总该字段对该字段的总结。并将该字段放入组摘要中并将其抑制。然后,我向该组添加了一个抑制规则,该规则表明如果该摘要字段小于1,则也会抑制组摘要。

中提琴