【问题标题】:Inserting Missing Dates into Crystal Report在 Crystal Report 中插入缺失的日期
【发布时间】:2011-02-25 17:31:11
【问题描述】:

我正在使用 Crystal Reports 10。

在我的数据库中,我有每个日期的生产值。有一个日期列和一个数量列。当我对此运行报告时,报告上的日期对应于数据库中的日期,但我希望报告显示每个日期,如果没有值则为 0。这可以在举报?

日期是一个隐藏细节的组字段。数值是放在组标题中的详细信息的总和,如果这有区别的话。

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    您有 2 个问题。

    1. 要为空值显示 0,您可以进入选项菜单并“将数据库空值转换为默认值”
      或者,您可以使用此代码创建一个新公式并使用if isnull({Table1.Amount}) then 0 else {Table1.Amount}。我推荐这个选项,因为它不会影响报告中的其他字段。

    2. 要显示每个日期,您应该在数据源中创建一个“帮助/索引”表,并将实际数据右连接到它。如果没有记录,Crystal 无法显示 01/07/2010 的数据。

    【讨论】:

    • 我无法更改数据库中的任何内容。我在这里找到了这个:tek-tips.com/viewthread.cfm?qid=1323926&page=392 但说明有点太复杂了,我无法适应我的需要。它确实表明我可以使用 Crystal 添加数据库中缺少的日期。
    • (我不能代表您找到的其他线程。它可能有效,也可能无效)。幸运的是,Crystal 接受来自多个不同数据库的输入。因此,在 Access DB 甚至 Excel 文件中创建您的“帮助”表。该帮助表将用作您报告的“索引”,即其他所有内容都可以正确连接到它。输入这些日期后,使用报告选择公式编辑器将其限制为感兴趣的日期,即 2010 年全年。
    • 我尝试过使用辅助表路由。我制作了一个 Excel 电子表格并将其添加到我的报告中并链接了这些字段。但是,右外连接显示为灰色。我在问题中添加了一张图片,说明了我当前的设置。在阅读了关于 JOINS 的信息后,左连接似乎也应该起作用,但事实并非如此。报告中出现的唯一日期是原始数据库中的日期。电子表格中的“附加”没有出现。
    • CR报告的excel字段的字段类型是DateTime,而数据库字段的字段类型是Date,这是否与此有关?
    • 快到了。尝试将分组字段从 {TransactionDate} 更改为 {Sheet1_.F1}。如果您仍然遇到问题,请尝试将“强制加入”更改为“未强制”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多