Crystal Reports中的多级分组

时间:2009-09-23 21:30:52

标签: crystal-reports

我有一个包含4列的报告

       ColumnA|ColumnB|ColumnC|ColumnD
Row1      A1     B1      C1       D1        
Row2      A1     B1      C1       D2        
Row3      A1     B1      C1       D1       
Row4      A1     B1      C1       D2       
Row5      A1     B1      C1       D1  

我确实喜欢基于4列进行分组,但是每行都有空间输出。

但是在这份报告中我想把输出作为,

       ColumnA|ColumnB|ColumnC|ColumnD
Row1      A1     B1      C1       D1        
Row2      A1     B1      C1       D2        
<-------------an empty space ----------->
Row3      A1     B1      C1       D1       
Row4      A1     B1      C1       D2       
<-------------an empty space ----------->
Row5      A1     B1      C1       D1 

我如何实现上述输出?

2 个答案:

答案 0 :(得分:0)

标准组将按如下方式对记录进行排序:

       ColumnA|ColumnB|ColumnC|ColumnD
Row1      A1     B1      C1       D1        
Row3      A1     B1      C1       D1       
Row5      A1     B1      C1       D1
Row2      A1     B1      C1       D2        
Row4      A1     B1      C1       D2   

由于您没有标准分组,因此另一种方法可能有效。你基本上想要D2值之后的空白行。只有在组末尾始终有D2值时,这才有效。

在主要部分

下创建一个新的空白详细信息部分
Detail one
    A1     B1      C1       D1 
Detail two 
  <blank>  

然后在细节二上放置条件抑制表达式

ColumnD <> "D2"

然后,只要存在D2,就会显示空白详细信息部分。

答案 1 :(得分:0)

您可以使用公式代替字段值进行分组。

select Column4 <br>
case D1 : "Group1"<br>
  case D2 : "Group2"<br>
  case D3 : "Group3"<br>
  case D4 : "Group3"<br>
  case D5 : "Group3"<br>
  case D6 : "Group4"<br>
default "Group5"<br>

这是你的问题吗?

空行可以生成为组尾。