我正在创建一个条形图,其中值是AVE_ZSCORE字段的最大值,并且这被设置为“在更改时”PARTICIPANT_CODE字段。在任何特定情况下,我在此图表中最多可以有250条记录,因此我需要将图表拆分为多个页面。但是,这些记录是动态的,可以在150到250条记录之间。
我已经在这个帖子http://www.tek-tips.com/viewthread.cfm?qid=1257385中尝试了解决方案,并且我按照我的理解遵循了指令(请记住,我对Crystal Reports很新)。我创建了一个公式,将其插入详细信息部分,然后我将其抑制,然后在该公式上插入一个组,并将图表插入组页脚部分。我正在使用的公式(我称之为“图表”)来测试4条记录:
WhileReadingRecords; numbervar cnt:= cnt + 1; 如果cnt在1到2之后则为1 如果cnt在3到4然后2
我的问题是输出的结果是以下3个图形而不是2个图形,每个图形包含2个记录:
组输出1.00,只有一条记录(BB)
组输出2.00,也只有一条记录,即 上图(BB)的相同记录
如果我将公式更改为显示如下:
WhileReadingRecords; numbervar cnt:= cnt + 1; 如果cnt在1到4然后是1
然后输出变为
首先,我不了解我正在使用的公式或它是如何工作的,其次我不知道如何使其工作,以便我可以轻松指定每个图表的列数
答案 0 :(得分:0)
不幸的是,如果不完全了解您的报告布局,很难说些什么。一些截图很简单。如果没有指定,我希望您的报告中只有一个(提及的)组。
为了实现目标,您应该像不同的组值一样多次渲染图表。这是组的细节部分的呈现方式。不是页脚或标题。由于无法将图表添加到详细信息部分,因此应创建其他虚拟组。因此,结果会有两组:
第2组可以基于与组#1 相同的公式(或任何其他公式/字段,它不应该重要)。
顺便说一句,而不是手动计算计数,就像你的代码一样
WhileReadingRecords; numbervar cnt := cnt + 1;
您可以在要控制的任何字段上使用正在运行的总字段,其中包含摘要类型 count 。这些字段非常可定制,所以你喜欢它们。