Crystal Reports 2008 中的单个条形图需要多个页面

Posted

技术标签:

【中文标题】Crystal Reports 2008 中的单个条形图需要多个页面【英文标题】:Require multiple pages for a single bar chart in Crystal Reports 2008 【发布时间】:2012-10-06 10:47:53 【问题描述】:

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

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

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

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

    0.00 的组输出,其中包含所有 4 条记录(B2、BB、KK、MM) 一张图

    一组输出 1.00,只有一条记录 (BB)

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

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

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

那么输出就变成了

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

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

【问题讨论】:

【参考方案1】:

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

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

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

Group #2 可以基于与 group #1 相同的公式(或任何其他公式/字段,这无关紧要)。


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

    WhileReadingRecords; numbervar cnt := cnt + 1; 

您可以在要控制的任何字段上使用运行总计字段,并带有摘要类型count。此类字段非常可自定义,因此您会喜欢它们。

【讨论】:

以上是关于Crystal Reports 2008 中的单个条形图需要多个页面的主要内容,如果未能解决你的问题,请参考以下文章

Crystal Reports for VS 2008 - “找不到用户函数管理器DLL(ufmanager.dll)。”

有人知道关于 Crystal Reports for Visual Studio 工作原理的好教程吗? [关闭]

Crystal Reports中的条件总和?

Crystal Reports中的证书错误

使用 RESTful Web 服务的结果作为 Crystal Reports 中的数据

RDLC vs Crystal Reports vs任何其他免费:我正在运行Informix并使用C#4.0