将分组记录分成单独的视图列

时间:2010-09-09 14:58:27

标签: crystal-reports

我有一个水晶报告,在一个字段上有一个子组。输出显示每组 - 详细信息垂直堆叠如下:

  Group Header Value 1 
  Detail 1a 
  Detail 1b 
  ....

  Group Header Value 2 
  Detail 2a 
  Detail 2b 
  .....

 and so on.

 What I need to see is the detail values in table columns as follows:

 Group Header Value 1     Group Header Value 2     Group Header Value 3
 Detail 1a                Detail 2a                Detail 3a 
 Detail 1b                Detail 2b                Detail 3b
 Detail 1c                                         Detail 3c
                                                   Detail 3d

我尝试使用多列格式化详细信息部分,并使用多列格式化组,但这只是一团糟。我知道我最多只有4个不同的Group值。

有什么建议吗?

感谢。

2 个答案:

答案 0 :(得分:1)

Crystal不是那么垂直地显示项目,但这里有几个我能想到的选项:

  1. 构建4个数组,每个数组对应一个组,并包含您希望为每个记录输出的字符串(“Detail 1a”的一个数组元素,“Detail 2b”的一个数组元素等) 。您可以通过在详细信息部分中创建单个公式来检查组条件的各个记录,并将值添加到相应的数组中。
    在报表页脚中,创建4个公式,输出由换行符分隔的其中一个数组的全部内容。如果你的数组包含字符串,你可以简单地使用Join()函数输出带分隔符的整个东西。确保将这些公式字段设置为“可以增长”并将它们并排放置
    这方面的缺点是Crystal数组限制为1000个元素,因此如果每组有超过1000条记录,这是一个坏主意。

  2. 您可以为每个组制作4个单独的子报告,并将它们并排放置。我之前从未尝试过这样的事情,所以可能会有一些我不考虑的怪癖。但是,一般情况下,您应该能够在子报表中放置您想要的任何内容,只要它在宽度方向上不会变得太大(您可以在子报表中手动指定非常小的页面大小以确保这一点) ),它看起来应该与你将它们放在主报告中的方式相同

答案 1 :(得分:0)

如果我正确理解了这个问题,您希望以类似于数据透视表的格式实现报告(可以在Excel中找到)。

与此相当的Crystal称为交叉表 - 您可以通过选择“插入”>“交叉表...”将一个添加到报表中。这将打开Cross-Tab Expert,它使您能够将要查看的字段和整个页面拖放到适当的位置。