【问题标题】:Crystal Reports crosstab水晶报表交叉表
【发布时间】:2010-09-30 15:42:15
【问题描述】:

我是水晶报告的新手,所以这对你来说可能是新手。

我创建了一个交叉表,右侧有行总计。如何添加额外的列来显示行的平均值。我正在使用 Crystal 报表 2008

这是一个交叉表的粗略示例 - 如何插入平均列?谢谢

        New York   Chicago     Boston     Total       Average   

总销售额

【问题讨论】:

    标签: crystal-reports crosstab


    【解决方案1】:

    Crystal 不允许您在同一分组级别向交叉表添加其他列,并且它会在所有汇总级别重复任何汇总值。但是,以下应该可以实现您想要的:

    1. 创建一个虚拟公式,设置为一个常数值(例如“”)。
    2. 在 Cross-Tab Expert 中,将您的虚拟公式作为第一项添加到列项列表中。
    3. 在 Cross-Tab Expert 中,您应该已经在 Summarized Fields 列表中找到了总销售额。将可用字段列表中的总销售额数字拖到汇总字段中,使总销售额总和在汇总字段中出现两次,突出显示第二个总和并单击更改汇总...按钮将汇总操作从总和更改平均。单击“编辑摘要”对话框中的“确定”按钮返回到“交叉表专家”,总销售额的总和和平均将列在“汇总字段”中,然后单击“确定”按钮以确认这些更改。
    4. 现在您将拥有一个交叉表,其中包含一个附加汇总列和每个汇总单元格中的两个汇总值。使用 Ctrl-Click 选择 Group Columns 中的所有平均值,右键单击并选择 Format Objects... 并选中 Suppress 选项。点击 OK - 这些值现在应该是灰色的。
    5. 使用 Ctrl 并单击选择总计列中的所有总计(但不是平均值)值,右键单击并选择设置对象格式...并选中抑制选项。点击 OK - 这些值现在应该是灰色的。
    6. 编辑总计列的文本框并将其更改为平均。
    7. 预览报告 - 现在您的总销售额右侧应该有一列平均总销售额。

    Crosstabs 确实不是 Crystal 的强项。

    【讨论】:

    • “Crosstabs 真的不是 Crystal 的强项。” --- 希望我能向我的老板表达这一点!
    • 有帮助,谢谢。我认为没有办法让虚拟“总计”出现在 其他列之前,而实际总计保持在右侧?我实际上是在尝试在左侧的两列中列出员工 + SSN。 (已经让它在一列中使用字符串连接,但这不利于 Excel 导出。)我可以使用“max”函数“提取”SSN,但据我所知,所有总列(真实或虚假)会一起出现。
    【解决方案2】:

    在后端而不是使用 Crystal 执行此操作。您希望 Crystal 进行尽可能少的数据操作,因为它是一种报告工具。

    【讨论】:

    • 我当然可以。但是如何在我的交叉表中插入一个额外的列来显示平均数
    • 忘记 Crystal 解决方案,使用任何您的后端工具(SQL Server?)来添加额外的 col(在第二个视图中,例如,在 SQL Server 中。)我假设你可以直接修改报表的数据源,但如果不能,您可以在另一个步骤中使用任何工具对其进行修改,然后再使用报表中的数据源。
    • OP 正在尝试使用交叉表,即。对数据进行透视。在这种情况下,通常最好在表示层(即此处为 Crystal)而不是数据层中执行此操作 - 即使 Crystal 的交叉表 suck
    • Beth...我同意您的观点 +1....另一方面,我公司的管理层指示我只使用 CR,以便同事可以编辑我的文件.因此,无视逻辑,在某些情况下您必须绕道而行。 (如果你能弄明白的话。)
    • 您仍将使用 CR,他们仍将能够编辑您的文件,您只是在上游执行交叉表步骤到您的数据源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 2013-02-14
    • 1970-01-01
    相关资源
    最近更新 更多