7

我正在创建一个条形图,其中的值是 AVE_ZSCORE 字段的最大值,并将其设置为 PARTICIPANT_CODE 字段的“更改时”。在任何给定的情况下,此图表中最多可以有 250 条记录,因此我需要将图表拆分为多个页面。然而,这个记录数是动态的,可以在 150 到 250 条记录之间。

我已经在这个线程http://www.tek-tips.com/viewthread.cfm?qid=1257385中尝试了解决方案,并且我已经按照我的理解尽可能地遵循了说明(请记住,我很新水晶报表)。我创建了一个公式,将其插入到详细信息部分,然后将其隐藏,然后在该公式上插入一个组,并将图表插入组页脚部分。我目前使用的公式(我称之为“图表”)在 4 条记录上进行测试是:

同时阅读记录;numbervar cnt := cnt + 1; 如果 cnt 在 1 到 2 中则为 1 否则如果 cnt 在 3 到 4 中则为 2

我的问题是,它的输出导致以下 3 个图表,而不是 2 个图表,每个图表包含 2 条记录:

  1. 一组输出为 0.00,在一个图中包含所有 4 条记录(B2、BB、KK、MM)
  2. 1.00 的组输出,其中只有一条记录 (BB)

  3. 2.00 的组输出,它也只有一条记录,与上一张图 (BB) 的记录相同

如果我将公式更改为如下所示:

同时阅读记录;numbervar cnt := cnt + 1; 如果 cnt 在 1 到 4 然后 1

然后输出变为

  1. 一组输出为 0.00,在一个图中包含所有 4 条记录(B2、BB、KK、MM)
  2. 一组输出 1.00,有一条记录 (BB)

所以首先,我不明白我正在使用的公式或它是如何工作的,其次我不知道如何让它工作,这样我就可以轻松地指定每个图表的列数

4

1 回答 1

0

不幸的是,如果不完全了解您的报告布局,就很难说些什么。一些截图会很容易。由于尚未具体说明,我希望您的报告中只有一个(提到的)组。

为了实现您的目标,您应该根据不同的组值多次渲染图表。这就是组的详细信息部分的呈现方式。不是页脚或页眉。由于无法将图表添加到详细信息部分,因此应创建额外的虚拟组。所以结果将有2组:

  • 外部组 ( #1 ) 将基于您的公式字段并且没有页眉/页脚
  • 内部组 ( #2 ) 将用于在页眉或页脚中显示图表

第 2 组可以基于与第 1 组相同的公式(或任何其他公式/字段,没关系)。


顺便说一句,而不是像在您的代码中那样手动计算计数

    WhileReadingRecords; numbervar cnt := cnt + 1; 

您可以使用Running total fields ,在您想要控制的任何字段上使用汇总计数类型。此类字段非常可定制,因此您会喜欢它们。

于 2015-07-23T13:37:14.657 回答